diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml deleted file mode 100644 index 5d6f7ee..0000000 --- a/.github/workflows/nightly.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: Nightly data update - -on: -# schedule: -# - cron: '0 4 * * *' - workflow_dispatch: - -permissions: - contents: write - issues: write - pages: write - id-token: write - -concurrency: - group: pages - cancel-in-progress: true - -jobs: - update-data: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: astral-sh/setup-uv@v7 - - run: uv python install 3.13 - - run: uv sync - - run: uv run preprocess - - run: uv run postprocess - - name: Validate data quality - id: validate - continue-on-error: true - run: uv run validate - - name: Commit and push if changed - if: steps.validate.outcome == 'success' - run: | - git diff --quiet data.json && exit 0 - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add data.json validation_report.json validation_report.csv - git commit -m "chore: nightly data update" - git push - - name: Create issue on quality gate failure - if: steps.validate.outcome == 'failure' - run: | - existing=$(gh issue list --label quality-gate --state open --limit 1 --json number -q '.[0].number') - if [ -n "$existing" ]; then - gh issue comment "$existing" --body "Quality gate failed again on $(date -u +%Y-%m-%d). See [workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})." - else - gh issue create \ - --title "Quality gate failure: nightly data update" \ - --label quality-gate \ - --body "The nightly data update failed the quality gate on $(date -u +%Y-%m-%d). - - **Action required:** Review the validation report and fix upstream data issues. - - See [workflow run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for details." - fi - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Fail workflow on quality gate failure - if: steps.validate.outcome == 'failure' - run: exit 1 - - deploy: - needs: update-data - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - uses: actions/checkout@v6 - - uses: actions/upload-pages-artifact@v4 - with: - path: . - - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 0000000..955c886 --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,26 @@ +name: Deploy preview + +on: + push: + branches: [dev] + +jobs: + preview: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - name: Create Cloudflare Pages project (if needed) + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages project create mxmap-ch-preview --production-branch=dev + continue-on-error: true + + - name: Deploy to Cloudflare Pages + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: pages deploy . --project-name=mxmap-ch-preview diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ab5f88f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,32 @@ +name: Create Release + +on: + push: + branches: [main] + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Determine tag + id: tag + run: | + base="v$(date -u +%Y.%m.%d)" + existing=$(git tag -l "${base}*" | wc -l | tr -d ' ') + if [ "$existing" -eq 0 ]; then + echo "tag=${base}" >> "$GITHUB_OUTPUT" + else + echo "tag=${base}.${existing}" >> "$GITHUB_OUTPUT" + fi + + - name: Create release + env: + GH_TOKEN: ${{ github.token }} + run: gh release create "${{ steps.tag.outputs.tag }}" --generate-notes diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..c310f31 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,35 @@ +# CLAUDE.md + +MXmap (mxmap.ch) — an automated system that classifies where ~2100 Swiss municipalities host their email by fingerprinting DNS records and network infrastructure. Results are displayed on an interactive Leaflet map. + +## Commands + +```bash +# Setup +uv sync --group dev + +# Run pipeline (two stages, in order) +uv run resolve-domains # Stage 1: resolve municipality domains +uv run classify-providers # Stage 2: classify email providers + +# Test +uv run pytest --cov --cov-report=term-missing # 90% coverage threshold enforced +uv run pytest tests/test_probes.py -k test_mx # single test +uv run pytest tests/test_data_validation.py -v # data validation (requires JSON files) + +# Lint & format +uv run ruff check src tests +uv run ruff format src tests +``` + +### Data Files + +- `overrides.json` — manual classification corrections with reasons +- `municipality_domains.json` — intermediate output from resolve stage +- `data.json` — final classifications served to the frontend + + +### What not to do + +- modify any data files directly without approval (especially `data.json` and `municipality_domains.json`, which are generated by the pipeline) +- run the pipeline directly since it can time out and hides warnings \ No newline at end of file diff --git a/README.md b/README.md index c438d63..26425a4 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # MXmap — Email Providers of Swiss Municipalities [![CI](https://github.com/davidhuser/mxmap/actions/workflows/ci.yml/badge.svg)](https://github.com/davidhuser/mxmap/actions/workflows/ci.yml) -[![Nightly](https://github.com/davidhuser/mxmap/actions/workflows/nightly.yml/badge.svg)](https://github.com/davidhuser/mxmap/actions/workflows/nightly.yml) An interactive map showing where Swiss municipalities host their email — whether with US hyperscalers (Microsoft, Google, AWS) or Swiss providers or other solutions. @@ -11,66 +10,57 @@ An interactive map showing where Swiss municipalities host their email — wheth ## How it works -The data pipeline has three steps: +The data pipeline has two stages: -1. **Preprocess** -- Fetches all ~2100 Swiss municipalities from Wikidata, performs MX and SPF DNS lookups on their official domains, and classifies each municipality's email provider. -2. **Postprocess** -- Applies manual overrides for edge cases, retries DNS for unresolved domains, checks SMTP banners of independent MX hosts for hidden providers, then scrapes websites of still-unclassified municipalities for email addresses. -3. **Validate** -- Cross-validates MX and SPF records, assigns a confidence score (0-100) to each entry, and generates a validation report. +1. **Resolve domains** — Fetches all ~2100 Swiss municipalities from Wikidata and the BFS (Swiss Statistics) API, applies manual overrides, scrapes municipal websites for email addresses, guesses domains from municipality names, and verifies candidates with MX lookups. Scores source agreement to pick the best domain. Outputs `municipality_domains.json`. + +2. **Classify providers** — For each resolved domain, looks up all MX hosts, pattern-matches them, then runs 10 concurrent probes (SPF, DKIM, DMARC, Autodiscover, CNAME chain, SMTP banner, Tenant, ASN, TXT verification, SPF IP). Aggregates weighted evidence, computes confidence scores (0–100). Outputs `data.json` (full) and `data.min.json` (minified for the frontend). ```mermaid flowchart TD - trigger["Nightly trigger"] --> wikidata - - subgraph pre ["1 · Preprocess"] - wikidata[/"Wikidata SPARQL"/] --> fetch["Fetch ~2100 municipalities"] - fetch --> domains["Extract domains +
guess candidates"] - domains --> dns["MX + SPF lookups
(3 resolvers)"] - dns --> spf_resolve["Resolve SPF includes
& redirects"] - spf_resolve --> cname["Follow CNAME chains"] - cname --> asn["ASN lookups
(Team Cymru)"] - asn --> autodiscover["Autodiscover DNS
(CNAME + SRV)"] - autodiscover --> gateway["Detect gateways
(SeppMail, Barracuda,
Proofpoint, Sophos ...)"] - gateway --> classify["Classify providers
MX → CNAME → SPF → Autodiscover → SMTP"] + subgraph resolve ["1 · Resolve domains"] + bfs[/"BFS Statistics API"/] --> merge["Merge ~2100 municipalities"] + wikidata[/"Wikidata SPARQL"/] --> merge + overrides[/"overrides.json"/] --> per_muni + merge --> per_muni["Per municipality"] + per_muni --> scrape["Scrape website for
email addresses"] + per_muni --> guess["Guess domains
from name"] + scrape --> mx_verify["MX lookup to
verify domains"] + guess --> mx_verify + mx_verify --> score["Score source
agreement"] end - classify --> overrides + score --> domains[("municipality_domains.json")] + domains --> classify_in - subgraph post ["2 · Postprocess"] - overrides["Apply manual overrides
(19 edge cases)"] --> retry["Retry DNS
for unknowns"] - retry --> smtp["SMTP banner check
(EHLO on port 25)"] - smtp --> scrape_urls["Probe municipal websites
(/kontakt, /contact, /impressum …)"] - scrape_urls --> extract["Extract emails
+ decrypt TYPO3 obfuscation"] - extract --> scrape_dns["DNS lookup on
email domains"] - scrape_dns --> reclassify["Reclassify
resolved entries"] + subgraph classify ["2 · Classify providers"] + classify_in["Per unique domain"] --> mx_lookup["MX lookup
(all hosts)"] + mx_lookup --> mx_match["Pattern-match MX
+ detect gateway"] + mx_match --> concurrent["10 concurrent probes
SPF · DKIM · DMARC
Autodiscover · CNAME chain
SMTP · Tenant · ASN
TXT verification · SPF IP"] + concurrent --> aggregate["Aggregate weighted
evidence"] + aggregate --> vote["Primary vote
+ confidence scoring"] end - reclassify --> data[("data.json")] - data --> score + vote --> data[("data.json + data.min.json")] + data --> frontend["Leaflet map
mxmap.ch"] +``` - subgraph val ["3 · Validate"] - score["Confidence scoring · 0–100"] --> gwarn["Flag potential
unknown gateways"] - gwarn --> gate{"Quality gate
avg ≥ 70 · high-conf ≥ 80%"} - end +## Classification system - gate -- "Pass" --> deploy["Commit & deploy to Pages"] - gate -- "Fail" --> issue["Open GitHub issue"] +see [`classifier.py`](src/mail_sovereignty/classifier.py) for the full implementation details, but in summary, +we use a weighted evidence system where each probe contributes signals of varying strength towards different provider classifications. - style trigger fill:#e8f4fd,stroke:#4a90d9,color:#1a5276 - style wikidata fill:#e8f4fd,stroke:#4a90d9,color:#1a5276 - style data fill:#d5f5e3,stroke:#27ae60,color:#1e8449 - style deploy fill:#d5f5e3,stroke:#27ae60,color:#1e8449 - style issue fill:#fadbd8,stroke:#e74c3c,color:#922b21 - style gate fill:#fdebd0,stroke:#e67e22,color:#935116 -``` ## Quick start ```bash uv sync -uv run preprocess -uv run postprocess -uv run validate +# Stage 1: resolve municipality domains +uv run resolve-domains + +# Stage 2: classify email providers +uv run classify-providers # Serve the map locally python -m http.server @@ -81,20 +71,36 @@ python -m http.server ```bash uv sync --group dev -# Run tests with coverage +# Run tests (90% coverage threshold enforced) uv run pytest --cov --cov-report=term-missing -# Lint the codebase +# Lint & format uv run ruff check src tests uv run ruff format src tests ``` + ## Related work * [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! +* If you know of other similar projects, please open an issue or submit a PR to add them here! + +## Forks + +* DE https://b42labs.github.io/mxmap/ +* NL https://mxmap.nl/ +* NO https://kommune-epost-norge.netlify.app/ +* BE https://mxmap.be/ +* EU https://livenson.github.io/mxmap/ +* LV: https://securit.lv/mxmap +* See also the forks of this repository + ## Contributing If you spot a misclassification, please open an issue with the BFS number and the correct provider. -For municipalities where automated detection fails, corrections can be added to the `MANUAL_OVERRIDES` dict in `src/mail_sovereignty/postprocess.py`. \ No newline at end of file +For municipalities where automated detection fails, corrections can be added to [`overrides.json`](overrides.json). + +## Licence + +[MIT](LICENCE) diff --git a/css/content.css b/css/content.css new file mode 100644 index 0000000..5995531 --- /dev/null +++ b/css/content.css @@ -0,0 +1,25 @@ +/* content.css — content page styles (datenschutz, impressum) */ +body { color: #222; background: #fff; } + +main { + max-width: 720px; margin: 0 auto; padding: 32px 20px 48px; + line-height: 1.7; font-size: 15px; +} +h1 { font-size: 22px; font-weight: 700; color: #1a1a2e; margin-bottom: 24px; } +h2 { font-size: 17px; font-weight: 600; color: #1a1a2e; margin-top: 28px; margin-bottom: 8px; } +p { margin-bottom: 12px; } +ul { margin: 0 0 12px 20px; } +li { margin-bottom: 4px; } +a { color: #2563eb; text-decoration: none; } +a:hover { text-decoration: underline; } +code { + font-family: ui-monospace, monospace; font-size: 13px; + background: #f3f4f6; padding: 1px 5px; border-radius: 3px; +} + +footer { + max-width: 720px; margin: 0 auto; padding: 24px 20px; + border-top: 1px solid #e2e4e8; font-size: 13px; color: #888; +} +footer a { color: #888; } +footer a:hover { color: #555; } diff --git a/css/map.css b/css/map.css new file mode 100644 index 0000000..2acb41e --- /dev/null +++ b/css/map.css @@ -0,0 +1,129 @@ +/* map.css — map page layout, info bar, legend, popups */ +body { display: flex; flex-direction: column; height: 100dvh; overflow: hidden; } + +.toggle-info { + background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); + color: #ccc; font-size: 13px; font-weight: 500; padding: 5px 14px; border-radius: 4px; cursor: pointer; + white-space: nowrap; +} +.toggle-info:hover { background: rgba(255,255,255,0.25); color: #fff; } + +#info-bar { + background: #f0f1f5; border-bottom: 1px solid #d8dae0; overflow: clip; flex-shrink: 0; + position: relative; z-index: 1; + max-height: 600px; padding: 16px 20px; + box-shadow: 0 2px 6px rgba(0,0,0,0.1); +} +#info-bar.collapsed { max-height: 0; padding-top: 0; padding-bottom: 0; } + +.info-grid { + display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); + gap: 14px; +} +.info-card h3 { font-size: 14px; font-weight: 600; margin-bottom: 4px; color: #1a1a2e; } +.info-card p { font-size: 13px; color: #444; line-height: 1.5; margin: 0; } +.info-card a { color: #2563eb; text-decoration: none; } +.info-card a:hover { text-decoration: underline; } +#generated { font-size: 11px; color: #999; margin-top: 4px; } +.info-title { display: none; font-size: 16px; font-weight: 600; color: #1a1a2e; margin-bottom: 12px; } + +.legend-toggle { + display: none; background: none; border: none; font-size: 13px; + font-weight: 600; cursor: pointer; padding: 0; color: #333; +} +.legend { + background: white; padding: 10px 14px; border-radius: 6px; + box-shadow: 0 2px 8px rgba(0,0,0,0.2); font-size: 13px; line-height: 1.8; +} +.legend i { + width: 14px; height: 14px; display: inline-block; margin-right: 6px; + border-radius: 3px; vertical-align: middle; +} +.legend-group { margin-top: 8px; } +.legend-group:first-child { margin-top: 4px; } +.legend-group-label { + font-size: 11px; color: #999; text-transform: uppercase; + letter-spacing: 0.3px; font-weight: 600; display: block; margin-bottom: 2px; +} + +#map { flex: 1; position: relative; width: 100%; will-change: transform; } + +.info-popup { font-size: 13px; line-height: 1.6; } +.info-popup strong { font-size: 14px; } +.info-popup .provider-badge, +.info-popup .tenant-badge { + display: inline-block; padding: 1px 8px; margin-left: 5px; border-radius: 3px; + color: #fff; font-size: 12px; font-weight: 600; +} +.popup-section { margin-top: 8px; border-top: 1px solid #e5e7eb; padding-top: 6px; } +.popup-section-hint { font-weight: 400; opacity: 0.7; } + +.popup-toggle { + font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: 0.5px; + font-weight: 600; cursor: pointer; user-select: none; + display: flex; align-items: center; gap: 6px; padding: 2px 0; +} +.popup-toggle::before { + content: '\25B8'; font-size: 10px; display: inline-block; width: 10px; flex-shrink: 0; + transition: transform 0.15s ease; +} +.popup-toggle-open::before { transform: rotate(90deg); } +.popup-toggle:hover { color: #666; } +.popup-section-body { padding-top: 4px; } +.popup-meta { display: block; font-size: 11px; color: #888; margin-top: 2px; } +.popup-signal-count { + display: inline-block; background: #f3f4f6; color: #6b7280; + font-size: 10px; font-weight: 600; padding: 0 5px; border-radius: 8px; + line-height: 1.6; text-transform: none; letter-spacing: 0; +} +.popup-empty { color: #999; font-size: 12px; } + +.dns-table { border-collapse: collapse; } +.dns-table td { padding: 1px 8px 1px 0; vertical-align: baseline; font-size: 12px; white-space: nowrap; } +.dns-table .dn { font-weight: 600; } +.dns-table .host { color: #999; font-size: 11px; font-family: ui-monospace, monospace; max-width: 200px; overflow: hidden; text-overflow: ellipsis; } +.signal-list { display: flex; flex-direction: column; gap: 1px; } +.signal-item { + display: flex; align-items: baseline; gap: 6px; + padding: 2px 0; font-size: 12px; line-height: 1.5; min-width: 0; +} +.signal-kind { + display: inline-block; background: #f3f4f6; color: #374151; + font-size: 10px; font-weight: 600; padding: 0 5px; border-radius: 3px; + line-height: 1.6; white-space: nowrap; flex-shrink: 0; +} +.signal-text { + color: #555; font-size: 11px; font-family: ui-monospace, monospace; + overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; +} +.signal-dup { color: #9ca3af; font-size: 10px; flex-shrink: 0; } + +.cat-badge { + display: inline-block; padding: 0 5px; border-radius: 3px; + font-size: 10px; font-weight: 600; line-height: 1.6; +} +.cat-badge.hyperscaler { background: #ffe8e6; color: #b33a30; } +.cat-badge.swiss { background: #e0f5e9; color: #2d7a4f; } +.cat-badge.foreign { background: #fef3c7; color: #b45309; } +.cat-badge.unknown { background: #f3f4f6; color: #6b7280; } + +.color-toggle { + display: block; margin-top: 8px; padding: 3px 8px; border-radius: 3px; + font-size: 11px; font-weight: 500; cursor: pointer; + background: #f3f4f6; border: 1px solid #d1d5db; color: #374151; +} +.color-toggle:hover { background: #e5e7eb; } + +@media (max-width: 600px) { + .info-title { display: block; } + .info-grid { grid-template-columns: 1fr; } + .legend-toggle { display: block; } + .legend.legend-collapsed .legend-content { display: none; } + .legend.legend-collapsed { padding: 8px 12px; } + .popup-toggle { padding: 6px 0; min-height: 44px; } + .popup-section-body { overflow-x: hidden; } + .dns-table .dn { max-width: 72px; overflow: hidden; text-overflow: ellipsis; } + .dns-table .host { max-width: 100px; } + .signal-text { max-width: 140px; } + .signal-item { gap: 4px; padding-left: 4px; } +} diff --git a/css/shared.css b/css/shared.css new file mode 100644 index 0000000..f45c42b --- /dev/null +++ b/css/shared.css @@ -0,0 +1,61 @@ +/* shared.css — reset, header, navigation (all pages) */ +* { margin: 0; padding: 0; box-sizing: border-box; } +body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + +#header { + background: #1a1a2e; color: #fff; height: 44px; padding: 0 16px; + display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; + position: relative; z-index: 2000; +} +.header-left { display: flex; align-items: center; gap: 10px; min-width: 0; } +.brand { font-size: 17px; font-weight: 700; white-space: nowrap; margin: 0; } +.brand a { color: #fff; text-decoration: none; } +.beta-badge { + font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; + background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); + color: #f0c040; padding: 1px 6px; border-radius: 3px; vertical-align: middle; + cursor: default; +} +.header-right { display: flex; align-items: center; gap: 12px; flex-shrink: 0; } + +#nav { display: flex; align-items: center; gap: 8px; position: relative; margin-left: 6px; } + +.nav-primary { display: flex; align-items: center; gap: 6px; } +.nav-primary .header-link { + font-size: 13px; padding: 5px 14px; border-radius: 4px; font-weight: 500; + border: 1px solid rgba(255,255,255,0.3); color: #ccc; text-decoration: none; +} +.nav-primary .header-link:hover { + background: rgba(255,255,255,0.15); color: #fff; +} +.nav-primary .header-link.active { + background: rgba(255,255,255,0.2); color: #fff; font-weight: 600; + border-color: rgba(255,255,255,0.5); +} + +.nav-menu-toggle { + background: none; border: none; color: #a0a0b0; font-size: 18px; + cursor: pointer; padding: 2px 4px; line-height: 1; +} +.nav-menu-toggle:hover { color: #fff; } +.nav-menu { + display: none; position: absolute; top: 34px; left: 0; + background: #1a1a2e; border-radius: 0 0 6px 6px; + box-shadow: 0 4px 12px rgba(0,0,0,0.3); min-width: 160px; z-index: 100; +} +.nav-menu.open { display: block; } +.nav-menu .header-link { + display: block; padding: 10px 16px; font-size: 13px; color: #a0a0b0; text-decoration: none; + border-bottom: 1px solid rgba(255,255,255,0.08); +} +.nav-menu .header-link:hover { color: #fff; } +.nav-menu .header-link.active { color: #fff; font-weight: 600; } +.nav-menu .header-link:last-child { border-bottom: none; } +.nav-menu .nav-menu-mobile { display: none; } + +@media (max-width: 600px) { + .beta-badge { display: none; } + .nav-primary .header-link { font-size: 11px; padding: 2px 8px; } + .nav-primary { display: none; } + .nav-menu .nav-menu-mobile { display: block; } +} diff --git a/data.json b/data.json index 475006a..f677507 100644 --- a/data.json +++ b/data.json @@ -1,91 +1,338 @@ { - "generated":"2026-03-11T14:59:02Z", - "total":2115, + "generated":"2026-03-24T13:55:14Z", + "commit":"61309b3", + "total":2110, "counts":{ - "aws":26, - "google":4, - "independent":604, - "infomaniak":120, - "microsoft":1108, - "swiss-isp":251, - "unknown":2 + "aws":22, + "google":6, + "independent":707, + "infomaniak":138, + "microsoft":1237 }, "municipalities":{ "1":{ "bfs":"1", "name":"Aeugst am Albis", - "canton":"", + "canton":"Kanton Zürich", "domain":"aeugst-albis.ch", "mx":[ "mailgw01.zii.ch", "mailgw02.zii.ch" ], "spf":"v=spf1 include:spf.zii.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.zii.ch -all v=spf1 ip4:195.65.253.130 ip4:83.144.243.194 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 3303, - 33965 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "aeugst-albis.ch" + ], + "redirect":[], + "wikidata":[ + "aeugst-albis.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2":{ "bfs":"2", "name":"Affoltern am Albis", - "canton":"", + "canton":"Kanton Zürich", "domain":"stadtaffoltern.ch", "mx":[ "stadtaffoltern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:rlx7.loginserver.ch a:mail.obt-services.ch mx:hin.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud include:spf.abacuscity.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:rlx7.loginserver.ch a:mail.obt-services.ch mx:hin.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud include:spf.abacuscity.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stadtaffoltern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.stadtaffoltern.ch CNAME → selector1-stadtaffoltern-ch._domainkey.affolterncloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.stadtaffoltern.ch CNAME → selector2-stadtaffoltern-ch._domainkey.affolterncloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "stadtaffoltern.ch" + ], + "redirect":[], + "wikidata":[ + "stadtaffoltern.ch" + ], + "guess":[ + "affoltern-am-albis.ch" + ] + }, + "resolve_flags":[] }, "3":{ "bfs":"3", - "name":"Bonstetten ZH", - "canton":"", + "name":"Bonstetten", + "canton":"Kanton Zürich", "domain":"bonstetten.ch", "mx":[ "bonstetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bonstetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bonstetten.ch CNAME → selector1-bonstetten-ch._domainkey.bonstettencloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bonstetten.ch CNAME → selector2-bonstetten-ch._domainkey.bonstettencloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bonstetten.ch" + ], + "redirect":[], + "wikidata":[ + "bonstetten.ch" + ], + "guess":[ + "bonstetten.ch" + ] + }, + "resolve_flags":[] }, "4":{ "bfs":"4", "name":"Hausen am Albis", - "canton":"", + "canton":"Kanton Zürich", "domain":"hausen.ch", "mx":[ "hausen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com redirect=spf.mail.hostpoint.ch", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com redirect=spf.mail.hostpoint.ch v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hausen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hausen.ch CNAME → selector1-hausen-ch._domainkey.gemhausen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hausen.ch CNAME → selector2-hausen-ch._domainkey.gemhausen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hausen.ch" + ], + "redirect":[], + "wikidata":[ + "hausen.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5":{ "bfs":"5", "name":"Hedingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"hedingen.ch", "mx":[ "mail.format-ag.ch", @@ -94,112 +341,370 @@ "mailbackup.tankred.ch" ], "spf":"v=spf1 a include:_spf.talus.ch include:spf.protection.outlook.com ip4:193.135.56.6 ~all", - "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:spf.protection.outlook.com ip4:193.135.56.6 ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hedingen.ch" + ], + "redirect":[], + "wikidata":[ + "hedingen.ch" + ], + "guess":[ + "hedingen.ch" + ] + }, + "resolve_flags":[] }, "6":{ "bfs":"6", "name":"Kappel am Albis", - "canton":"", + "canton":"Kanton Zürich", "domain":"kappel-am-albis.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "kappel-am-albis.ch" + ], + "redirect":[], + "wikidata":[ + "kappel-am-albis.ch" + ], + "guess":[ + "kappel-am-albis.ch", + "kappelamalbis.ch" + ] + }, + "resolve_flags":[] }, "7":{ "bfs":"7", "name":"Knonau", - "canton":"", + "canton":"Kanton Zürich", "domain":"knonau.ch", "mx":[ "knonau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.0/24 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.0/24 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX knonau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.knonau.ch CNAME → selector1-knonau-ch._domainkey.gmdknonau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.knonau.ch CNAME → selector2-knonau-ch._domainkey.gmdknonau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "knonau.ch" + ], + "redirect":[], + "wikidata":[ + "knonau.ch" + ], + "guess":[ + "gemeinde-knonau.ch", + "knonau.ch" + ] + }, + "resolve_flags":[] }, "8":{ "bfs":"8", "name":"Maschwanden", - "canton":"", + "canton":"Kanton Zürich", "domain":"maschwanden.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:servers.mcsv.net -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:servers.mcsv.net -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "maschwanden.ch" + ], + "guess":[ + "maschwanden.ch" + ] + }, + "resolve_flags":[] }, "9":{ "bfs":"9", "name":"Mettmenstetten", - "canton":"", + "canton":"Kanton Zürich", "domain":"mettmenstetten.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "mettmenstetten.ch" + ], + "redirect":[], + "wikidata":[ + "mettmenstetten.ch" + ], + "guess":[ + "mettmenstetten.ch" + ] + }, + "resolve_flags":[] }, "10":{ "bfs":"10", "name":"Obfelden", - "canton":"", + "canton":"Kanton Zürich", "domain":"obfelden.ch", "mx":[ "obfelden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.bestview.ch include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.bestview.ch include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:65.109.228.236 include:_spf.smtp.com ip4:212.55.205.0/25 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX obfelden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.obfelden.ch CNAME → selector1-obfelden-ch._domainkey.obfeldencloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.obfelden.ch CNAME → selector2-obfelden-ch._domainkey.obfeldencloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "obfelden.ch" + ], + "redirect":[], + "wikidata":[ + "obfelden.ch" + ], + "guess":[ + "obfelden.ch" + ] + }, + "resolve_flags":[] }, "11":{ "bfs":"11", "name":"Ottenbach", - "canton":"", + "canton":"Kanton Zürich", "domain":"ottenbach.ch", "mx":[ "mailgw01.zii.ch", @@ -207,19 +712,58 @@ ], "spf":"v=spf1 mx include:spf.zii.ch include:spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.zii.ch include:spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.253.130 ip4:83.144.243.194 include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 3303, - 33965 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ottenbach.ch" + ], + "redirect":[], + "wikidata":[ + "ottenbach.ch" + ], + "guess":[ + "ottenbach.ch" + ] + }, + "resolve_flags":[] }, "12":{ "bfs":"12", "name":"Rifferswil", - "canton":"", + "canton":"Kanton Zürich", "domain":"rifferswil.ch", "mx":[ "smtagb02.abxsec.com", @@ -229,16 +773,29 @@ ], "spf":"v=spf1 include:spf.abxsec.com include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.abxsec.com include:_spf.i-web.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "rifferswil.ch" + ], + "redirect":[], + "wikidata":[ + "rifferswil.ch" + ], + "guess":[ + "rifferswil.ch", + "rifferswil.zh.ch" + ] + }, + "resolve_flags":[] }, "13":{ "bfs":"13", "name":"Stallikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"stallikon.ch", "mx":[ "mta1.abxsec.com", @@ -246,19 +803,33 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"webmail.stallikon.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "stallikon.ch" + ], + "guess":[ + "stallikon.ch" + ] + }, + "resolve_flags":[] }, "14":{ "bfs":"14", "name":"Wettswil am Albis", - "canton":"", + "canton":"Kanton Zürich", "domain":"wettswil.ch", "mx":[ "mta1.abxsec.com", @@ -266,16 +837,24 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:egeko.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:egeko.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wettswil.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "22":{ "bfs":"22", - "name":"Benken", - "canton":"", + "name":"Benken (ZH)", + "canton":"Kanton Zürich", "domain":"benken-zh.ch", "mx":[ "mta1.abxsec.com", @@ -283,35 +862,75 @@ ], "spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.6 -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "benken-zh.ch" + ], + "redirect":[], + "wikidata":[ + "benken-zh.ch" + ], + "guess":[ + "benken.ch", + "benken.zh.ch" + ] + }, + "resolve_flags":[] }, "23":{ "bfs":"23", "name":"Berg am Irchel", - "canton":"", - "domain":"berg-am-irchel.ch", + "canton":"Kanton Zürich", + "domain":"bergamirchel.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "bergamirchel.ch" + ], + "redirect":[ + "bergamirchel.ch" + ], + "wikidata":[ + "berg-am-irchel.ch" + ], + "guess":[ + "berg-am-irchel.ch", + "bergamirchel.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "24":{ "bfs":"24", "name":"Buch am Irchel", - "canton":"", + "canton":"Kanton Zürich", "domain":"buchamirchel.ch", "mx":[ "mta1.abxsec.com", @@ -319,37 +938,87 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf1.egeko.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf1.egeko.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.abx-net.net" - } + "sources_detail":{ + "scrape":[ + "buchamirchel.ch" + ], + "redirect":[], + "wikidata":[ + "buchamirchel.ch" + ], + "guess":[ + "buchamirchel.ch" + ] + }, + "resolve_flags":[] }, "25":{ "bfs":"25", "name":"Dachsen", - "canton":"", + "canton":"Kanton Zürich", "domain":"dachsen.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com include:spf.abxsec.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com include:spf.abxsec.com include:_spf.i-web.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dachsen.ch" + ], + "redirect":[], + "wikidata":[ + "dachsen.ch" + ], + "guess":[ + "dachsen.ch", + "dachsen.zh.ch" + ] + }, + "resolve_flags":[] }, "26":{ "bfs":"26", - "name":"Dorf ZH", - "canton":"", + "name":"Dorf", + "canton":"Kanton Zürich", "domain":"dorf.ch", "mx":[ "mta1.abxsec.com", @@ -357,86 +1026,319 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "dorf.ch" + ], + "redirect":[], + "wikidata":[ + "dorf.ch" + ], + "guess":[ + "dorf.ch", + "dorf.zh.ch" + ] + }, + "resolve_flags":[] }, "27":{ "bfs":"27", "name":"Feuerthalen", - "canton":"", + "canton":"Kanton Zürich", "domain":"feuerthalen.ch", "mx":[ "feuerthalen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX feuerthalen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "feuerthalen.ch" + ], + "redirect":[], + "wikidata":[ + "feuerthalen.ch" + ], + "guess":[ + "feuerthalen.ch" + ] + }, + "resolve_flags":[] }, "28":{ "bfs":"28", "name":"Flaach", - "canton":"", + "canton":"Kanton Zürich", "domain":"flaach.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 mx include:_spf.rzobt.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:_spf.rzobt.ch include:spf.abxsec.com -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "flaach.ch" + ], + "redirect":[], + "wikidata":[ + "flaach.ch" + ], + "guess":[ + "flaach.ch", + "flaach.zh.ch" + ] + }, + "resolve_flags":[] }, "29":{ "bfs":"29", "name":"Flurlingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"flurlingen.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spfmx.rizag.ch include:spf.abxsec.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spfmx.rizag.ch include:spf.abxsec.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "flurlingen.ch" + ], + "redirect":[], + "wikidata":[ + "flurlingen.ch" + ], + "guess":[ + "flurlingen.ch" + ] + }, + "resolve_flags":[] }, "31":{ "bfs":"31", "name":"Henggart", - "canton":"", + "canton":"Kanton Zürich", "domain":"henggart.ch", "mx":[ "henggart-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:81.62.182.114 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.62.182.114 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX henggart-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "henggart.ch" + ], + "redirect":[], + "wikidata":[ + "henggart.ch" + ], + "guess":[ + "henggart.ch", + "henggart.zh.ch" + ] + }, + "resolve_flags":[] }, "33":{ "bfs":"33", "name":"Kleinandelfingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"kleinandelfingen.ch", "mx":[ "smtasg01.abxsec.com", @@ -444,16 +1346,36 @@ ], "spf":"v=spf1 ip4:193.135.56.6 include:spf.abxsec.com include:egeko.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:spf.abxsec.com include:egeko.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "kleinandelfingen.ch" + ], + "redirect":[], + "wikidata":[ + "kleinandelfingen.ch" + ], + "guess":[ + "kleinandelfingen.ch", + "kleinandelfingen.zh.ch" + ] + }, + "resolve_flags":[] }, "34":{ "bfs":"34", "name":"Laufen-Uhwiesen", - "canton":"", + "canton":"Kanton Zürich", "domain":"laufen-uhwiesen.ch", "mx":[ "mta1.abxsec.com", @@ -461,53 +1383,131 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.abx-net.net" - } + "sources_detail":{ + "scrape":[ + "laufen-uhwiesen.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "laufen-uhwiesen.ch" + ] + }, + "resolve_flags":[] }, "35":{ "bfs":"35", "name":"Marthalen", - "canton":"", + "canton":"Kanton Zürich", "domain":"marthalen.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com include:_spf.abxsec.com ~all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "marthalen.ch" + ], + "redirect":[], + "wikidata":[ + "marthalen.ch" + ], + "guess":[ + "marthalen.ch" + ] + }, + "resolve_flags":[] }, "37":{ "bfs":"37", "name":"Ossingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"ossingen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.mail.hostpoint.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.mail.hostpoint.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "ossingen.ch" + ], + "redirect":[], + "wikidata":[ + "ossingen.ch" + ], + "guess":[ + "ossingen.ch" + ] + }, + "resolve_flags":[] }, "38":{ "bfs":"38", "name":"Rheinau", - "canton":"", + "canton":"Kanton Zürich", "domain":"rheinau.ch", "mx":[ "mta1.abxsec.com", @@ -515,108 +1515,358 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "rheinau.ch" + ], + "redirect":[], + "wikidata":[ + "rheinau.ch" + ], + "guess":[ + "rheinau.ch" + ] + }, + "resolve_flags":[] }, "39":{ "bfs":"39", "name":"Thalheim an der Thur", - "canton":"", + "canton":"Kanton Zürich", "domain":"thalheim.ch", "mx":[ "thalheim-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:egeko.ch include:spf.protection.outlook.com -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX thalheim-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "thalheim.ch" + ], + "guess":[ + "thalheimanderthur.ch" + ] + }, + "resolve_flags":[] }, "40":{ "bfs":"40", "name":"Trüllikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"truellikon.ch", "mx":[ "truellikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX truellikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "truellikon.ch" + ], + "redirect":[], + "wikidata":[ + "truellikon.ch" + ], + "guess":[ + "truellikon.ch" + ] + }, + "resolve_flags":[] }, "41":{ "bfs":"41", "name":"Truttikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"truttikon.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "truttikon.ch" + ], + "redirect":[], + "wikidata":[ + "truttikon.ch" + ], + "guess":[ + "truttikon.ch", + "truttikon.zh.ch" + ] + }, + "resolve_flags":[] }, "43":{ "bfs":"43", "name":"Volken", - "canton":"", + "canton":"Kanton Zürich", "domain":"volken.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "volken.ch.incamail.ch" + ], + "redirect":[], + "wikidata":[ + "volken.ch" + ], + "guess":[ + "volken.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "51":{ "bfs":"51", "name":"Bachenbülach", - "canton":"", + "canton":"Kanton Zürich", "domain":"bachenbuelach.ch", "mx":[ "bachenbuelach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.rzobt.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.rzobt.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bachenbuelach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bachenbuelach.ch" + ], + "redirect":[], + "wikidata":[ + "bachenbuelach.ch" + ], + "guess":[ + "bachenbuelach.ch", + "bachenbuelach.zh.ch" + ] + }, + "resolve_flags":[] }, "52":{ "bfs":"52", "name":"Bassersdorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"bassersdorf.ch", "mx":[ "mta1.abxsec.com", @@ -624,16 +1874,36 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com mx:hin.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com mx:hin.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "bassersdorf.ch" + ], + "redirect":[], + "wikidata":[ + "bassersdorf.ch" + ], + "guess":[ + "bassersdorf.ch", + "bassersdorf.zh.ch" + ] + }, + "resolve_flags":[] }, "53":{ "bfs":"53", "name":"Bülach", - "canton":"", + "canton":"Kanton Zürich", "domain":"buelach.ch", "mx":[ "buelach-ch.mail.protection.outlook.com", @@ -641,38 +1911,184 @@ ], "spf":"v=spf1 a mx ip4:77.237.208.45 a:mail01.refline.ch a:mail02.refline.ch a:mail.friedaweb.de include:spf.rtp.ch include:spf.sendinblue.com include:spf.protection.outlook.com include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:77.237.208.45 a:mail01.refline.ch a:mail02.refline.ch a:mail.friedaweb.de include:spf.rtp.ch include:spf.sendinblue.com include:spf.protection.outlook.com include:_spf.abxsec.com -all v=spf1 ip4:185.17.70.38 ip6:2a04:503:0:1007::38 ~all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075, - 15600 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.buelach.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buelach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15600 is Swiss ISP: Quickline" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "buelach.ch" + ], + "redirect":[], + "wikidata":[ + "buelach.ch" + ], + "guess":[ + "blach.ch", + "buelach.ch" + ] + }, + "resolve_flags":[] }, "54":{ "bfs":"54", "name":"Dietlikon", - "canton":"", - "domain":"dietlikon.ch", - "mx":[ - "mx1.gib-solutions.ch" - ], - "spf":"v=spf1 ip4:212.25.8.128/26 ip4:193.135.56.6 include:spf.hosty.ch include:spf.mail.hostpoint.ch -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.25.8.128/26 ip4:193.135.56.6 include:spf.hosty.ch include:spf.mail.hostpoint.ch -all v=spf1 ip4:194.56.191.99 ip6:2001:1680:101:83a::5b ip4:5.148.177.114 ip4:92.42.187.12 ip4:178.209.42.218 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 8758 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "canton":"Kanton Zürich", + "domain":"dietlikon.org", + "mx":[ + "dietlikon-org.mail.protection.outlook.com", + "mx1.dietlikon.org", + "mx2.dietlikon.org" + ], + "spf":"v=spf1 mx ip4:194.191.24.23 ip4:194.56.218.154 ip4:193.135.56.6 ip4:212.25.8.138 ip4:147.160.167.0/26 ip4:94.247.216.48/30 ip4:185.193.224.66/29 ip4:81.92.102.96/29 ip4:81.92.106.32/29 include:hin.ch include:spf.protection.outlook.com include:psm.knowbe4.com include:spf.abacuscity.ch include:dietlikon.atlassian.net -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dietlikon-org.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.dietlikon.org CNAME → selector1-dietlikon-org._domainkey.gemdietlikonorg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.dietlikon.org CNAME → selector2-dietlikon-org._domainkey.gemdietlikonorg.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"aws", + "weight":0.08, + "detail":"SPF ip4/a ASN 14618 matches aws" + } + ], + "sources_detail":{ + "override":[ + "dietlikon.org" + ] + }, + "resolve_flags":[] }, "55":{ "bfs":"55", "name":"Eglisau", - "canton":"", + "canton":"Kanton Zürich", "domain":"eglisau.ch", "mx":[ "asgate01.spamcontrol.beltronic.ch", @@ -682,16 +2098,32 @@ ], "spf":"v=spf1 a mx include:spf.hornetsecurity.com include:spf.crsend.com include:spf.protection.cyon.net include:servers.mcsv.net include:mail.kidesia.com include:_spf.sui-inter.net ip4:80.74.128.0/19 ip4:46.245.188.53 ip4:91.102.199.128/29 +mx:hin.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.hornetsecurity.com include:spf.crsend.com include:spf.protection.cyon.net include:servers.mcsv.net include:mail.kidesia.com include:_spf.sui-inter.net ip4:80.74.128.0/19 ip4:46.245.188.53 ip4:91.102.199.128/29 +mx:hin.ch ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 a mx ip4:185.46.57.237 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 24679, - 25394 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eglisau.ch" + ], + "guess":[ + "eglisau.ch" + ] + }, + "resolve_flags":[] }, "56":{ "bfs":"56", "name":"Embrach", - "canton":"", + "canton":"Kanton Zürich", "domain":"embrach.ch", "mx":[ "mta1.abxsec.com", @@ -699,37 +2131,129 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch include:spf.iway.ch include:spf.protection.outlook.com ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 a:mail.ostendis.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch include:spf.iway.ch include:spf.protection.outlook.com ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 a:mail.ostendis.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"mail.embrach.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "embrach.ch" + ], + "redirect":[], + "wikidata":[ + "embrach.ch" + ], + "guess":[ + "embrach.ch" + ] + }, + "resolve_flags":[] }, "57":{ "bfs":"57", "name":"Freienstein-Teufen", - "canton":"", + "canton":"Kanton Zürich", "domain":"freienstein-teufen.ch", "mx":[ "freiensteinteufen-ch02i.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.abxsec.com include:egeko.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.abxsec.com include:egeko.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX freiensteinteufen-ch02i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "freienstein-teufen.ch" + ], + "redirect":[], + "wikidata":[ + "freienstein-teufen.ch" + ], + "guess":[ + "freienstein-teufen.ch" + ] + }, + "resolve_flags":[] }, "58":{ "bfs":"58", "name":"Glattfelden", - "canton":"", + "canton":"Kanton Zürich", "domain":"glattfelden.ch", "mx":[ "mail100.rizag.ch", @@ -737,222 +2261,1016 @@ ], "spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:194.6.176.74 include:spf.abacuscity.ch include:_spf.abxsec.com mx:hin.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:194.6.176.74 include:spf.abacuscity.ch include:_spf.abxsec.com mx:hin.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "glattfelden.ch" + ], + "redirect":[], + "wikidata":[ + "glattfelden.ch" + ], + "guess":[ + "glattfelden.ch" + ] + }, + "resolve_flags":[] }, "59":{ "bfs":"59", - "name":"Hochfelden ZH", - "canton":"", + "name":"Hochfelden", + "canton":"Kanton Zürich", "domain":"hochfelden.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.sui-inter.net include:_spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.sui-inter.net include:_spf.abxsec.com -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "hochfelden.ch" + ], + "guess":[ + "hochfelden.ch" + ] + }, + "resolve_flags":[] }, "60":{ "bfs":"60", - "name":"Höri ZH", - "canton":"", + "name":"Höri", + "canton":"Kanton Zürich", "domain":"hoeri.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com include:spf1.egeko.ch ip4:193.135.56.6 ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com include:spf1.egeko.ch ip4:193.135.56.6 ~all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "hoeri.ch" + ], + "redirect":[], + "wikidata":[ + "hoeri.ch" + ], + "guess":[ + "hoeri.ch", + "hoeri.zh.ch", + "hri.ch" + ] + }, + "resolve_flags":[] }, "61":{ "bfs":"61", "name":"Hüntwangen", - "canton":"", + "canton":"Kanton Zürich", "domain":"huentwangen.ch", "mx":[ "huentwangen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX huentwangen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "huentwangen.ch" + ], + "redirect":[], + "wikidata":[ + "huentwangen.ch" + ], + "guess":[ + "huentwangen.ch" + ] + }, + "resolve_flags":[] }, "62":{ "bfs":"62", "name":"Kloten", - "canton":"", + "canton":"Kanton Zürich", "domain":"kloten.ch", "mx":[ "kloten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +mx +a a:mail.kloten.ch a:mail3.kloten.ch a:mail.i-web.ch include:spf.umantis.com a:mx3.hin.ch a:mx4.hin.ch include:spf.spotwerbung.ch include:spf.protection.outlook.com +ip4:194.209.49.195 +ip4:212.80.96.0/21 +ip4:217.71.85.32/32 +ip4:194.230.101.242/32 +ip6:2a01:7480:1:100::/64 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +mx +a a:mail.kloten.ch a:mail3.kloten.ch a:mail.i-web.ch include:spf.umantis.com a:mx3.hin.ch a:mx4.hin.ch include:spf.spotwerbung.ch include:spf.protection.outlook.com +ip4:194.209.49.195 +ip4:212.80.96.0/21 +ip4:217.71.85.32/32 +ip4:194.230.101.242/32 +ip6:2a01:7480:1:100::/64 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:213.133.107.213 ip6:2a01:4f8:d0a:2295::2 ip4:213.133.121.85 ip6:2a01:4f8:d0a:1184::2 ip4:78.46.125.17 ip6:2a01:4f8:d0a:409b::2 ip4:78.46.148.201 ip6:2a01:4f8:d0a:50f7::2 ip4:78.46.196.81 ip6:2a01:4f8:d0a:6134::2 ip4:78.46.4.123 ip6:2a01:4f8:d0a:216c::2 ip4:78.47.106.26 ip6:2a01:4f8:d0a:639e::2 ip4:78.46.3.225 ip6:2a01:4f8:d0a:318f::2 ip4:159.69.104.114 ip6:2a01:4f8:c0c:a6d::2 ip4:85.10.212.78 ip6:2a01:4f8:d0a:241e::2 ip4:78.46.166.37 ip6:2a01:4f8:d0a:61c2::2 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kloten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kloten.ch CNAME → selector1-kloten-ch._domainkey.klotench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kloten.ch CNAME → selector2-kloten-ch._domainkey.klotench.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "kloten.ch", + "kompol.zh.ch" + ], + "redirect":[], + "wikidata":[ + "kloten.ch" + ], + "guess":[ + "kloten.ch" + ] + }, + "resolve_flags":[] }, "63":{ "bfs":"63", "name":"Lufingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"lufingen.ch", "mx":[ "lufingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lufingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lufingen.ch" + ], + "redirect":[], + "wikidata":[ + "lufingen.ch" + ], + "guess":[ + "lufingen.ch" + ] + }, + "resolve_flags":[] }, "64":{ "bfs":"64", "name":"Nürensdorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"nuerensdorf.ch", "mx":[ "nuerensdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nuerensdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "nuerensdorf.ch" + ], + "guess":[ + "nuerensdorf.ch" + ] + }, + "resolve_flags":[] }, "65":{ "bfs":"65", "name":"Oberembrach", - "canton":"", + "canton":"Kanton Zürich", "domain":"oberembrach.ch", "mx":[ "oberembrach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all ", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberembrach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberembrach.ch" + ], + "redirect":[], + "wikidata":[ + "oberembrach.ch" + ], + "guess":[ + "oberembrach.ch" + ] + }, + "resolve_flags":[] }, "66":{ "bfs":"66", "name":"Opfikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"opfikon.ch", "mx":[ "opfikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx:hin.ch include:_spf.i-web.ch ip4:217.11.32.170 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.protection.outlook.com ip4:193.5.117.40/29 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx:hin.ch include:_spf.i-web.ch ip4:217.11.32.170 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.protection.outlook.com ip4:193.5.117.40/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX opfikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.opfikon.ch CNAME → selector1-opfikon-ch._domainkey.opfikonch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.opfikon.ch CNAME → selector2-opfikon-ch._domainkey.opfikonch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "opfikon.ch" + ], + "redirect":[], + "wikidata":[ + "opfikon.ch" + ], + "guess":[ + "opfikon.ch", + "opfikon.zh.ch" + ] + }, + "resolve_flags":[] }, "67":{ "bfs":"67", "name":"Rafz", - "canton":"", + "canton":"Kanton Zürich", "domain":"rafz.ch", "mx":[ "rafz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:smtp.trainingplus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:smtp.trainingplus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rafz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rafz.ch CNAME → selector1-rafz-ch._domainkey.rafzcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rafz.ch CNAME → selector2-rafz-ch._domainkey.rafzcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rafz.ch" + ], + "redirect":[], + "wikidata":[ + "rafz.ch" + ], + "guess":[ + "rafz.ch", + "rafz.zh.ch" + ] + }, + "resolve_flags":[] }, "68":{ "bfs":"68", "name":"Rorbas", - "canton":"", + "canton":"Kanton Zürich", "domain":"rorbas.ch", "mx":[ "rorbas-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:_spf.sui-inter.net ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:_spf.sui-inter.net ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rorbas-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rorbas.ch CNAME → selector1-rorbas-ch._domainkey.gemeinderorbasch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rorbas.ch CNAME → selector2-rorbas-ch._domainkey.gemeinderorbasch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rorbas.ch" + ], + "redirect":[], + "wikidata":[ + "rorbas.ch" + ], + "guess":[ + "rorbas.ch" + ] + }, + "resolve_flags":[] }, "69":{ "bfs":"69", "name":"Wallisellen", - "canton":"", + "canton":"Kanton Zürich", "domain":"wallisellen.ch", "mx":[ "wallisellen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_spf.i-web.ch include:spf.protection.outlook.com include:_spf.psm.knowbe4.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch include:spf.protection.outlook.com include:_spf.psm.knowbe4.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wallisellen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wallisellen.ch CNAME → selector1-wallisellen-ch._domainkey.gemeindewallisellen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wallisellen.ch CNAME → selector2-wallisellen-ch._domainkey.gemeindewallisellen.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wallisellen.ch" + ], + "redirect":[], + "wikidata":[ + "wallisellen.ch" + ], + "guess":[ + "stadt-wallisellen.ch", + "wallisellen.ch", + "wallisellen.zh.ch" + ] + }, + "resolve_flags":[] }, "70":{ "bfs":"70", "name":"Wasterkingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"wasterkingen.ch", "mx":[ "wasterkingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:egeko.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wasterkingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wasterkingen.ch" + ], + "redirect":[], + "wikidata":[ + "wasterkingen.ch" + ], + "guess":[ + "wasterkingen.ch", + "wasterkingen.zh.ch" + ] + }, + "resolve_flags":[] }, "71":{ "bfs":"71", - "name":"Wil ZH", - "canton":"", + "name":"Wil (ZH)", + "canton":"Kanton Zürich", "domain":"wil-zh.ch", "mx":[ "mta1.abxsec.com", @@ -960,19 +3278,60 @@ ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wil-zh.ch CNAME → selector1-wilzh-ch0i._domainkey.gmdwilzh.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wil-zh.ch CNAME → selector2-wilzh-ch0i._domainkey.gmdwilzh.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "wil-zh.ch" + ], + "redirect":[], + "wikidata":[ + "wil-zh.ch" + ], + "guess":[ + "stadt-wil.ch", + "wil.ch" + ] + }, + "resolve_flags":[] }, "72":{ "bfs":"72", "name":"Winkel", - "canton":"", + "canton":"Kanton Zürich", "domain":"winkel.ch", "mx":[ "mta1.abxsec.com", @@ -980,130 +3339,457 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"webmail.abx-net.net" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "winkel.ch" + ], + "redirect":[], + "wikidata":[ + "winkel.ch" + ], + "guess":[ + "winkel.ch" + ] + }, + "resolve_flags":[] }, "81":{ "bfs":"81", "name":"Bachs", - "canton":"", + "canton":"Kanton Zürich", "domain":"bachs.ch", "mx":[ "bachs-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bachs-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bachs.ch" + ], + "redirect":[], + "wikidata":[ + "bachs.ch" + ], + "guess":[ + "bachs.ch" + ] + }, + "resolve_flags":[] }, "82":{ "bfs":"82", "name":"Boppelsen", - "canton":"", + "canton":"Kanton Zürich", "domain":"boppelsen.ch", "mx":[ "boppelsen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boppelsen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "boppelsen.ch" + ], + "redirect":[], + "wikidata":[ + "boppelsen.ch" + ], + "guess":[ + "boppelsen.ch", + "boppelsen.zh.ch" + ] + }, + "resolve_flags":[] }, "83":{ "bfs":"83", - "name":"Buchs ZH", - "canton":"", + "name":"Buchs (ZH)", + "canton":"Kanton Zürich", "domain":"buchs-zh.ch", "mx":[ "buchszh-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com ip4:212.80.96.0/21 a:mail.obt-services.ch ip6:2a01:7480:1:100::/64 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com ip4:212.80.96.0/21 a:mail.obt-services.ch ip6:2a01:7480:1:100::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buchszh-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buchs-zh.ch CNAME → selector1-buchszh-ch01c._domainkey.buchscloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buchs-zh.ch CNAME → selector2-buchszh-ch01c._domainkey.buchscloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "buchs-zh.ch" + ], + "redirect":[], + "wikidata":[ + "buchs-zh.ch" + ], + "guess":[ + "buchs.ch", + "buchs.zh.ch" + ] + }, + "resolve_flags":[] }, "84":{ "bfs":"84", "name":"Dällikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"daellikon.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.rzobt.ch", - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "daellikon.ch" + ], + "redirect":[], + "wikidata":[ + "daellikon.ch" + ], + "guess":[ + "daellikon.ch" + ] + }, + "resolve_flags":[] }, "85":{ "bfs":"85", "name":"Dänikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"daenikon.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch a:communication.backslash.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch a:communication.backslash.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "daenikon.ch" + ], + "guess":[ + "daenikon.ch" + ] + }, + "resolve_flags":[] }, "86":{ "bfs":"86", "name":"Dielsdorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"dielsdorf.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch a:smtazh01.abxsec.com a:mail.i-web.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:spf.protection.outlook.com mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch a:smtazh01.abxsec.com a:mail.i-web.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:spf.protection.outlook.com mx -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "dielsdorf.ch" + ], + "redirect":[], + "wikidata":[ + "dielsdorf.ch" + ], + "guess":[ + "dielsdorf.ch" + ] + }, + "resolve_flags":[] }, "87":{ "bfs":"87", "name":"Hüttikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"huettikon.ch", "mx":[ "smtagb02.abxsec.com", @@ -1113,263 +3799,1029 @@ ], "spf":"v=spf1 a mx include:spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "huettikon.ch" + ], + "redirect":[], + "wikidata":[ + "huettikon.ch" + ], + "guess":[ + "huettikon.ch" + ] + }, + "resolve_flags":[] }, "88":{ "bfs":"88", "name":"Neerach", - "canton":"", + "canton":"Kanton Zürich", "domain":"neerach.ch", "mx":[ "neerach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:egeko.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:egeko.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neerach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.neerach.ch CNAME → selector1-neerach-ch._domainkey.neerach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.neerach.ch CNAME → selector2-neerach-ch._domainkey.neerach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "neerach.ch" + ], + "redirect":[], + "wikidata":[ + "neerach.ch" + ], + "guess":[ + "neerach.ch", + "neerach.zh.ch" + ] + }, + "resolve_flags":[] }, "89":{ "bfs":"89", - "name":"Niederglatt ZH", - "canton":"", - "domain":"niederglatt.zh.ch", + "name":"Niederglatt", + "canton":"Kanton Zürich", + "domain":"niederglatt-zh.ch", "mx":[ - "mtain01.mailsecurity.swisscom.com", - "mtain02.mailsecurity.swisscom.com" + "mta1.abxsec.com", + "mta2.abxsec.com" ], - "spf":"", - "provider":"independent" + "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.i-web.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.niederglatt-zh.ch CNAME → selector1-niederglattzh-ch02i._domainkey.gmdniederglatt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.niederglatt-zh.ch CNAME → selector2-niederglattzh-ch02i._domainkey.gmdniederglatt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "gateway":"abxsec", + "sources_detail":{ + "override":[ + "niederglatt-zh.ch" + ] + }, + "resolve_flags":[] }, "90":{ "bfs":"90", "name":"Niederhasli", - "canton":"", + "canton":"Kanton Zürich", "domain":"niederhasli.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx ip4:81.62.150.186 include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx ip4:81.62.150.186 include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.niederhasli.ch CNAME → selector1-niederhasli-ch._domainkey.mediothekniederhasli.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.niederhasli.ch CNAME → selector2-niederhasli-ch._domainkey.mediothekniederhasli.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "niederhasli.ch" + ], + "redirect":[], + "wikidata":[ + "niederhasli.ch" + ], + "guess":[ + "niederhasli.ch", + "niederhasli.zh.ch" + ] + }, + "resolve_flags":[] }, "91":{ "bfs":"91", "name":"Niederweningen", - "canton":"", + "canton":"Kanton Zürich", "domain":"niederweningen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 ip4:193.135.56.6 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "niederweningen.ch" + ], + "redirect":[], + "wikidata":[ + "niederweningen.ch" + ], + "guess":[ + "niederweningen.ch", + "niederweningen.zh.ch" + ] + }, + "resolve_flags":[] }, "92":{ "bfs":"92", - "name":"Oberglatt ZH", - "canton":"", + "name":"Oberglatt", + "canton":"Kanton Zürich", "domain":"oberglatt.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 a include:_spf.rzobt.ch include:spf1.egeko.ch ip4:52.157.149.216 ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.abxsec.com include:spf.bestview.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:_spf.rzobt.ch include:spf1.egeko.ch ip4:52.157.149.216 ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.abxsec.com include:spf.bestview.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:65.109.228.236 include:_spf.smtp.com ip4:212.55.205.0/25 ~all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberglatt.ch" + ], + "redirect":[], + "wikidata":[ + "oberglatt.ch" + ], + "guess":[ + "oberglatt.ch", + "oberglatt.zh.ch" + ] + }, + "resolve_flags":[] }, "93":{ "bfs":"93", "name":"Oberweningen", - "canton":"", + "canton":"Kanton Zürich", "domain":"oberweningen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "oberweningen.ch" + ], + "redirect":[], + "wikidata":[ + "oberweningen.ch" + ], + "guess":[ + "oberweningen.ch", + "oberweningen.zh.ch" + ] + }, + "resolve_flags":[] }, "94":{ "bfs":"94", "name":"Otelfingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"otelfingen.ch", "mx":[ "otelfingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 include:_spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX otelfingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "otelfingen.ch" + ], + "redirect":[], + "wikidata":[ + "otelfingen.ch" + ], + "guess":[ + "otelfingen.ch" + ] + }, + "resolve_flags":[] }, "95":{ "bfs":"95", "name":"Regensberg", - "canton":"", + "canton":"Kanton Zürich", "domain":"regensberg.ch", "mx":[ "regensberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX regensberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "regensberg.ch" + ], + "redirect":[], + "wikidata":[ + "regensberg.ch" + ], + "guess":[ + "regensberg.ch", + "regensberg.zh.ch" + ] + }, + "resolve_flags":[] }, "96":{ "bfs":"96", "name":"Regensdorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"regensdorf.ch", "mx":[ "regensdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:81.62.149.138/30 ip4:62.2.156.178/29 include:spf.protection.outlook.com include:_partner.regensdorf.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:81.62.149.138/30 ip4:62.2.156.178/29 include:spf.protection.outlook.com include:_partner.regensdorf.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:mail01.refline.ch a:mail02.refline.ch include:_spf.talus.ch include:_spf.i-web.ch include:spf.flowmailer.net include:mail.zendesk.com include:de1-emailsignatures-cloud.codetwo.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.136.64.128/27 ip4:185.136.65.128/27 ~all v=spf1 ip4:103.151.192.0/23 ip4:185.12.80.0/22 ip4:188.172.128.0/20 ip4:192.161.144.0/20 ip4:216.198.0.0/18 ~all v=spf1 redirect=spf.emailsignatures365.com v=spf1 ip4:20.92.116.22 ip4:40.86.225.121 ip4:13.74.137.176 ip4:40.113.3.253 ip4:20.49.202.3 ip4:52.240.209.173 ip4:13.93.42.39 ip4:104.42.172.251 ip4:20.79.220.33 ip4:20.42.205.31 ip4:52.138.216.130 ip4:20.98.2.159 ip4:20.93.157.195 ip4:40.86.217.129 ip4:23.100.56.64 ip4:20.58.22.103 ip4:23.100.43.194 ip4:20.79.222.204 ip4:13.77.59.28 ip4:40.114.221.220 ip4:20.97.70.227 ip4:40.69.19.60 ip4:52.170.22.60 ip4:13.94.95.171 ip4:51.11.109.172 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX regensdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.regensdorf.ch CNAME → selector1-regensdorf-ch._domainkey.regensdorfch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.regensdorf.ch CNAME → selector2-regensdorf-ch._domainkey.regensdorfch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "regensdorf.ch" + ], + "redirect":[], + "wikidata":[ + "regensdorf.ch" + ], + "guess":[ + "regensdorf.ch" + ] + }, + "resolve_flags":[] }, "97":{ "bfs":"97", "name":"Rümlang", - "canton":"", + "canton":"Kanton Zürich", "domain":"ruemlang.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com a:mail.i-web.ch a:vimdzmsp-nwas02.bluewin.ch mx include:spf1.egeko.ch include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com a:mail.i-web.ch a:vimdzmsp-nwas02.bluewin.ch mx include:spf1.egeko.ch include:spf.abxsec.com -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ruemlang.ch" + ], + "redirect":[], + "wikidata":[ + "ruemlang.ch" + ], + "guess":[ + "ruemlang.ch", + "ruemlang.zh.ch" + ] + }, + "resolve_flags":[] }, "98":{ "bfs":"98", "name":"Schleinikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"schleinikon.ch", "mx":[ "schleinikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schleinikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schleinikon.ch" + ], + "redirect":[], + "wikidata":[ + "schleinikon.ch" + ], + "guess":[ + "schleinikon.ch" + ] + }, + "resolve_flags":[] }, "99":{ "bfs":"99", "name":"Schöfflisdorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"schoefflisdorf.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 ip4:217.196.176.0/20 a mx -all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schoefflisdorf.ch" + ], + "redirect":[], + "wikidata":[ + "schoefflisdorf.ch" + ], + "guess":[ + "schoefflisdorf.ch", + "schoefflisdorf.zh.ch" + ] + }, + "resolve_flags":[] }, "100":{ "bfs":"100", - "name":"Stadel bei Niederglatt", - "canton":"", + "name":"Stadel", + "canton":"Kanton Zürich", "domain":"stadel.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com mx -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stadel.ch" + ], + "redirect":[], + "wikidata":[ + "stadel.ch" + ], + "guess":[ + "stadel.ch", + "stadel.zh.ch" + ] + }, + "resolve_flags":[] }, "101":{ "bfs":"101", "name":"Steinmaur", - "canton":"", + "canton":"Kanton Zürich", "domain":"steinmaur.ch", "mx":[ - "smtagb02.abxsec.com", - "smtasg01.abxsec.com", - "smtazh01.abxsec.com", - "smtazh02.abxsec.com" + "steinmaur-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX steinmaur-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.steinmaur.ch CNAME → selector1-steinmaur-ch._domainkey.steinmaurch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.steinmaur.ch CNAME → selector2-steinmaur-ch._domainkey.steinmaurch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "steinmaur.ch" + ], + "redirect":[], + "wikidata":[ + "steinmaur.ch" + ], + "guess":[ + "steinmaur.ch", + "steinmaur.zh.ch" + ] + }, + "resolve_flags":[] }, "102":{ "bfs":"102", "name":"Weiach", - "canton":"", + "canton":"Kanton Zürich", "domain":"weiach.ch", "mx":[ "smtagb02.abxsec.com", @@ -1379,31 +4831,75 @@ ], "spf":"v=spf1 mx include:_spf.mailsecurity.swisscom.com ip4:193.135.56.0/24 include:spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.mailsecurity.swisscom.com ip4:193.135.56.0/24 include:spf.abxsec.com ~all v=spf1 ip4:193.135.100.0/27 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "weiach.ch" + ], + "redirect":[], + "wikidata":[ + "weiach.ch" + ], + "guess":[ + "weiach.ch" + ] + }, + "resolve_flags":[] }, "111":{ "bfs":"111", "name":"Bäretswil", - "canton":"", + "canton":"Kanton Zürich", "domain":"baeretswil.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch a:mail.i-web.ch/24 a:smtazh01.abxsec.com mx -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch a:mail.i-web.ch/24 a:smtazh01.abxsec.com mx -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "baeretswil.ch" + ], + "redirect":[], + "wikidata":[ + "baeretswil.ch" + ], + "guess":[ + "baeretswil.ch" + ] + }, + "resolve_flags":[] }, "112":{ "bfs":"112", "name":"Bubikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"bubikon.ch", "mx":[ "mta1.abxsec.com", @@ -1411,172 +4907,645 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com include:spf.bestview.ch ip4:46.231.200.132 mx ip4:94.126.21.108 include:_spf.i-web.ch include:spf.vtx.ch include:2wire.ch ip4:46.140.146.21 ip4:46.140.146.20 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com include:spf.bestview.ch ip4:46.231.200.132 mx ip4:94.126.21.108 include:_spf.i-web.ch include:spf.vtx.ch include:2wire.ch ip4:46.140.146.21 ip4:46.140.146.20 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:65.109.228.236 include:_spf.smtp.com ip4:212.55.205.0/25 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:194.38.175.0/24 ip4:194.38.166.0/27 ip4:212.40.2.0/25 ip4:212.109.85.192/27 ip4:212.147.10.0/26 ip4:212.147.62.64/26 ip4:212.147.62.128/27 ip4:212.147.99.24/29 ip4:194.148.30.0/24 ip4:195.15.4.240/28 include:_spf-24x.romandie.hosting -all v=spf1 ip4:62.65.128.0/24 ip4:62.65.133.0/24 ip4:62.65.159.0/27 ip4:80.238.248.0/27 ip4:80.238.249.0/27 include:_spf.peaknetworks.net -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all v=spf1 a:catcher-241.romandie.hosting a:catcher-242.romandie.hosting ~all v=spf1 ip4:82.197.187.80/28 ip4:83.175.83.96/28 ip4:83.175.119.80/28 ip4:83.175.126.192/27 ip4:185.49.222.32/28 ip4:185.49.222.192/27 ip4:88.198.40.58/32 ip4:46.4.96.174/32 ip4:185.71.139.0/24 ip4:146.185.92.0/25 ip6:2001:1620:2121::/48 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bubikon.ch CNAME → selector1-bubikon-ch._domainkey.gmdbubikon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bubikon.ch CNAME → selector2-bubikon-ch._domainkey.gmdbubikon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "bubikon.ch" + ], + "redirect":[], + "wikidata":[ + "bubikon.ch" + ], + "guess":[ + "bubikon.ch" + ] + }, + "resolve_flags":[] }, "113":{ "bfs":"113", "name":"Dürnten", - "canton":"", + "canton":"Kanton Zürich", "domain":"duernten.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com a:communication.backslash.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com a:communication.backslash.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rizag.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "duernten.ch" + ], + "redirect":[], + "wikidata":[ + "duernten.ch" + ], + "guess":[ + "duernten.ch" + ] + }, + "resolve_flags":[] }, "114":{ "bfs":"114", "name":"Fischenthal", - "canton":"", + "canton":"Kanton Zürich", "domain":"fischenthal.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch a:smtazh01.abxsec.com ip4:193.135.56.6 include:spf.abxsec.com include:spf1.egeko.ch include:spf.protection.outlook.com mx -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch a:smtazh01.abxsec.com ip4:193.135.56.6 include:spf.abxsec.com include:spf1.egeko.ch include:spf.protection.outlook.com mx -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fischenthal.ch" + ], + "guess":[ + "fischenthal.ch" + ] + }, + "resolve_flags":[] }, "115":{ "bfs":"115", - "name":"Gossau", - "canton":"", + "name":"Gossau (ZH)", + "canton":"Kanton Zürich", "domain":"gossau-zh.ch", "mx":[ "gossauzh-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.243.171.69 ip4:164.128.180.173 ip4:164.128.189.226 ip4:46.14.205.122 include:spf.mail.webland.ch include:spf.bestview.ch include:spf.exclaimer.net include:spf.protection.outlook.com include:spf.privasphere.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.243.171.69 ip4:164.128.180.173 ip4:164.128.189.226 ip4:46.14.205.122 include:spf.mail.webland.ch include:spf.bestview.ch include:spf.exclaimer.net include:spf.protection.outlook.com include:spf.privasphere.com -all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all v=spf1 ip4:65.109.228.236 include:_spf.smtp.com ip4:212.55.205.0/25 ~all v=spf1 ip4:104.40.229.156 ip4:52.169.0.179 ip4:191.237.4.149 ip4:104.209.35.28 ip4:104.210.80.79 ip4:13.70.157.244 ip4:51.140.37.132 ip4:51.141.5.228 ip4:52.233.37.155 ip4:52.242.32.10 ip4:20.233.10.24 ip4:20.74.156.16 ip4:20.52.124.58 ip4:20.113.192.118 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gossauzh-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gossau-zh.ch CNAME → selector1-gossauzh-ch01e._domainkey.gossauzuerich.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gossau-zh.ch CNAME → selector2-gossauzh-ch01e._domainkey.gossauzuerich.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gossau-zh.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "116":{ "bfs":"116", "name":"Grüningen", - "canton":"", + "canton":"Kanton Zürich", "domain":"grueningen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "grueningen.ch" + ], + "redirect":[], + "wikidata":[ + "grueningen.ch" + ], + "guess":[ + "grueningen.ch" + ] + }, + "resolve_flags":[] }, "117":{ "bfs":"117", "name":"Hinwil", - "canton":"", + "canton":"Kanton Zürich", "domain":"hinwil.ch", "mx":[ "hinwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:spf.abacuscity.ch include:mailsecurity.swisscom.com include:hsa.obtcloud.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:spf.abacuscity.ch include:mailsecurity.swisscom.com include:hsa.obtcloud.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 include:_spf.mailsecurity.swisscom.com ~all v=spf1 ip4:185.156.11.50/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 ip4:185.156.11.32/32 -all v=spf1 ip4:193.135.100.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hinwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hinwil.ch" + ], + "redirect":[], + "wikidata":[ + "hinwil.ch" + ], + "guess":[ + "gemeinde-hinwil.ch", + "hinwil.ch" + ] + }, + "resolve_flags":[] }, "118":{ "bfs":"118", - "name":"Rüti", - "canton":"", + "name":"Rüti (ZH)", + "canton":"Kanton Zürich", "domain":"rueti.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:spf.abxsec.com a:cms2-com.backslash.ch a:mail01.refline.ch a:mail02.refline.ch ip4:193.135.56.6 ip4:128.127.50.146 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:spf.abxsec.com a:cms2-com.backslash.ch a:mail01.refline.ch a:mail02.refline.ch ip4:193.135.56.6 ip4:128.127.50.146 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rueti.ch" + ], + "redirect":[], + "wikidata":[ + "rueti.ch" + ], + "guess":[ + "r-ti.ch", + "rti.ch", + "rueti.ch" + ] + }, + "resolve_flags":[] }, "119":{ "bfs":"119", "name":"Seegräben", - "canton":"", + "canton":"Kanton Zürich", "domain":"seegraeben.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "seegraeben.ch" + ], + "redirect":[], + "wikidata":[ + "seegraeben.ch" + ], + "guess":[ + "seegraeben.ch" + ] + }, + "resolve_flags":[] }, "120":{ "bfs":"120", - "name":"Wald", - "canton":"", - "domain":"wald.zh.ch", - "mx":[ - "mail1.rzobt.ch", - "mail2.rzobt.ch" - ], - "spf":"", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ] + "name":"Wald (ZH)", + "canton":"Kanton Zürich", + "domain":"wald-zh.ch", + "mx":[ + "waldzh-ch01b.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.outlook.com a:mail01.refline.ch a:mail02.refline.ch a:svce-mail.softec.ch include:spf.entex.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX waldzh-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wald-zh.ch CNAME → selector1-waldzh-ch01b._domainkey.waldzhcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wald-zh.ch CNAME → selector2-waldzh-ch01b._domainkey.waldzhcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "wald-zh.ch" + ] + }, + "resolve_flags":[] }, "121":{ "bfs":"121", - "name":"Wetzikon", - "canton":"", + "name":"Wetzikon (ZH)", + "canton":"Kanton Zürich", "domain":"wetzikon.ch", "mx":[ "wetzikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com mx:hin.ch include:_spf.abxsec.com a:mail.i-web.ch include:_spf.talus.ch include:spf3.wetzikon.ch include:spf4.wetzikon.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com mx:hin.ch include:_spf.abxsec.com a:mail.i-web.ch include:_spf.talus.ch include:spf3.wetzikon.ch include:spf4.wetzikon.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:212.71.124.231 ip4:212.71.124.232 ip4:91.212.95.0/24 ip4:5.230.138.43 ip4:193.246.95.100/31 ip4:193.246.95.120/31 -all v=spf1 ip4:95.128.37.0/26 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wetzikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wetzikon.ch" + ], + "guess":[ + "stadt-wetzikon.ch", + "wetzikon.ch" + ] + }, + "resolve_flags":[] }, "131":{ "bfs":"131", @@ -1588,17 +5557,99 @@ ], "spf":"v=spf1 mx ip4:46.140.221.34/27 ip4:146.4.127.224/27 Include:spf.protection.outlook.com include:_partner.adliswil.ch ip4:128.127.66.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:46.140.221.34/27 ip4:146.4.127.224/27 Include:spf.protection.outlook.com include:_partner.adliswil.ch ip4:128.127.66.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:mail.obt-services.ch include:spf.abacuscity.ch include:_spf.i-web.ch include:_spf.rexx-systems.com include:_spf.psm.knowbe4.com include:_spf.rzobt.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 a:mx01.rexx-systems.de ip6:2001:67c:2050::/48 ip4:92.51.187.64/27 ip4:83.169.51.224/27 ip4:80.237.187.32/28 ip4:91.250.74.128/27 ip4:87.230.74.128/28 ip4:91.250.95.64/26 ip4:85.25.89.0/24 ip4:195.10.208.0/26 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX adliswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.adliswil.ch CNAME → selector1-adliswil-ch._domainkey.adliswilcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.adliswil.ch CNAME → selector2-adliswil-ch._domainkey.adliswilcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "adliswil.ch" + ], + "redirect":[], + "wikidata":[ + "adliswil.ch" + ], + "guess":[ + "adliswil.ch" + ] + }, + "resolve_flags":[] }, "135":{ "bfs":"135", - "name":"Kilchberg", + "name":"Kilchberg (ZH)", "canton":"", "domain":"kilchberg.ch", "mx":[ @@ -1607,31 +5658,65 @@ ], "spf":"v=spf1 mx a:mx1.naveum.services a:mx2.naveum.services a:mail01.axc.biz ip4:193.135.56.6 include:spf.abacuscity.ch include:spf.axc-cms.biz -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mx1.naveum.services a:mx2.naveum.services a:mail01.axc.biz ip4:193.135.56.6 include:spf.abacuscity.ch include:spf.axc-cms.biz -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:185.169.85.128/28 ip6:2a04:503:0:1028::/64 -all", - "mx_asns":[ - 205737 - ], - "autodiscover":{ - "autodiscover_cname":"mail01.axc.biz" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[ + "kilchberg.ch" + ], + "redirect":[], + "wikidata":[ + "kilchberg.ch" + ], + "guess":[ + "kilchberg.ch" + ] + }, + "resolve_flags":[] }, "136":{ "bfs":"136", "name":"Langnau am Albis", "canton":"", - "domain":"langnau.ch", + "domain":"solicom.ch", "mx":[ - "langnau-ch.mail.protection.outlook.com" + "mail.solicom.ch" ], - "spf":"v=spf1 mx include:spf.protection.outlook.com ~all", - "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "langnau.ch", + "solicom.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[] + }, + "resolve_flags":[] }, "137":{ "bfs":"137", @@ -1644,14 +5729,53 @@ ], "spf":"v=spf1 mx ip4:92.43.216.251 ip4:92.43.216.110 a:msscript1.webland.ch include:spf.protection.outlook.com include:spf.ws-hp-ias.ch include:spf.zii.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:92.43.216.251 ip4:92.43.216.110 a:msscript1.webland.ch include:spf.protection.outlook.com include:spf.ws-hp-ias.ch include:spf.zii.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.mail.hostpoint.ch -all v=spf1 ip4:195.65.253.130 ip4:83.144.243.194 include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 3303, - 33965 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberrieden.ch" + ], + "redirect":[], + "wikidata":[ + "oberrieden.ch" + ], + "guess":[ + "oberrieden.ch" + ] + }, + "resolve_flags":[] }, "138":{ "bfs":"138", @@ -1663,14 +5787,83 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:mx.grl.activeguard.cloud ip4:194.29.25.62 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:mx.grl.activeguard.cloud ip4:194.29.25.62 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"mail.richterswil.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX richterswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "richterswil.ch" + ], + "redirect":[], + "wikidata":[ + "richterswil.ch" + ], + "guess":[ + "richterswil.ch" + ] + }, + "resolve_flags":[] }, "139":{ "bfs":"139", @@ -1682,13 +5875,77 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com include:spf.umantis.com a:mail.hope.myshare.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com include:spf.umantis.com a:mail.hope.myshare.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rueschlikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "rueschlikon.ch" + ], + "redirect":[], + "wikidata":[ + "rueschlikon.ch" + ], + "guess":[ + "rueschlikon.ch" + ] + }, + "resolve_flags":[] }, "141":{ "bfs":"141", @@ -1701,37 +5958,153 @@ ], "spf":"v=spf1 include:spf.zii.ch include:_spf.i-web.ch include:spf.abacuscity.ch ip4:195.49.84.165 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.zii.ch include:_spf.i-web.ch include:spf.abacuscity.ch ip4:195.49.84.165 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch -all v=spf1 ip4:195.65.253.130 ip4:83.144.243.194 include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 3303, - 33965 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "thalwil.ch" + ], + "redirect":[], + "wikidata":[ + "thalwil.ch" + ], + "guess":[ + "thalwil.ch" + ] + }, + "resolve_flags":[] }, "151":{ "bfs":"151", - "name":"Erlenbach", - "canton":"", + "name":"Erlenbach (ZH)", + "canton":"Kanton Zürich", "domain":"erlenbach.ch", "mx":[ "erlenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.cyon.net include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.protection.cyon.net include:_spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX erlenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.erlenbach.ch CNAME → selector1-erlenbach-ch._domainkey.gmderlenbach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.erlenbach.ch CNAME → selector2-erlenbach-ch._domainkey.gmderlenbach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "erlenbach.ch" + ], + "redirect":[], + "wikidata":[ + "erlenbach.ch" + ], + "guess":[ + "erlenbach.ch", + "gemeinde-erlenbach.ch" + ] + }, + "resolve_flags":[] }, "152":{ "bfs":"152", "name":"Herrliberg", - "canton":"", + "canton":"Kanton Zürich", "domain":"herrliberg.ch", "mx":[ "mx1.naveum.services", @@ -1739,17 +6112,40 @@ ], "spf":"v=spf1 a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 205737 - ], - "autodiscover":{ - "autodiscover_cname":"mail01.axc.biz" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[ + "herrliberg.ch" + ], + "redirect":[], + "wikidata":[ + "herrliberg.ch" + ], + "guess":[ + "herrliberg.ch" + ] + }, + "resolve_flags":[] }, "153":{ "bfs":"153", "name":"Hombrechtikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"hombrechtikon.ch", "mx":[ "mta1.abxsec.com", @@ -1757,19 +6153,35 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"mail.hombrechtikon.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "hombrechtikon.ch" + ], + "redirect":[], + "wikidata":[ + "hombrechtikon.ch" + ], + "guess":[ + "hombrechtikon.ch" + ] + }, + "resolve_flags":[] }, "154":{ "bfs":"154", - "name":"Küsnacht", - "canton":"", + "name":"Küsnacht (ZH)", + "canton":"Kanton Zürich", "domain":"kuesnacht.ch", "mx":[ "mta1.abxsec.com", @@ -1777,88 +6189,335 @@ ], "spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.0/24 ip4:193.135.57.0/24 ip4:193.135.58.0/24 include:servers.mcsv.net ip4:193.246.64.0/19 a:mail01.refline.ch a:mail02.refline.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.0/24 ip4:193.135.57.0/24 ip4:193.135.58.0/24 include:servers.mcsv.net ip4:193.246.64.0/19 a:mail01.refline.ch a:mail02.refline.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"webmail.kuesnacht.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "kuesnacht.ch" + ], + "redirect":[], + "wikidata":[ + "kuesnacht.ch" + ], + "guess":[ + "kuesnacht.ch" + ] + }, + "resolve_flags":[] }, "155":{ "bfs":"155", "name":"Männedorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"maennedorf.ch", "mx":[ "mail2.maennedorf.ch" ], "spf":"v=spf1 mx a:mail01.refline.ch a:mail02.refline.ch a:spf1.refline.ch a:spf2.refline.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.i-web.ch include:spf.protection.outlook.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx a:mail01.refline.ch a:mail02.refline.ch a:spf1.refline.ch a:spf2.refline.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "maennedorf.ch" + ], + "redirect":[], + "wikidata":[ + "maennedorf.ch" + ], + "guess":[ + "maennedorf.ch" + ] + }, + "resolve_flags":[] }, "156":{ "bfs":"156", "name":"Meilen", - "canton":"", + "canton":"Kanton Zürich", "domain":"meilen.ch", "mx":[ "meilen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.iway.ch include:spf.bestview.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.iway.ch include:spf.bestview.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:65.109.228.236 include:_spf.smtp.com ip4:212.55.205.0/25 ~all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX meilen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.meilen.ch CNAME → selector1-meilen-ch._domainkey.meilench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.meilen.ch CNAME → selector2-meilen-ch._domainkey.meilench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "meilen.ch" + ], + "redirect":[], + "wikidata":[ + "meilen.ch" + ], + "guess":[ + "meilen.ch", + "meilen.zh.ch" + ] + }, + "resolve_flags":[] }, "157":{ "bfs":"157", "name":"Oetwil am See", - "canton":"", + "canton":"Kanton Zürich", "domain":"oetwil.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spf.psm.knowbe4.com include:_spfmx.rizag.ch include:spf.abxsec.com include:spf.protection.outlook.com mx ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.psm.knowbe4.com include:_spfmx.rizag.ch include:spf.abxsec.com include:spf.protection.outlook.com mx ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oetwil.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "158":{ "bfs":"158", "name":"Stäfa", - "canton":"", + "canton":"Kanton Zürich", "domain":"staefa.ch", "mx":[ "staefa-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:spf1.refline.ch a:spf2.refline.ch a:mail01.refline.ch a:mail02.refline.ch include:backslash.ch a:mail.obt-services.ch include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:spf1.refline.ch a:spf2.refline.ch a:mail01.refline.ch a:mail02.refline.ch include:backslash.ch a:mail.obt-services.ch include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.protection.outlook.com ip4:193.135.56.0/24 ip4:193.135.57.0/24 ip4:193.135.58.0/24 ip4:89.47.51.12 ip6:2001:1600:13:101::141f include:spf.crsend.com -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX staefa-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.staefa.ch CNAME → selector1-staefa-ch._domainkey.staefacloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.staefa.ch CNAME → selector2-staefa-ch._domainkey.staefacloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "staefa.ch" + ], + "guess":[ + "gemeinde-staefa.ch", + "staefa.ch" + ] + }, + "resolve_flags":[] }, "159":{ "bfs":"159", "name":"Uetikon am See", - "canton":"", + "canton":"Kanton Zürich", "domain":"uetikonamsee.ch", "mx":[ "smtagb02.abxsec.com", @@ -1868,19 +6527,59 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:_spf.i-web.ch include:spf.nl2go.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:_spf.i-web.ch include:spf.nl2go.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.uetikonamsee.ch CNAME → selector1-uetikonamsee-ch._domainkey.uetikonamsee.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.uetikonamsee.ch CNAME → selector2-uetikonamsee-ch._domainkey.uetikonamsee.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "uetikonamsee.ch" + ], + "redirect":[ + "uetikonamsee.ch" + ], + "wikidata":[], + "guess":[ + "uetikonamsee.ch" + ] + }, + "resolve_flags":[] }, "160":{ "bfs":"160", "name":"Zumikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"zumikon.ch", "mx":[ "mta1.abxsec.com", @@ -1888,16 +6587,35 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ip4:46.182.222.130 ip4:46.182.222.133 ip4:46.182.222.142 ip4:91.192.38.98 ip4:194.41.147.13 ip4:194.41.147.14 ip4:194.88.197.144 ip4:194.88.197.178 ip4:194.41.128.0/17 ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ip4:46.182.222.130 ip4:46.182.222.133 ip4:46.182.222.142 ip4:91.192.38.98 ip4:194.41.147.13 ip4:194.41.147.14 ip4:194.88.197.144 ip4:194.88.197.178 ip4:194.41.128.0/17 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "zumikon.ch" + ], + "redirect":[], + "wikidata":[ + "zumikon.ch" + ], + "guess":[ + "zumikon.ch" + ] + }, + "resolve_flags":[] }, "161":{ "bfs":"161", "name":"Zollikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"zollikon.ch", "mx":[ "mta1.abxsec.com", @@ -1905,37 +6623,154 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com a:daten.zollikon.ch a:victorinus.ch-meta.net ptr:tux149.hoststar.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com a:daten.zollikon.ch a:victorinus.ch-meta.net ptr:tux149.hoststar.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "zollikon.ch" + ], + "redirect":[], + "wikidata":[ + "zollikon.ch" + ], + "guess":[ + "zollikon.ch", + "zollikon.zh.ch" + ] + }, + "resolve_flags":[] }, "172":{ "bfs":"172", "name":"Fehraltorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"fehraltorf.ch", "mx":[ "fehraltorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.100.16 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.talus.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com ip4:193.135.100.16 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.talus.ch include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fehraltorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.fehraltorf.ch CNAME → selector1-fehraltorf-ch._domainkey.gvfehraltorf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.fehraltorf.ch CNAME → selector2-fehraltorf-ch._domainkey.gvfehraltorf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "fehraltorf.ch" + ], + "redirect":[], + "wikidata":[ + "fehraltorf.ch" + ], + "guess":[ + "fehraltorf.ch" + ] + }, + "resolve_flags":[] }, "173":{ "bfs":"173", "name":"Hittnau", - "canton":"", + "canton":"Kanton Zürich", "domain":"hittnau.ch", "mx":[ "mta1.abxsec.com", @@ -1943,211 +6778,702 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com a:web18.bestview.ch include:spf1.egeko.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com a:web18.bestview.ch include:spf1.egeko.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "hittnau.ch" + ], + "redirect":[], + "wikidata":[ + "hittnau.ch" + ], + "guess":[ + "hittnau.ch" + ] + }, + "resolve_flags":[] }, "176":{ "bfs":"176", "name":"Lindau", - "canton":"", + "canton":"Kanton Zürich", "domain":"lindau.ch", "mx":[ "mail.glindau.ch" ], "spf":"v=spf1 +a +mx include:glindau.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx include:glindau.ch ~all v=spf1 +a +mx +a:web.ti-cloud.ch +a:mail.lindau.ch -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"alias.glindau.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lindau.ch" + ], + "redirect":[], + "wikidata":[ + "lindau.ch" + ], + "guess":[ + "lindau.ch", + "lindau.zh.ch" + ] + }, + "resolve_flags":[] }, "177":{ "bfs":"177", "name":"Pfäffikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"pfaeffikon.ch", "mx":[ "pfaeffikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_netblocks_v4.pfaeffikon.ch include:_partners.pfaeffikon.ch include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_netblocks_v4.pfaeffikon.ch include:_partners.pfaeffikon.ch include:_spf.abxsec.com -all v=spf1 ip4:193.246.95.96/27 ip4:5.152.185.153 ip4:5.152.185.154 ip4:5.152.185.155 ip4:194.6.175.15 ip4:185.156.11.34 ip4:185.156.11.2 ip4:94.231.81.6 ip4:195.65.10.12 -all v=spf1 include:spf.protection.outlook.com include:spf.mva-n.net include:spf.abacuscity.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip6:2001:67c:1984::/48 ip4:195.65.111.0/24 ip4:194.124.232.0/23 a:mx01.mva.ch a:xchsrv10.xchangeonline.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pfaeffikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.pfaeffikon.ch CNAME → selector1-pfaeffikon-ch._domainkey.pfaeffikonzh.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.pfaeffikon.ch CNAME → selector2-pfaeffikon-ch._domainkey.pfaeffikonzh.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pfaeffikon.ch" + ], + "redirect":[], + "wikidata":[ + "pfaeffikon.ch" + ], + "guess":[ + "pfaeffikon.ch" + ] + }, + "resolve_flags":[] }, "178":{ "bfs":"178", "name":"Russikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"russikon.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:212.80.96.0/21 ip4:149.126.4.38 ip6:2a01:7480:1:100::/64 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:212.80.96.0/21 ip4:149.126.4.38 ip6:2a01:7480:1:100::/64 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "russikon.ch" + ], + "redirect":[], + "wikidata":[ + "russikon.ch" + ], + "guess":[ + "russikon.ch" + ] + }, + "resolve_flags":[] }, "180":{ "bfs":"180", "name":"Weisslingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"weisslingen.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch a mx include:_spf.i-web.ch ip4:46.232.179.212 include:spf1.egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch a mx include:_spf.i-web.ch ip4:46.232.179.212 include:spf1.egeko.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rizag.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "weisslingen.ch" + ], + "redirect":[], + "wikidata":[ + "weisslingen.ch" + ], + "guess":[ + "weisslingen.ch" + ] + }, + "resolve_flags":[] }, "181":{ "bfs":"181", "name":"Wila", - "canton":"", + "canton":"Kanton Zürich", "domain":"wila.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "wila.ch" + ], + "redirect":[], + "wikidata":[ + "wila.ch" + ], + "guess":[ + "wila.ch" + ] + }, + "resolve_flags":[] }, "182":{ "bfs":"182", "name":"Wildberg", - "canton":"", + "canton":"Kanton Zürich", "domain":"wildberg.ch", "mx":[ "wildberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wildberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wildberg.ch" + ], + "redirect":[], + "wikidata":[ + "wildberg.ch" + ], + "guess":[ + "wildberg.ch" + ] + }, + "resolve_flags":[] }, "191":{ "bfs":"191", "name":"Dübendorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"duebendorf.ch", "mx":[ "stadtduebendorf.in.tmes.trendmicro.eu" ], "spf":"v=spf1 mx include:speedadmin.dk ip4:80.242.195.146 ip4:80.242.195.157 include:spf.crsend.com include:spf.abxsec.com include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.bestview.ch include:spf.tmes.trendmicro.eu -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:speedadmin.dk ip4:80.242.195.146 ip4:80.242.195.157 include:spf.crsend.com include:spf.abxsec.com include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.bestview.ch include:spf.tmes.trendmicro.eu -all v=spf1 ip4:87.54.30.56 include:spf.protection.outlook.com -all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:65.109.228.236 include:_spf.smtp.com ip4:212.55.205.0/25 ~all v=spf1 ip4:18.185.115.0/25 ip4:18.185.115.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:3.72.196.143 ip4:18.156.0.20 ip4:35.156.245.132 ip4:18.208.22.124 ip4:18.208.22.125 ip4:18.96.32.128/27 ip6:2a05:d014:10e:d900::/60 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"trendmicro", - "mx_asns":[ - 16509 - ] + "sources_detail":{ + "scrape":[ + "duebendorf.ch" + ], + "redirect":[], + "wikidata":[ + "duebendorf.ch" + ], + "guess":[ + "duebendorf.ch" + ] + }, + "resolve_flags":[] }, "192":{ "bfs":"192", "name":"Egg", - "canton":"", + "canton":"Kanton Zürich", "domain":"egg.ch", "mx":[ "egg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf.abacuscity.ch include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf.abacuscity.ch include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX egg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "egg.ch" + ], + "redirect":[], + "wikidata":[ + "egg.ch" + ], + "guess":[ + "egg.ch" + ] + }, + "resolve_flags":[] }, "193":{ "bfs":"193", "name":"Fällanden", - "canton":"", + "canton":"Kanton Zürich", "domain":"faellanden.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx a:smtazh01.abxsec.com include:_spf.i-web.ch a:mail01.refline.ch a:mail02.refline.ch a:mail.obt-services.ch a:mail1.obtcloud.ch ip4:193.135.100.0/27 include:spf.abacuscity.ch include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx a:smtazh01.abxsec.com include:_spf.i-web.ch a:mail01.refline.ch a:mail02.refline.ch a:mail.obt-services.ch a:mail1.obtcloud.ch ip4:193.135.100.0/27 include:spf.abacuscity.ch include:_spf.rzobt.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rizag.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "faellanden.ch" + ], + "redirect":[], + "wikidata":[ + "faellanden.ch" + ], + "guess":[ + "faellanden.ch" + ] + }, + "resolve_flags":[] }, "194":{ "bfs":"194", "name":"Greifensee", - "canton":"", + "canton":"Kanton Zürich", "domain":"greifensee.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.i-web.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.i-web.ch include:spf.abxsec.com -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "greifensee.ch" + ], + "redirect":[], + "wikidata":[ + "greifensee.ch" + ], + "guess":[ + "greifensee.ch", + "greifensee.zh.ch" + ] + }, + "resolve_flags":[] }, "195":{ "bfs":"195", "name":"Maur", - "canton":"", + "canton":"Kanton Zürich", "domain":"maur.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch include:spf.abxsec.com a:mail.arabachwis.ch a:mail.traberedv.ch a:communication.backslash.ch mx include:spf1.mailchannels.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch include:spf.abxsec.com a:mail.arabachwis.ch a:mail.traberedv.ch a:communication.backslash.ch mx include:spf1.mailchannels.net include:spf.protection.outlook.com -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "maur.ch" + ], + "redirect":[], + "wikidata":[ + "maur.ch" + ], + "guess":[ + "maur.ch" + ] + }, + "resolve_flags":[] }, "196":{ "bfs":"196", "name":"Mönchaltorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"moenchaltorf.ch", "mx":[ "mta1.abxsec.com", @@ -2155,54 +7481,188 @@ ], "spf":"v=spf1 ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:_spf.google.com include:_spf.i-web.ch -all", "provider":"google", - "spf_resolved":"v=spf1 ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:_spf.google.com include:_spf.i-web.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", + "category":"us-cloud", + "classification_confidence":70.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "moenchaltorf.ch" + ], + "redirect":[], + "wikidata":[ + "moenchaltorf.ch" + ], + "guess":[ + "moenchaltorf.ch" + ] + }, + "resolve_flags":[] }, "197":{ "bfs":"197", "name":"Schwerzenbach", - "canton":"", + "canton":"Kanton Zürich", "domain":"schwerzenbach.ch", "mx":[ "schwerzenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:_spf.abxsec.com ip4:213.158.144.22 ip4:62.12.175.210 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:_spf.abxsec.com ip4:213.158.144.22 ip4:62.12.175.210 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schwerzenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.schwerzenbach.ch CNAME → selector1-schwerzenbach-ch._domainkey.gemeindeschwerzenbach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.schwerzenbach.ch CNAME → selector2-schwerzenbach-ch._domainkey.gemeindeschwerzenbach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schwerzenbach.ch" + ], + "redirect":[], + "wikidata":[ + "schwerzenbach.ch" + ], + "guess":[ + "schwerzenbach.ch" + ] + }, + "resolve_flags":[] }, "198":{ "bfs":"198", "name":"Uster", - "canton":"", + "canton":"Kanton Zürich", "domain":"uster.ch", "mx":[ "mta1.abxsec.com", "mta2.abxsec.com" ], - "spf":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 ip6:2a02:c382:0:8007::101 ip6:2a02:c382:0:8007::121 ip4:194.209.75.192/26 ip4:195.65.10.12 ip4:195.65.10.14 ip4:167.89.53.198 ip4:149.72.40.42 ip4:167.89.89.155 ip4:217.26.48.124 ip4:217.26.48.146 ip4:217.26.48.147 ip4:217.26.48.121 ip6:2a00:d70:0:a::e0 ip6:2a00:d70:0:13::100 ip6:2a00:d70:0:14::100 ip6:2a00:d70:0:a::e1 include:_spf.abxsec.com include:spf.umantis.com include:spf.abacuscity.ch include:spf.iway.ch include:spf.protection.outlook.com include:mandrillapp.com include:_spf.atlassian.net -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 ip6:2a02:c382:0:8007::101 ip6:2a02:c382:0:8007::121 ip4:194.209.75.192/26 ip4:195.65.10.12 ip4:195.65.10.14 ip4:167.89.53.198 ip4:149.72.40.42 ip4:167.89.89.155 ip4:217.26.48.124 ip4:217.26.48.146 ip4:217.26.48.147 ip4:217.26.48.121 ip6:2a00:d70:0:a::e0 ip6:2a00:d70:0:13::100 ip6:2a00:d70:0:14::100 ip6:2a00:d70:0:a::e1 include:_spf.abxsec.com include:spf.umantis.com include:spf.abacuscity.ch include:spf.iway.ch include:spf.protection.outlook.com include:mandrillapp.com include:_spf.atlassian.net -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.mandrillapp.com ~all v=spf1 ip4:167.89.0.0/17 ip4:168.245.0.0/17 include:amazonses.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "spf":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 ip6:2a02:c382:0:8007::101 ip6:2a02:c382:0:8007::121 ip4:194.209.75.192/26 ip4:195.65.10.12 ip4:195.65.10.13 ip4:195.65.10.14 ip4:195.65.10.15 ip4:167.89.53.198 ip4:149.72.40.42 ip4:167.89.89.155 ip4:217.26.48.124 ip4:217.26.48.146 ip4:217.26.48.147 ip4:217.26.48.121 ip6:2a00:d70:0:a::e0 ip6:2a00:d70:0:13::100 ip6:2a00:d70:0:14::100 ip6:2a00:d70:0:a::e1 include:_spf.abxsec.com include:spf.umantis.com include:spf.abacuscity.ch include:spf.iway.ch include:spf.protection.outlook.com include:mandrillapp.com include:_spf.atlassian.net -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "uster.ch" + ], + "guess":[ + "stadt-uster.ch", + "uster.ch" + ] + }, + "resolve_flags":[] }, "199":{ "bfs":"199", "name":"Volketswil", - "canton":"", + "canton":"Kanton Zürich", "domain":"volketswil.ch", "mx":[ "mx1.naveum.services", @@ -2210,90 +7670,358 @@ ], "spf":"v=spf1 mx a:mx2.naveum.services a:mx1.naveum.services a:mail01.axc.biz ip4:193.135.56.6 ip4:194.56.218.154 include:spf.umantis.com include:mailomat.cloud -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mx2.naveum.services a:mx1.naveum.services a:mail01.axc.biz ip4:193.135.56.6 ip4:194.56.218.154 include:spf.umantis.com include:mailomat.cloud -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 include:spf.protection.cyon.net include:_spf.mailomat.cloud ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:91.233.182.0/25 ~all", - "mx_asns":[ - 205737 - ], - "autodiscover":{ - "autodiscover_cname":"mail01.axc.biz" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "volketswil.ch" + ], + "guess":[ + "volketswil.ch" + ] + }, + "resolve_flags":[] }, "200":{ "bfs":"200", "name":"Wangen-Brüttisellen", - "canton":"", + "canton":"Kanton Zürich", "domain":"wangen-bruettisellen.ch", "mx":[ "wangenbruettisellen-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.i-web.ch include:egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.i-web.ch include:egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"ms-ch.securemail.pro" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wangenbruettisellen-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wangen-bruettisellen.ch" + ], + "redirect":[], + "wikidata":[ + "wangen-bruettisellen.ch" + ], + "guess":[ + "wangen-bruettisellen.ch" + ] + }, + "resolve_flags":[] }, "211":{ "bfs":"211", "name":"Altikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"altikon.ch", "mx":[ - "altikon-ch.gate.seppmail.cloud" - ], - "spf":"v=spf1 include:_spf.abxsec.com ip4:193.135.56.0/24 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.abxsec.com ip4:193.135.56.0/24 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 - ] + "altikon-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.0/24 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX altikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "altikon.ch" + ], + "guess":[ + "altikon.ch" + ] + }, + "resolve_flags":[] }, "213":{ "bfs":"213", "name":"Brütten", - "canton":"", + "canton":"Kanton Zürich", "domain":"bruetten.ch", "mx":[ "bruetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.rzobt.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.rzobt.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bruetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bruetten.ch" + ], + "redirect":[], + "wikidata":[ + "bruetten.ch" + ], + "guess":[ + "bruetten.ch" + ] + }, + "resolve_flags":[] }, "214":{ "bfs":"214", "name":"Dägerlen", - "canton":"", + "canton":"Kanton Zürich", "domain":"daegerlen.ch", "mx":[ "daegerlen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX daegerlen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "daegerlen.ch" + ], + "redirect":[], + "wikidata":[ + "daegerlen.ch" + ], + "guess":[ + "daegerlen.ch" + ] + }, + "resolve_flags":[] }, "215":{ "bfs":"215", "name":"Dättlikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"daettlikon.ch", "mx":[ "mta1.abxsec.com", @@ -2301,121 +8029,406 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.mtfweb.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.mtfweb.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 a -all", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "daettlikon.ch" + ], + "redirect":[], + "wikidata":[ + "daettlikon.ch" + ], + "guess":[ + "daettlikon.ch" + ] + }, + "resolve_flags":[] }, "216":{ "bfs":"216", "name":"Dinhard", - "canton":"", + "canton":"Kanton Zürich", "domain":"dinhard.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx a:webcms.ruf.ch ip4:193.135.56.6 include:_spf.abxsec.com include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch ip4:193.135.56.6 include:_spf.abxsec.com include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "dinhard.ch" + ], + "redirect":[], + "wikidata":[ + "dinhard.ch" + ], + "guess":[ + "dinhard.ch", + "dinhard.zh.ch" + ] + }, + "resolve_flags":[] }, "218":{ "bfs":"218", "name":"Ellikon an der Thur", - "canton":"", + "canton":"Kanton Zürich", "domain":"ellikonanderthur.ch", "mx":[ "ellikonanderthur-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.2sic.net include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.6 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.2sic.net include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.6 ~all v=spf1 ip4:194.0.212.0/24 ip6:2001:678:8ec::/48 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ellikonanderthur-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ellikonanderthur.ch" + ], + "redirect":[], + "wikidata":[ + "ellikonanderthur.ch" + ], + "guess":[ + "ellikonanderthur.ch" + ] + }, + "resolve_flags":[] }, "219":{ "bfs":"219", "name":"Elsau", - "canton":"", + "canton":"Kanton Zürich", "domain":"elsau.ch", "mx":[ "elsau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:egeko.ch include:_spf.psm.knowbe4.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:egeko.ch include:_spf.psm.knowbe4.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX elsau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.elsau.ch CNAME → selector1-elsau-ch._domainkey.elsau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.elsau.ch CNAME → selector2-elsau-ch._domainkey.elsau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "elsau.ch" + ], + "redirect":[], + "wikidata":[ + "elsau.ch" + ], + "guess":[ + "elsau.ch" + ] + }, + "resolve_flags":[] }, "220":{ "bfs":"220", "name":"Hagenbuch", - "canton":"", - "domain":"hagenbuch.zh.ch", + "canton":"Kanton Zürich", + "domain":"hagenbuch-zh.ch", "mx":[ - "mtain01.mailsecurity.swisscom.com", - "mtain02.mailsecurity.swisscom.com" + "mta1.abxsec.com", + "mta2.abxsec.com" ], - "spf":"", - "provider":"independent" + "spf":"v=spf1 mx a include:_spf.abxsec.com +include:spf1.egeko.ch ip4:193.135.56.6 ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "gateway":"abxsec", + "sources_detail":{ + "override":[ + "hagenbuch-zh.ch" + ] + }, + "resolve_flags":[] }, "221":{ "bfs":"221", "name":"Hettlingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"hettlingen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 mx include:spf.abxsec.com include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com include:_spf.rzobt.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hettlingen.ch" + ], + "redirect":[], + "wikidata":[ + "hettlingen.ch" + ], + "guess":[ + "hettlingen.ch", + "hettlingen.zh.ch" + ] + }, + "resolve_flags":[] }, "223":{ "bfs":"223", "name":"Neftenbach", - "canton":"", + "canton":"Kanton Zürich", "domain":"neftenbach.ch", "mx":[ - "mail1.rzobt.ch", - "mail2.rzobt.ch" - ], - "spf":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "neftenbach-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neftenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "neftenbach.ch" + ], + "redirect":[], + "wikidata":[ + "neftenbach.ch" + ], + "guess":[ + "neftenbach.ch" + ] + }, + "resolve_flags":[] }, "224":{ "bfs":"224", "name":"Pfungen", - "canton":"", + "canton":"Kanton Zürich", "domain":"pfungen.ch", "mx":[ "mx1.mtfcloud.ch", @@ -2424,34 +8437,93 @@ ], "spf":"v=spf1 ip4:217.148.0.25 mx include:_spf.i-web.ch include:spf.mtfweb.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:217.148.0.25 mx include:_spf.i-web.ch include:spf.mtfweb.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 20988 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.pfungen.ch CNAME → selector1-pfungen-ch._domainkey.mtfsc95146.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.pfungen.ch CNAME → selector2-pfungen-ch._domainkey.mtfsc95146.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pfungen.ch", + "schulepfungen.ch" + ], + "redirect":[], + "wikidata":[ + "pfungen.ch" + ], + "guess":[ + "pfungen.ch", + "pfungen.zh.ch" + ] + }, + "resolve_flags":[] }, "225":{ "bfs":"225", - "name":"Rickenbach ZH", - "canton":"", - "domain":"rickenbach.zh.ch", + "name":"Rickenbach (ZH)", + "canton":"Kanton Zürich", + "domain":"rickenbach-zh.ch", "mx":[ - "smtasg01.abxsec.com", - "smtazh01.abxsec.com" + "mail100.rizag.ch" ], - "spf":"", - "provider":"independent", - "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com mx:talus.ch ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "override":[ + "rickenbach-zh.ch" + ] + }, + "resolve_flags":[] }, "226":{ "bfs":"226", - "name":"Schlatt", - "canton":"", + "name":"Schlatt (ZH)", + "canton":"Kanton Zürich", "domain":"schlatt-zh.ch", "mx":[ "mta1.abxsec.com", @@ -2459,128 +8531,384 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.abx-net.net" - } + "sources_detail":{ + "scrape":[ + "schlatt-zh.ch" + ], + "redirect":[], + "wikidata":[ + "schlatt-zh.ch" + ], + "guess":[ + "schlatt.ch" + ] + }, + "resolve_flags":[] }, "227":{ "bfs":"227", "name":"Seuzach", - "canton":"", + "canton":"Kanton Zürich", "domain":"seuzach.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:spf.abxsec.com ~all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "seuzach.ch" + ], + "redirect":[], + "wikidata":[ + "seuzach.ch" + ], + "guess":[ + "seuzach.ch" + ] + }, + "resolve_flags":[] }, "228":{ "bfs":"228", "name":"Turbenthal", - "canton":"", + "canton":"Kanton Zürich", "domain":"turbenthal.ch", "mx":[ "turbenthal-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.ch.seppmail.cloud include:egeko.ch include:spf.protection.outlook.com ip4:193.135.56.6 ip4:212.243.171.122 ip4:83.173.240.50 ip4:212.90.205.250 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.ch.seppmail.cloud include:egeko.ch include:spf.protection.outlook.com ip4:193.135.56.6 ip4:212.243.171.122 ip4:83.173.240.50 ip4:212.90.205.250 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "turbenthal.ch" + ], + "guess":[ + "turbenthal.ch" + ] + }, + "resolve_flags":[] }, "230":{ "bfs":"230", "name":"Winterthur", - "canton":"", + "canton":"Kanton Zürich", "domain":"win.ch", "mx":[ "mx01.mailsecurity.swisscom.com", "mx02.mailsecurity.swisscom.com" ], "spf":"v=spf1 include:_spf.win.ch include:mailsecurity.swisscom.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.win.ch include:mailsecurity.swisscom.com -all v=spf1 include:_spf.extern.win.ch -all v=spf1 include:_spf.mailsecurity.swisscom.com ~all v=spf1 ip4:193.8.88.224 ip4:195.65.10.12 ip4:184.72.216.93 ip4:194.56.33.11 ip4:91.198.12.38 ip4:23.23.158.88 ip4:23.23.195.124 ip4:193.246.64.0/19 ip4:217.26.49.128/25 include:servers.mcsv.net include:spf.imc-hosting.com -all v=spf1 ip4:193.135.100.0/27 ~all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:4.231.234.136 ip4:4.231.171.210 ip4:52.178.135.21 ip4:20.107.242.47 ip4:4.197.4.76 ip4:85.215.73.51 -all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "win.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "stadt-winterthur.ch" + ] + }, + "resolve_flags":[] }, "231":{ "bfs":"231", - "name":"Zell ZH", - "canton":"", + "name":"Zell (ZH)", + "canton":"Kanton Zürich", "domain":"zell.ch", "mx":[ "zell-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf.protection.outlook.com include:_spf.abxsec.com ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf.protection.outlook.com include:_spf.abxsec.com ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 ~all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zell-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zell.ch" + ], + "redirect":[], + "wikidata":[ + "zell.ch" + ], + "guess":[ + "zell.ch", + "zell.zh.ch" + ] + }, + "resolve_flags":[] }, "241":{ "bfs":"241", - "name":"Aesch", - "canton":"", + "name":"Aesch (ZH)", + "canton":"Kanton Zürich", "domain":"aesch-zh.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch a:smtp1-1.infra.gtg1.ch.abainfra.net -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch a:smtp1-1.infra.gtg1.ch.abainfra.net -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "aesch-zh.ch" + ], + "redirect":[], + "wikidata":[ + "aesch-zh.ch" + ], + "guess":[ + "aesch.ch", + "aesch.zh.ch" + ] + }, + "resolve_flags":[] }, "242":{ "bfs":"242", - "name":"Birmensdorf", - "canton":"", + "name":"Birmensdorf (ZH)", + "canton":"Kanton Zürich", "domain":"birmensdorf.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:mailsecurity.swisscom.com include:_spf.rzobt.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:mailsecurity.swisscom.com include:_spf.rzobt.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:_spf.mailsecurity.swisscom.com ~all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:193.135.100.0/27 ~all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "birmensdorf.ch" + ], + "redirect":[], + "wikidata":[ + "birmensdorf.ch" + ], + "guess":[ + "birmensdorf.ch", + "birmensdorf.zh.ch" + ] + }, + "resolve_flags":[] }, "243":{ "bfs":"243", "name":"Dietikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"dietikon.ch", "mx":[ "mta1.abxsec.com", @@ -2588,19 +8916,42 @@ ], "spf":"v=spf1 mx ip4:193.246.68.28 ip4:193.246.68.29 ip4:193.246.80.28 ip4:193.246.80.29 include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:mail01.refline.ch include:mail02.refline.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.246.68.28 ip4:193.246.68.29 ip4:193.246.80.28 ip4:193.246.80.29 include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:mail01.refline.ch include:mail02.refline.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx:refline.ch ip4:212.71.124.231 ip4:212.71.124.232 include:spf.iway.ch ~all v=spf1 mx:refline.ch ip4:212.71.124.231 ip4:212.71.124.232 include:spf.iway.ch ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"mail.dietikon.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "dietikon.ch" + ], + "redirect":[], + "wikidata":[ + "dietikon.ch" + ], + "guess":[ + "dietikon.ch", + "stadt-dietikon.ch" + ] + }, + "resolve_flags":[] }, "244":{ "bfs":"244", "name":"Geroldswil", - "canton":"", + "canton":"Kanton Zürich", "domain":"geroldswil.ch", "mx":[ "mta1.abxsec.com", @@ -2608,52 +8959,157 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "geroldswil.ch" + ], + "guess":[ + "geroldswil.ch" + ] + }, + "resolve_flags":[] }, "245":{ "bfs":"245", "name":"Oberengstringen", - "canton":"", + "canton":"Kanton Zürich", "domain":"oberengstringen.ch", "mx":[ "oberengstringen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf1.egeko.ch include:_spf.i-web.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf1.egeko.ch include:_spf.i-web.ch include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberengstringen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberengstringen.ch" + ], + "redirect":[], + "wikidata":[ + "oberengstringen.ch" + ], + "guess":[ + "oberengstringen.ch" + ] + }, + "resolve_flags":[] }, "246":{ "bfs":"246", "name":"Oetwil an der Limmat", - "canton":"", + "canton":"Kanton Zürich", "domain":"oetwil-limmat.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch include:spf.abxsec.com mx ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch include:spf.abxsec.com mx ip4:193.135.56.6 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oetwil-limmat.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "247":{ "bfs":"247", "name":"Schlieren", - "canton":"", + "canton":"Kanton Zürich", "domain":"schlieren.ch", "mx":[ "mta1.abxsec.com", @@ -2661,124 +9117,449 @@ ], "spf":"v=spf1 a mx ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:_spf.i-web.ch include:spf.umantis.com include:mhs.ch include:spf.protection.outlook.com include:sendgrid.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:_spf.i-web.ch include:spf.umantis.com include:mhs.ch include:spf.protection.outlook.com include:sendgrid.net -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 include:spf.protection.cyon.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"webmail.schlieren.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "schlieren.ch" + ], + "redirect":[], + "wikidata":[ + "schlieren.ch" + ], + "guess":[ + "schlieren.ch" + ] + }, + "resolve_flags":[] }, "248":{ "bfs":"248", "name":"Uitikon", - "canton":"", - "domain":"uitikon.ch", - "mx":[ - "mx1.gib-solutions.ch" - ], - "spf":"v=spf1 ip4:212.25.8.128/26 ip4:157.161.12.0/22 ip4:81.18.31.151 ip4:81.92.96.19 ip4:81.92.102.217 ip6:2001:4060:1:1001::/64 ip4:81.92.102.215 -all", - "provider":"independent", - "mx_asns":[ - 8758 - ] + "canton":"Kanton Zürich", + "domain":"uitikon.org", + "mx":[ + "mx.uitikon.org" + ], + "spf":"v=spf1 mx ip4:212.27.79.46 include:_spf.i-web.ch include:spf.privasphere.com -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "uitikon.org" + ] + }, + "resolve_flags":[] }, "249":{ "bfs":"249", "name":"Unterengstringen", - "canton":"", + "canton":"Kanton Zürich", "domain":"unterengstringen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:servicehoster.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:servicehoster.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "unterengstringen.ch" + ], + "redirect":[], + "wikidata":[ + "unterengstringen.ch" + ], + "guess":[ + "unterengstringen.ch" + ] + }, + "resolve_flags":[] }, "250":{ "bfs":"250", "name":"Urdorf", - "canton":"", + "canton":"Kanton Zürich", "domain":"urdorf.ch", "mx":[ "urdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:spf1.refline.ch a:spf2.refline.ch a:mail.obt-services.ch include:_spf.i-web.ch include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:spf1.refline.ch a:spf2.refline.ch a:mail.obt-services.ch include:_spf.i-web.ch include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX urdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.urdorf.ch CNAME → selector1-urdorf-ch._domainkey.urdorfcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.urdorf.ch CNAME → selector2-urdorf-ch._domainkey.urdorfcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "urdorf.ch" + ], + "redirect":[], + "wikidata":[ + "urdorf.ch" + ], + "guess":[ + "urdorf.ch" + ] + }, + "resolve_flags":[] }, "251":{ "bfs":"251", - "name":"Weiningen", - "canton":"", + "name":"Weiningen (ZH)", + "canton":"Kanton Zürich", "domain":"weiningen.ch", "mx":[ "weiningen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX weiningen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.weiningen.ch CNAME → selector1-weiningen-ch._domainkey.weiningencloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.weiningen.ch CNAME → selector2-weiningen-ch._domainkey.weiningencloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "weiningen.ch" + ], + "redirect":[], + "wikidata":[ + "weiningen.ch" + ], + "guess":[ + "weiningen.ch" + ] + }, + "resolve_flags":[] }, "261":{ "bfs":"261", "name":"Zürich", - "canton":"", + "canton":"Kanton Zürich", "domain":"zuerich.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch v=spf1 include:spf.mail.hostpoint.ch ?all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "mx3.stadt-zuerich.ch", + "mx4.stadt-zuerich.ch" + ], + "spf":"v=spf1 ip4:194.56.33.0/26 ip4:185.125.165.24/31 ip4:213.52.186.141 ip4:213.52.186.142 ip4:35.214.208.81 ip4:35.214.213.218 ip4:35.214.183.81 ip4:35.214.212.238 include:spf1.zuerich.ch include:spf2.zuerich.ch ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"google", + "weight":0.08, + "detail":"SPF ip4/a ASN 15169 matches google" + } + ], + "sources_detail":{ + "override":[ + "zuerich.ch" + ] + }, + "resolve_flags":[] }, "291":{ "bfs":"291", "name":"Andelfingen", - "canton":"", + "canton":"Kanton Zürich", "domain":"andelfingen.ch", "mx":[ - "mta1.abxsec.com", - "mta2.abxsec.com" - ], - "spf":"v=spf1 mx include:spf.abxsec.com include:_spf.i-web.ch ~all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com include:_spf.i-web.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "andelfingen-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 mx include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX andelfingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "andelfingen.ch" + ], + "redirect":[], + "wikidata":[ + "andelfingen.ch" + ], + "guess":[ + "andelfingen.ch" + ] + }, + "resolve_flags":[] }, "292":{ "bfs":"292", "name":"Stammheim", - "canton":"", + "canton":"Kanton Zürich", "domain":"stammheim.ch", "mx":[ "mta1.abxsec.com", @@ -2786,11 +9567,30 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "stammheim.ch" + ], + "redirect":[], + "wikidata":[ + "stammheim.ch" + ], + "guess":[ + "stammheim.ch" + ] + }, + "resolve_flags":[] }, "293":{ "bfs":"293", @@ -2802,38 +9602,94 @@ "ironout02.waedenswil.ch" ], "spf":"v=spf1 a mx a:mail01.refline.ch a:mail02.refline.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx a:mail01.refline.ch a:mail02.refline.ch include:_spf.i-web.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"webext03.i-web.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "waedenswil.ch" + ], + "redirect":[], + "wikidata":[ + "waedenswil.ch" + ], + "guess":[ + "waedenswil.ch" + ] + }, + "resolve_flags":[] }, "294":{ "bfs":"294", "name":"Elgg", - "canton":"", + "canton":"Kanton Zürich", "domain":"elgg.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "elgg.ch" + ], + "redirect":[], + "wikidata":[ + "elgg.ch" + ], + "guess":[ + "elgg.ch" + ] + }, + "resolve_flags":[] }, "295":{ "bfs":"295", "name":"Horgen", - "canton":"Kanton Zürich", + "canton":"", "domain":"horgen.ch", "mx":[ "mailgw01.zii.ch", @@ -2841,70 +9697,254 @@ ], "spf":"v=spf1 include:spf.zii.ch include:_spf.i-web.ch include:_spf.web-solutions.io include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.rexx-systems.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.zii.ch include:_spf.i-web.ch include:_spf.web-solutions.io include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.rexx-systems.com ip4:193.135.56.6 -all v=spf1 ip4:195.65.253.130 ip4:83.144.243.194 include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 +ip4:185.90.39.55 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:mx01.rexx-systems.de ip6:2001:67c:2050::/48 ip4:92.51.187.64/27 ip4:83.169.51.224/27 ip4:80.237.187.32/28 ip4:91.250.74.128/27 ip4:87.230.74.128/28 ip4:91.250.95.64/26 ip4:85.25.89.0/24 ip4:195.10.208.0/26 -all", - "mx_asns":[ - 3303, - 33965 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "horgen.ch" + ], + "redirect":[], + "wikidata":[ + "horgen.ch" + ], + "guess":[ + "horgen.ch" + ] + }, + "resolve_flags":[] }, "296":{ "bfs":"296", "name":"Illnau-Effretikon", - "canton":"", + "canton":"Kanton Zürich", "domain":"ilef.ch", "mx":[ "ilef-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com include:_partner.ilef.ch ip4:212.71.124.231 ip4:212.71.124.232 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com include:_partner.ilef.ch ip4:212.71.124.231 ip4:212.71.124.232 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch include:speedadmin.dk include:_spf.i-web.ch a:mail01.refline.ch a:mail02.refline.ch a:mail.ostendis.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:87.54.30.56 include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ilef-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ilef.ch CNAME → selector1-ilef-ch._domainkey.ilefcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ilef.ch CNAME → selector2-ilef-ch._domainkey.ilefcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ilef.ch" + ], + "redirect":[ + "ilef.ch" + ], + "wikidata":[], + "guess":[] + }, + "resolve_flags":[] }, "297":{ "bfs":"297", "name":"Bauma", - "canton":"", + "canton":"Kanton Zürich", "domain":"bauma.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com include:spf.abxsec.com a:smtazh01.abxsec.com mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com include:spf.abxsec.com a:smtazh01.abxsec.com mx -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bauma.ch" + ], + "redirect":[], + "wikidata":[ + "bauma.ch" + ], + "guess":[ + "bauma.ch" + ] + }, + "resolve_flags":[] }, "298":{ "bfs":"298", "name":"Wiesendangen", - "canton":"", + "canton":"Kanton Zürich", "domain":"wiesendangen.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com include:_spf.i-web.ch ~all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wiesendangen.ch" + ], + "redirect":[], + "wikidata":[ + "wiesendangen.ch" + ], + "guess":[ + "wiesendangen.ch" + ] + }, + "resolve_flags":[] }, "301":{ "bfs":"301", "name":"Aarberg", - "canton":"", + "canton":"Kanton Bern", "domain":"aarberg.ch", "mx":[ "mail.format-ag.ch", @@ -2914,38 +9954,103 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"www.aarberg.ch", - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "aarberg.ch" + ], + "guess":[ + "aarberg.ch" + ] + }, + "resolve_flags":[] }, "302":{ "bfs":"302", - "name":"Bargen", - "canton":"", + "name":"Bargen (BE)", + "canton":"Kanton Bern", "domain":"bargen-be.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 a mx include:spf.customer.swiss-egov.cloud ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx include:spf.customer.swiss-egov.cloud ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "bargen-be.ch" + ], + "redirect":[], + "wikidata":[ + "bargen-be.ch" + ], + "guess":[ + "bargen.ch" + ] + }, + "resolve_flags":[] }, "303":{ "bfs":"303", "name":"Grossaffoltern", - "canton":"", + "canton":"Kanton Bern", "domain":"grossaffoltern.ch", "mx":[ "mail.format-ag.ch", @@ -2955,18 +10060,32 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grossaffoltern.ch" + ], + "guess":[ + "grossaffoltern.ch" + ] + }, + "resolve_flags":[] }, "304":{ "bfs":"304", "name":"Kallnach", - "canton":"", + "canton":"Kanton Bern", "domain":"kallnach.ch", "mx":[ "mail.format-ag.ch", @@ -2976,36 +10095,135 @@ ], "spf":"v=spf1 include:spf.protection.cyon.net ip4:80.74.138.230 ip4:194.88.197.38 include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net ip4:80.74.138.230 ip4:194.88.197.38 include:_spf.talus.ch ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kallnach.ch" + ], + "redirect":[], + "wikidata":[ + "kallnach.ch" + ], + "guess":[ + "gemeinde-kallnach.ch", + "kallnach.ch" + ] + }, + "resolve_flags":[] }, "305":{ "bfs":"305", "name":"Kappelen", - "canton":"", + "canton":"Kanton Bern", "domain":"kappelen.ch", "mx":[ "kappelen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kappelen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kappelen.ch CNAME → selector1-kappelen-ch._domainkey.gemeindekappelen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kappelen.ch CNAME → selector2-kappelen-ch._domainkey.gemeindekappelen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kappelen.ch" + ], + "redirect":[], + "wikidata":[ + "kappelen.ch" + ], + "guess":[ + "kappelen.ch" + ] + }, + "resolve_flags":[] }, "306":{ "bfs":"306", "name":"Lyss", - "canton":"", + "canton":"Kanton Bern", "domain":"lyss.ch", "mx":[ "mail.format-ag.ch", @@ -3015,56 +10233,140 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lyss.ch" + ], + "redirect":[], + "wikidata":[ + "lyss.ch" + ], + "guess":[ + "lyss.ch" + ] + }, + "resolve_flags":[] }, "307":{ "bfs":"307", "name":"Meikirch", - "canton":"", + "canton":"Kanton Bern", "domain":"meikirch.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ?all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ?all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "meikirch.ch" + ], + "redirect":[], + "wikidata":[ + "meikirch.ch" + ], + "guess":[ + "meikirch.ch" + ] + }, + "resolve_flags":[] }, "309":{ "bfs":"309", "name":"Radelfingen", - "canton":"", + "canton":"Kanton Bern", "domain":"radelfingen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 a MX include:spf.crsend.com include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 a MX include:spf.crsend.com include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "radelfingen.ch" + ], + "redirect":[], + "wikidata":[ + "radelfingen.ch" + ], + "guess":[ + "radelfingen.ch" + ] + }, + "resolve_flags":[] }, "310":{ "bfs":"310", - "name":"Rapperswil", - "canton":"", + "name":"Rapperswil (BE)", + "canton":"Kanton Bern", "domain":"rapperswil-be.ch", "mx":[ "mail.format-ag.ch", @@ -3073,40 +10375,82 @@ "mailbackup.tankred.ch" ], "spf":"v=spf1 a include:_spf.talus.ch include:spf.protection.outlook.com ~all", - "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:spf.protection.outlook.com ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rapperswil-be.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "311":{ "bfs":"311", "name":"Schüpfen", - "canton":"", + "canton":"Kanton Bern", "domain":"schuepfen.ch", "mx":[ "mail.format-ag.ch", - "mail.tankred.ch", - "mailbackup.format-ag.ch", - "mailbackup.tankred.ch" + "mail.tankred.ch" ], "spf":"v=spf1 mx a include:_spf.talus.ch include:_spf.sui-inter.net ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx a include:_spf.talus.ch include:_spf.sui-inter.net ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "schuepfen.ch" + ], + "guess":[ + "schuepfen.ch" + ] + }, + "resolve_flags":[] }, "312":{ "bfs":"312", - "name":"Seedorf", - "canton":"", + "name":"Seedorf (BE)", + "canton":"Kanton Bern", "domain":"seedorf.ch", "mx":[ "mail.format-ag.ch", @@ -3114,145 +10458,672 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "seedorf.ch" + ], + "guess":[ + "seedorf.ch" + ] + }, + "resolve_flags":[] }, "321":{ "bfs":"321", "name":"Aarwangen", - "canton":"", + "canton":"Kanton Bern", "domain":"aarwangen.ch", "mx":[ "aarwangen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:213.221.253.87 include:_spf.ch.seppmail.cloud Include:spf.protection.outlook.com a:mail.i-web.ch a:mail.obt-services.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:213.221.253.87 include:_spf.ch.seppmail.cloud Include:spf.protection.outlook.com a:mail.i-web.ch a:mail.obt-services.ch -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aarwangen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.aarwangen.ch CNAME → selector1-aarwangen-ch._domainkey.aarwangencloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.aarwangen.ch CNAME → selector2-aarwangen-ch._domainkey.aarwangencloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "aarwangen.ch" + ], + "redirect":[], + "wikidata":[ + "aarwangen.ch" + ], + "guess":[ + "aarwangen.ch" + ] + }, + "resolve_flags":[] }, "322":{ "bfs":"322", "name":"Auswil", - "canton":"", + "canton":"Kanton Bern", "domain":"auswil.ch", "mx":[ "auswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX auswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "auswil.ch" + ], + "guess":[ + "auswil.ch" + ] + }, + "resolve_flags":[] }, "323":{ "bfs":"323", "name":"Bannwil", - "canton":"", + "canton":"Kanton Bern", "domain":"bannwil.ch", "mx":[ "bannwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.tophost.ch include:relay.mailchannels.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.tophost.ch include:relay.mailchannels.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bannwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bannwil.ch" + ], + "redirect":[], + "wikidata":[ + "bannwil.ch" + ], + "guess":[ + "bannwil.ch" + ] + }, + "resolve_flags":[] }, "324":{ "bfs":"324", "name":"Bleienbach", - "canton":"", + "canton":"Kanton Bern", "domain":"bleienbach.ch", "mx":[ "bleienbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com +include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com +include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bleienbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bleienbach.ch" + ], + "redirect":[], + "wikidata":[ + "bleienbach.ch" + ], + "guess":[ + "bleienbach.ch" + ] + }, + "resolve_flags":[] }, "325":{ "bfs":"325", "name":"Busswil bei Melchnau", - "canton":"", + "canton":"Kanton Bern", "domain":"busswil-bm.ch", "mx":[ "busswilbm-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com +include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com +include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX busswilbm-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.busswil-bm.ch CNAME → selector1-busswilbm-ch01i._domainkey.gemeindebusswilmelchnauch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.busswil-bm.ch CNAME → selector2-busswilbm-ch01i._domainkey.gemeindebusswilmelchnauch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "busswil-bm.ch" + ], + "redirect":[], + "wikidata":[ + "busswil-bm.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "326":{ "bfs":"326", "name":"Gondiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"gondiswil.ch", "mx":[ "gondiswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:mail.tcnet.ch a:oa.ip-cloud.ch a:ip-mail01.asp.infopro.ch ip4:213.221.218.169 ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mail.tcnet.ch a:oa.ip-cloud.ch a:ip-mail01.asp.infopro.ch ip4:213.221.218.169 ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gondiswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gondiswil.ch" + ], + "guess":[ + "gondiswil.ch" + ] + }, + "resolve_flags":[] }, "329":{ "bfs":"329", "name":"Langenthal", - "canton":"", + "canton":"Kanton Bern", "domain":"langenthal.ch", "mx":[ "langenthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.rzobt.ch include:_spf.ch.seppmail.cloud include:mx.dvbern.ch include:_spf.psm.knowbe4.com a:mail01.refline.ch a:mail02.refline.ch a:satadm.langenthal.ch ip4:213.221.253.82 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.rzobt.ch include:_spf.ch.seppmail.cloud include:mx.dvbern.ch include:_spf.psm.knowbe4.com a:mail01.refline.ch a:mail02.refline.ch a:satadm.langenthal.ch ip4:213.221.253.82 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:185.125.165.24/31 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX langenthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.langenthal.ch CNAME → selector1-langenthal-ch._domainkey.stadtverwaltunglangenthal.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.langenthal.ch CNAME → selector2-langenthal-ch._domainkey.stadtverwaltunglangenthal.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "langenthal.ch" + ], + "redirect":[], + "wikidata":[ + "langenthal.ch" + ], + "guess":[ + "langenthal.ch" + ] + }, + "resolve_flags":[] }, "331":{ "bfs":"331", "name":"Lotzwil", - "canton":"", + "canton":"Kanton Bern", "domain":"lotzwil.ch", "mx":[ "mail.format-ag.ch", @@ -3262,18 +11133,38 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lotzwil.ch" + ], + "guess":[ + "lotzwil.ch" + ] + }, + "resolve_flags":[] }, "332":{ "bfs":"332", "name":"Madiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"madiswil.ch", "mx":[ "mail.format-ag.ch", @@ -3283,91 +11174,340 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "madiswil.ch" + ], + "redirect":[], + "wikidata":[ + "madiswil.ch" + ], + "guess":[ + "madiswil.ch" + ] + }, + "resolve_flags":[] }, "333":{ "bfs":"333", "name":"Melchnau", - "canton":"", + "canton":"Kanton Bern", "domain":"melchnau.ch", "mx":[ "melchnau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX melchnau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "melchnau.ch" + ], + "guess":[ + "melchnau.ch" + ] + }, + "resolve_flags":[] }, "335":{ "bfs":"335", "name":"Oeschenbach", - "canton":"", + "canton":"Kanton Bern", "domain":"oeschenbach.ch", "mx":[ "oeschenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:oeschenbach.ch mx include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:oeschenbach.ch mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oeschenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oeschenbach.ch CNAME → selector1-oeschenbach-ch._domainkey.gemoesch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oeschenbach.ch CNAME → selector2-oeschenbach-ch._domainkey.gemoesch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oeschenbach.ch" + ], + "guess":[ + "oeschenbach.ch" + ] + }, + "resolve_flags":[] }, "336":{ "bfs":"336", "name":"Reisiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"reisiswil.ch", "mx":[ "reisiswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX reisiswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "reisiswil.ch" + ], + "redirect":[], + "wikidata":[ + "reisiswil.ch" + ], + "guess":[ + "reisiswil.ch" + ] + }, + "resolve_flags":[] }, "337":{ "bfs":"337", - "name":"Roggwil", - "canton":"", + "name":"Roggwil (BE)", + "canton":"Kanton Bern", "domain":"roggwil.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a a:remote.roggwil.ch include:mx.dvbern.ch include:spf.mail.balzcloud.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a a:remote.roggwil.ch include:mx.dvbern.ch include:spf.mail.balzcloud.ch ~all v=spf1 ip4:185.125.165.24/31 -all v=spf1 ip4:46.247.34.140 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"remote.roggwil.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "roggwil.ch" + ], + "redirect":[], + "wikidata":[ + "roggwil.ch" + ], + "guess":[ + "roggwil.ch" + ] + }, + "resolve_flags":[] }, "338":{ "bfs":"338", "name":"Rohrbach", - "canton":"", + "canton":"Kanton Bern", "domain":"rohrbach-be.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -3377,136 +11517,591 @@ ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:_spf.hex.pcetera.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:_spf.hex.pcetera.ch -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 25091 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"owa2.oneaccess.ch" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "rohrbach-be.ch" + ], + "redirect":[], + "wikidata":[ + "rohrbach-be.ch" + ], + "guess":[ + "gemeinde-rohrbach.ch", + "rohrbach.ch" + ] + }, + "resolve_flags":[] }, "339":{ "bfs":"339", "name":"Rohrbachgraben", - "canton":"", + "canton":"Kanton Bern", "domain":"rohrbachgraben.ch", "mx":[ "rohrbachgraben-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf.gilomen.org -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf.gilomen.org -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:mailgw1.gilomen.org", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rohrbachgraben-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rohrbachgraben.ch" + ], + "guess":[ + "rohrbachgraben.ch" + ] + }, + "resolve_flags":[] }, "340":{ "bfs":"340", "name":"Rütschelen", - "canton":"", + "canton":"Kanton Bern", "domain":"ruetschelen.ch", "mx":[ "ruetschelen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:195.48.58.75 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.48.58.75 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ruetschelen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ruetschelen.ch" + ], + "redirect":[], + "wikidata":[ + "ruetschelen.ch" + ], + "guess":[ + "ruetschelen.ch" + ] + }, + "resolve_flags":[] }, "341":{ "bfs":"341", "name":"Schwarzhäusern", - "canton":"", + "canton":"Kanton Bern", "domain":"schwarzhaeusern.ch", "mx":[ "schwarzhaeusern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schwarzhaeusern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schwarzhaeusern.ch" + ], + "redirect":[], + "wikidata":[ + "schwarzhaeusern.ch" + ], + "guess":[ + "schwarzhaeusern.ch" + ] + }, + "resolve_flags":[] }, "342":{ "bfs":"342", "name":"Thunstetten", - "canton":"", + "canton":"Kanton Bern", "domain":"thunstetten.ch", "mx":[ "thunstetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:194.56.218.155 ip4:194.56.218.156 include:_spf.i-web.ch include:mx.dvbern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:194.56.218.155 ip4:194.56.218.156 include:_spf.i-web.ch include:mx.dvbern.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX thunstetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.thunstetten.ch CNAME → selector1-thunstetten-ch._domainkey.ewgthunstetten.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.thunstetten.ch CNAME → selector2-thunstetten-ch._domainkey.ewgthunstetten.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "thunstetten.ch" + ], + "redirect":[], + "wikidata":[ + "thunstetten.ch" + ], + "guess":[ + "thunstetten.ch" + ] + }, + "resolve_flags":[] }, "344":{ "bfs":"344", "name":"Ursenbach", - "canton":"", + "canton":"Kanton Bern", "domain":"ursenbach.ch", "mx":[ "ursenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ursenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ursenbach.ch" + ], + "redirect":[], + "wikidata":[ + "ursenbach.ch" + ], + "guess":[ + "ursenbach.ch" + ] + }, + "resolve_flags":[] }, "345":{ "bfs":"345", "name":"Wynau", - "canton":"", + "canton":"Kanton Bern", "domain":"wynau.ch", "mx":[ "mail.wynau.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a ip4:213.221.240.202 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a ip4:213.221.240.202 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "wynau.ch" + ], + "redirect":[], + "wikidata":[ + "wynau.ch" + ], + "guess":[ + "wynau.ch" + ] + }, + "resolve_flags":[] }, "351":{ "bfs":"351", "name":"Bern", - "canton":"", + "canton":"Kanton Bern", "domain":"bern.ch", "mx":[ "bern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:193.247.33.1/32 ip4:193.247.33.3/32 ip4:193.247.35.27/32 ip4:92.42.184.212/32 ip4:92.42.184.216/32 ip4:138.188.166.160/27 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:193.247.33.1/32 ip4:193.247.33.3/32 ip4:193.247.35.27/32 ip4:92.42.184.212/32 ip4:92.42.184.216/32 ip4:138.188.166.160/27 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bern.ch CNAME → selector1-bern-ch._domainkey.bernch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bern.ch CNAME → selector2-bern-ch._domainkey.bernch.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "bern.ch" + ], + "redirect":[], + "wikidata":[ + "bern.ch" + ], + "guess":[ + "bern.ch", + "stadt-bern.ch" + ] + }, + "resolve_flags":[] }, "352":{ "bfs":"352", "name":"Bolligen", - "canton":"", + "canton":"Kanton Bern", "domain":"bolligen.ch", "mx":[ "mail.format-ag.ch", @@ -3514,107 +12109,347 @@ ], "spf":"v=spf1 a mx ip4:212.243.26.162 include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:212.243.26.162 include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bolligen.ch" + ], + "guess":[ + "bolligen.ch" + ] + }, + "resolve_flags":[] }, "353":{ "bfs":"353", "name":"Bremgarten bei Bern", - "canton":"", + "canton":"Kanton Bern", "domain":"3047.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 a:smtp.iz-net.ch ip4:80.74.142.120 include:spf.protection.outlook.com include:_spf.talus.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:smtp.iz-net.ch ip4:80.74.142.120 include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_cname":"www.3047.ch", - "autodiscover_srv":"exchange.iz-region-bern.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "3047.ch" + ], + "redirect":[], + "wikidata":[ + "3047.ch" + ], + "guess":[] + }, + "resolve_flags":[ + "website_mismatch" + ] }, "354":{ "bfs":"354", "name":"Kirchlindach", - "canton":"", + "canton":"Kanton Bern", "domain":"kirchlindach.ch", "mx":[ "kirchlindach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kirchlindach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kirchlindach.ch CNAME → selector1-kirchlindach-ch._domainkey.gemeindekirchlindach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kirchlindach.ch CNAME → selector2-kirchlindach-ch._domainkey.gemeindekirchlindach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kirchlindach.ch" + ], + "redirect":[], + "wikidata":[ + "kirchlindach.ch" + ], + "guess":[ + "kirchlindach.ch" + ] + }, + "resolve_flags":[] }, "355":{ "bfs":"355", "name":"Köniz", - "canton":"", + "canton":"Kanton Bern", "domain":"koeniz.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 a:smtp.trainingplus.ch mx ip4:194.56.218.181 ip4:194.56.218.131 ip4:193.135.56.6 include:spf.mail.weloveyou.systems include:spf.imc-hosting.com include:spf.abxsec.com include:_spf.tophost.ch include:spf.iz-net.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:smtp.trainingplus.ch mx ip4:194.56.218.181 ip4:194.56.218.131 ip4:193.135.56.6 include:spf.mail.weloveyou.systems include:spf.imc-hosting.com include:spf.abxsec.com include:_spf.tophost.ch include:spf.iz-net.ch -all v=spf1 ip4:116.203.100.62 ip4:159.69.40.100 ?all v=spf1 ip4:4.231.234.136 ip4:4.231.171.210 ip4:52.178.135.21 ip4:20.107.242.47 ip4:4.197.4.76 ip4:85.215.73.51 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:217.11.219.137 ip4:212.103.81.254 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.iz-region-bern.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "koeniz.ch" + ], + "guess":[ + "koeniz.ch" + ] + }, + "resolve_flags":[] }, "356":{ "bfs":"356", "name":"Muri bei Bern", - "canton":"", + "canton":"Kanton Bern", "domain":"muri-guemligen.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 a:smtp.iz-net.ch ip4:193.135.56.6 include:spf.protection.outlook.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:smtp.iz-net.ch ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.iz-region-bern.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muri-guemligen.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "357":{ "bfs":"357", "name":"Oberbalm", - "canton":"", + "canton":"Kanton Bern", "domain":"oberbalm.ch", "mx":[ "mail.format-ag.ch", "mail.tankred.ch" ], "spf":"v=spf1 a:mrmuensingen01.muensingen.ch include:spf.protection.outlook.com include:_spf.talus.ch include:_spf.i-web.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 a:mrmuensingen01.muensingen.ch include:spf.protection.outlook.com include:_spf.talus.ch include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberbalm.ch" + ], + "redirect":[], + "wikidata":[ + "oberbalm.ch" + ], + "guess":[ + "oberbalm.ch" + ] + }, + "resolve_flags":[] }, "358":{ "bfs":"358", "name":"Stettlen", - "canton":"", + "canton":"Kanton Bern", "domain":"stettlen.ch", "mx":[ "mail.format-ag.ch", @@ -3623,18 +12458,34 @@ ], "spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch. include:_spf.talus.ch. include:_spf.i-web.ch. -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mrmuensingen01.muensingen.ch. include:_spf.talus.ch. include:_spf.i-web.ch. -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "stettlen.ch" + ], + "redirect":[], + "wikidata":[ + "stettlen.ch" + ], + "guess":[ + "stettlen.ch" + ] + }, + "resolve_flags":[] }, "359":{ "bfs":"359", "name":"Vechigen", - "canton":"", + "canton":"Kanton Bern", "domain":"vechigen.ch", "mx":[ "mail.format-ag.ch", @@ -3642,17 +12493,45 @@ "mail.vechigen.ch" ], "spf":"v=spf1 mx ip4:212.243.26.162 a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:212.243.26.162 a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 3303, - 202035 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vechigen.ch" + ], + "guess":[ + "vechigen.ch" + ] + }, + "resolve_flags":[] }, "360":{ "bfs":"360", "name":"Wohlen bei Bern", - "canton":"", + "canton":"Kanton Bern", "domain":"wohlen-be.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -3660,87 +12539,403 @@ ], "spf":"v=spf1 a mx ip4:62.2.105.192/29 ip4:178.174.41.248/30 include:_spf_eucentral1.prod.hydra.sophos.com include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:62.2.105.192/29 ip4:178.174.41.248/30 include:_spf_eucentral1.prod.hydra.sophos.com include:_spf.talus.ch -all v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "gateway":"sophos", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"utm198.wohlen-be.ch", - "autodiscover_srv":"owa.wohlen-be.ch" - } + "gateway":"sophos", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wohlen-be.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "361":{ "bfs":"361", "name":"Zollikofen", - "canton":"", + "canton":"Kanton Bern", "domain":"zollikofen.ch", "mx":[ "zollikofen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:62.2.84.176/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ip4:62.2.84.176/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zollikofen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "zollikofen.ch" + ], + "redirect":[], + "wikidata":[ + "zollikofen.ch" + ], + "guess":[ + "zollikofen.ch" + ] + }, + "resolve_flags":[] }, "362":{ "bfs":"362", "name":"Ittigen", - "canton":"", + "canton":"Kanton Bern", "domain":"ittigen.ch", "mx":[ "mail.ittigen.ch" ], "spf":"v=spf1 mx mx:hin.ch ip4:194.209.116.36 include:_spf.i-web.ch include:spf.umantis.com include:_spf.psm.knowbe4.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx mx:hin.ch ip4:194.209.116.36 include:_spf.i-web.ch include:spf.umantis.com include:_spf.psm.knowbe4.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 3303 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ittigen.ch CNAME → selector1-ittigen-ch._domainkey.ittigench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ittigen.ch CNAME → selector2-ittigen-ch._domainkey.ittigench.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ittigen.ch" + ], + "redirect":[], + "wikidata":[ + "ittigen.ch" + ], + "guess":[ + "ittigen.ch" + ] + }, + "resolve_flags":[] }, "363":{ "bfs":"363", "name":"Ostermundigen", - "canton":"", + "canton":"Kanton Bern", "domain":"ostermundigen.ch", "mx":[ "ostermundigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:212.243.176.142 include:spf.abacuscity.ch mx:talus.ch a:mail.codx.ch include:spf.protection.outlook.com include:spf.psm.knowbe4.com ip4:193.135.144.129 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:212.243.176.142 include:spf.abacuscity.ch mx:talus.ch a:mail.codx.ch include:spf.protection.outlook.com include:spf.psm.knowbe4.com ip4:193.135.144.129 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ostermundigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ostermundigen.ch" + ], + "guess":[ + "ostermundigen.ch" + ] + }, + "resolve_flags":[] }, "371":{ "bfs":"371", "name":"Biel/Bienne", - "canton":"", + "canton":"Kanton Bern", "domain":"biel-bienne.ch", "mx":[ "mx1.biel-bienne.ch", "mx2.biel-bienne.ch" ], - "spf":"v=spf1 mx ip4:194.209.196.58 ip4:194.209.196.59 include:spf.umantis.com include:spf1.ne.ch include:spf.protection.outlook.com a:softec-12.interconnect.ch a:mail.quorumsoftware.ch a:smtp.mailomat.cloud ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:194.209.196.58 ip4:194.209.196.59 include:spf.umantis.com include:spf1.ne.ch include:spf.protection.outlook.com a:softec-12.interconnect.ch a:mail.quorumsoftware.ch a:smtp.mailomat.cloud ~all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 3303 - ] + "spf":"v=spf1 mx ip4:194.209.196.58 ip4:194.209.196.59 include:spf.umantis.com include:spf1.ne.ch include:spf.protection.outlook.com a:mail.quorumsoftware.ch ~all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.biel-bienne.ch CNAME → selector1-bielbienne-ch01b._domainkey.bielbienne.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.biel-bienne.ch CNAME → selector2-bielbienne-ch01b._domainkey.bielbienne.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "biel-bienne.ch" + ], + "redirect":[], + "wikidata":[ + "biel-bienne.ch" + ], + "guess":[ + "biel-bienne.ch", + "bielbienne.ch", + "bienne.ch", + "stadt-biel.ch" + ] + }, + "resolve_flags":[] }, "372":{ "bfs":"372", - "name":"Leubringen", - "canton":"", + "name":"Evilard", + "canton":"Kanton Bern", "domain":"evilard.ch", "mx":[ "mail.format-ag.ch", @@ -3750,18 +12945,38 @@ ], "spf":"v=spf1 a mx include:_spf.talus.ch include:mx.dvbern.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:_spf.talus.ch include:mx.dvbern.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "evilard.ch" + ], + "guess":[ + "evilard.ch" + ] + }, + "resolve_flags":[] }, "381":{ "bfs":"381", "name":"Arch", - "canton":"", + "canton":"Kanton Bern", "domain":"arch-be.ch", "mx":[ "mail.format-ag.ch", @@ -3771,37 +12986,81 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "arch-be.ch" + ], + "redirect":[], + "wikidata":[ + "arch-be.ch" + ], + "guess":[ + "arch.ch" + ] + }, + "resolve_flags":[] }, "382":{ "bfs":"382", "name":"Büetigen", - "canton":"", + "canton":"Kanton Bern", "domain":"bueetigen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "bueetigen.ch" + ], + "redirect":[], + "wikidata":[ + "bueetigen.ch" + ], + "guess":[ + "bueetigen.ch" + ] + }, + "resolve_flags":[] }, "383":{ "bfs":"383", "name":"Büren an der Aare", - "canton":"", + "canton":"Kanton Bern", "domain":"bueren.ch", "mx":[ "mail.format-ag.ch", @@ -3811,142 +13070,559 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "be.ch", + "bueren.ch" + ], + "redirect":[], + "wikidata":[ + "bueren.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "385":{ "bfs":"385", "name":"Diessbach bei Büren", - "canton":"", + "canton":"Kanton Bern", "domain":"diessbach.ch", "mx":[ "diessbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa2.oneaccess.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX diessbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "diessbach.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "386":{ "bfs":"386", "name":"Dotzigen", - "canton":"", + "canton":"Kanton Bern", "domain":"dotzigen.ch", "mx":[ "dotzigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:smtp.iz-net.ch ip4:80.74.142.120 ip4:91.212.152.32 include:spf.protection.outlook.com a mx include:_spf.sui-inter.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:smtp.iz-net.ch ip4:80.74.142.120 ip4:91.212.152.32 include:spf.protection.outlook.com a mx include:_spf.sui-inter.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dotzigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "dotzigen.ch" + ], + "redirect":[], + "wikidata":[ + "dotzigen.ch" + ], + "guess":[ + "dotzigen.ch" + ] + }, + "resolve_flags":[] }, "387":{ "bfs":"387", - "name":"Lengnau", - "canton":"", + "name":"Lengnau (BE)", + "canton":"Kanton Bern", "domain":"lengnau.ch", "mx":[ "lengnau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:securemail.lengnau.ch ip4:213.221.215.137 include:spf.protection.outlook.com include:spf.webstyle.ch include:_spf.sui-inter.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:securemail.lengnau.ch ip4:213.221.215.137 include:spf.protection.outlook.com include:spf.webstyle.ch include:_spf.sui-inter.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:192.162.28.0/24 ip4:95.130.17.0/24 include:_spf.sui-inter.net ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lengnau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "lengnau.ch" + ], + "redirect":[], + "wikidata":[ + "lengnau.ch" + ], + "guess":[ + "lengnau.ch" + ] + }, + "resolve_flags":[] }, "388":{ "bfs":"388", "name":"Leuzigen", - "canton":"", + "canton":"Kanton Bern", "domain":"leuzigen.ch", "mx":[ "leuzigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leuzigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "leuzigen.ch" + ], + "redirect":[], + "wikidata":[ + "leuzigen.ch" + ], + "guess":[ + "leuzigen.ch" + ] + }, + "resolve_flags":[] }, "389":{ "bfs":"389", "name":"Meienried", - "canton":"", + "canton":"Kanton Bern", "domain":"meienried.ch", "mx":[ "meienried-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX meienried-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "meienried.ch" + ], + "redirect":[], + "wikidata":[ + "meienried.ch" + ], + "guess":[ + "meienried.ch" + ] + }, + "resolve_flags":[] }, "390":{ "bfs":"390", "name":"Meinisberg", - "canton":"", + "canton":"Kanton Bern", "domain":"meinisberg.ch", "mx":[ "mail.meinisberg.ch" ], "spf":"v=spf1 include:_spf.smtp.com include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.smtp.com include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "meinisberg.ch" + ], + "redirect":[], + "wikidata":[ + "meinisberg.ch" + ], + "guess":[ + "meinisberg.ch" + ] + }, + "resolve_flags":[] }, "391":{ "bfs":"391", "name":"Oberwil bei Büren", - "canton":"", + "canton":"Kanton Bern", "domain":"oberwil-bueren.ch", "mx":[ "oberwilbueren-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberwilbueren-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberwil-bueren.ch" + ], + "redirect":[], + "wikidata":[ + "oberwil-bueren.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "392":{ "bfs":"392", "name":"Pieterlen", - "canton":"", + "canton":"Kanton Bern", "domain":"pieterlen.ch", "mx":[ "mail.format-ag.ch", @@ -3954,90 +13630,354 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pieterlen.ch" + ], + "redirect":[], + "wikidata":[ + "pieterlen.ch" + ], + "guess":[ + "pieterlen.ch" + ] + }, + "resolve_flags":[] }, "393":{ "bfs":"393", "name":"Rüti bei Büren", - "canton":"", + "canton":"Kanton Bern", "domain":"ruetibeibueren.ch", "mx":[ "ruetibeibueren-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.webstyle.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.webstyle.ch include:spf.protection.outlook.com -all v=spf1 ip4:192.162.28.0/24 ip4:95.130.17.0/24 include:_spf.sui-inter.net ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ruetibeibueren-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ruetibeibueren.ch" + ], + "guess":[ + "ruetibeibueren.ch" + ] + }, + "resolve_flags":[] }, "394":{ "bfs":"394", "name":"Wengi", - "canton":"", + "canton":"Kanton Bern", "domain":"wengi-be.ch", "mx":[ "wengibe-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wengibe-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wengi-be.ch" + ], + "redirect":[], + "wikidata":[ + "wengi-be.ch" + ], + "guess":[ + "wengi.ch" + ] + }, + "resolve_flags":[] }, "401":{ "bfs":"401", "name":"Aefligen", - "canton":"", + "canton":"Kanton Bern", "domain":"aefligen.ch", "mx":[ "aefligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aefligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aefligen.ch" + ], + "redirect":[], + "wikidata":[ + "aefligen.ch" + ], + "guess":[ + "aefligen.ch" + ] + }, + "resolve_flags":[] }, "402":{ "bfs":"402", "name":"Alchenstorf", - "canton":"", + "canton":"Kanton Bern", "domain":"alchenstorf.ch", "mx":[ "alchenstorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX alchenstorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "alchenstorf.ch" + ], + "redirect":[], + "wikidata":[ + "alchenstorf.ch" + ], + "guess":[ + "alchenstorf.ch" + ] + }, + "resolve_flags":[] }, "403":{ "bfs":"403", "name":"Bäriswil", - "canton":"", + "canton":"Kanton Bern", "domain":"baeriswil.ch", "mx":[ "mail.format-ag.ch", @@ -4047,74 +13987,245 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "baeriswil.ch" + ], + "guess":[ + "baeriswil.ch" + ] + }, + "resolve_flags":[] }, "404":{ "bfs":"404", "name":"Burgdorf", - "canton":"", + "canton":"Kanton Bern", "domain":"burgdorf.ch", "mx":[ "burgdorf-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:spf.tmes.trendmicro.com include:_spf.talus.ch include:spf.webstyle.ch include:spf.abacuscity.ch include:spf.zic-network.ch include:_spf.ch.seppmail.cloud ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.tmes.trendmicro.com include:_spf.talus.ch include:spf.webstyle.ch include:spf.abacuscity.ch include:spf.zic-network.ch include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:192.162.28.0/24 ip4:95.130.17.0/24 include:_spf.sui-inter.net ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:107.22.223.18 ip4:52.70.252.86 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.72.196.143 ip4:54.146.4.63 ip4:54.174.82.86 ip6:2600:1f18:42fe:5c00::/60 ip6:2a05:d014:10e:d900::/60 ip6:2406:da1c:1ef6:1c00::/60 include:spfc.tmes.trendmicro.com ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:15.168.56.0/25 ip4:15.168.49.64/26 ip4:15.168.56.128/26 ip4:18.97.0.160/27 ip4:18.96.32.128/27 ip6:2406:da14:194d:a200::/60 ip6:2406:da18:4ed:be00::/60 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"webmail.burgdorf.ch" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "burgdorf.ch" + ], + "guess":[ + "burgdorf.ch" + ] + }, + "resolve_flags":[] }, "405":{ "bfs":"405", "name":"Ersigen", - "canton":"", + "canton":"Kanton Bern", "domain":"ersigen.ch", "mx":[ "ersigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:_spf_exoscale.4teamwork.ch include:spf.protection.outlook.com ip4:212.103.64.0/19 ip4:193.43.183.0/24 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf_exoscale.4teamwork.ch include:spf.protection.outlook.com ip4:212.103.64.0/19 ip4:193.43.183.0/24 -all v=spf1 include:_spf1_exoscale.4teamwork.ch include:_spf_hermes.4teamwork.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.19.31.35 ip4:159.100.250.111 ip4:159.100.252.124 ip4:159.100.245.197 ip4:185.19.31.7 ip4:159.100.253.101 ip4:89.145.165.189 v=spf1 ip4:89.145.164.168 ip4:194.182.188.128 ip4:159.100.249.69", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ersigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "ersigen.ch" + ], + "redirect":[], + "wikidata":[ + "ersigen.ch" + ], + "guess":[ + "ersigen.ch" + ] + }, + "resolve_flags":[] }, "406":{ "bfs":"406", "name":"Hasle bei Burgdorf", - "canton":"", + "canton":"Kanton Bern", "domain":"hasle.ch", "mx":[ "hasle-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hasle-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hasle.ch" + ], + "redirect":[], + "wikidata":[ + "hasle.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "407":{ "bfs":"407", "name":"Heimiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"heimiswil.ch", "mx":[ "mail.format-ag.ch", @@ -4124,84 +14235,272 @@ ], "spf":"v=spf1 a mx a:mail.heimiswil.ch ip4:146.4.53.246 ip4:77.75.112.17 ip4:77.75.112.37 include:_spf.sui-inter.net -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx a:mail.heimiswil.ch ip4:146.4.53.246 ip4:77.75.112.17 ip4:77.75.112.37 include:_spf.sui-inter.net -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "heimiswil.ch" + ], + "redirect":[], + "wikidata":[ + "heimiswil.ch" + ], + "guess":[ + "heimiswil.ch" + ] + }, + "resolve_flags":[] }, "408":{ "bfs":"408", "name":"Hellsau", - "canton":"", + "canton":"Kanton Bern", "domain":"hellsau.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:egeko.ch include:_spf.i-web.ch include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:egeko.ch include:_spf.i-web.ch include:rzmail.hi-ag.ch -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "hellsau.ch" + ], + "redirect":[], + "wikidata":[ + "hellsau.ch" + ], + "guess":[ + "hellsau.ch" + ] + }, + "resolve_flags":[] }, "409":{ "bfs":"409", "name":"Hindelbank", - "canton":"", + "canton":"Kanton Bern", "domain":"hindelbank.ch", "mx":[ "burgdorf.in.tmes.trendmicro.eu" ], "spf":"v=spf1 a mx include:_spf.talus.ch include:spf.tmes.trendmicro.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:_spf.talus.ch include:spf.tmes.trendmicro.com ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all v=spf1 ip4:107.22.223.18 ip4:52.70.252.86 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.72.196.143 ip4:54.146.4.63 ip4:54.174.82.86 ip6:2600:1f18:42fe:5c00::/60 ip6:2a05:d014:10e:d900::/60 ip6:2406:da1c:1ef6:1c00::/60 include:spfc.tmes.trendmicro.com ~all v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:15.168.56.0/25 ip4:15.168.49.64/26 ip4:15.168.56.128/26 ip4:18.97.0.160/27 ip4:18.96.32.128/27 ip6:2406:da14:194d:a200::/60 ip6:2406:da18:4ed:be00::/60 ~all", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"trendmicro", - "mx_asns":[ - 16509 - ] + "sources_detail":{ + "scrape":[ + "hindelbank.ch" + ], + "redirect":[], + "wikidata":[ + "hindelbank.ch" + ], + "guess":[ + "hindelbank.ch" + ] + }, + "resolve_flags":[] }, "410":{ "bfs":"410", "name":"Höchstetten", - "canton":"", + "canton":"Kanton Bern", "domain":"hoechstetten.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:_spf.i-web.ch include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:_spf.i-web.ch include:rzmail.hi-ag.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "hoechstetten.ch" + ], + "redirect":[], + "wikidata":[ + "hoechstetten.ch" + ], + "guess":[ + "hoechstetten.ch" + ] + }, + "resolve_flags":[] }, "411":{ "bfs":"411", "name":"Kernenried", - "canton":"", + "canton":"Kanton Bern", "domain":"kernenried.ch", "mx":[ "mail.kernenried.ch" ], "spf":"v=spf1 a:kernenried.ch mx ~all", "provider":"independent", - "mx_asns":[ - 24940 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "kernenried.ch" + ], + "redirect":[], + "wikidata":[ + "kernenried.ch" + ], + "guess":[ + "kernenried.ch" + ] + }, + "resolve_flags":[] }, "412":{ "bfs":"412", - "name":"Kirchberg", - "canton":"", + "name":"Kirchberg (BE)", + "canton":"Kanton Bern", "domain":"kirchberg-be.ch", "mx":[ "mail.format-ag.ch", @@ -4211,72 +14510,291 @@ ], "spf":"v=spf1 a mx ip4:213.221.218.63 include:_spf.i-web.ch include:mailrelay.ecolize.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:213.221.218.63 include:_spf.i-web.ch include:mailrelay.ecolize.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "kirchberg-be.ch" + ], + "redirect":[], + "wikidata":[ + "kirchberg-be.ch" + ], + "guess":[ + "kirchberg.ch" + ] + }, + "resolve_flags":[] }, "413":{ "bfs":"413", "name":"Koppigen", - "canton":"", + "canton":"Kanton Bern", "domain":"koppigen.ch", "mx":[ "koppigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX koppigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "koppigen.ch" + ], + "redirect":[], + "wikidata":[ + "koppigen.ch" + ], + "guess":[ + "koppigen.ch" + ] + }, + "resolve_flags":[] }, "414":{ "bfs":"414", "name":"Krauchthal", - "canton":"", + "canton":"Kanton Bern", "domain":"krauchthal.ch", "mx":[ "krauchthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch a:mx.tas.activeguard.cloud -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch a:mx.tas.activeguard.cloud -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX krauchthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.krauchthal.ch CNAME → selector1-krauchthal-ch._domainkey.gemeindekrauchthal.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.krauchthal.ch CNAME → selector2-krauchthal-ch._domainkey.gemeindekrauchthal.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "krauchthal.ch" + ], + "guess":[ + "krauchthal.ch" + ] + }, + "resolve_flags":[] }, "415":{ "bfs":"415", "name":"Lyssach", - "canton":"", + "canton":"Kanton Bern", "domain":"lyssach.ch", "mx":[ "lyssach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lyssach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lyssach.ch" + ], + "redirect":[], + "wikidata":[ + "lyssach.ch" + ], + "guess":[ + "gemeinde-lyssach.ch", + "lyssach.ch" + ] + }, + "resolve_flags":[] }, "418":{ "bfs":"418", "name":"Oberburg", - "canton":"", + "canton":"Kanton Bern", "domain":"oberburg.ch", "mx":[ "mail.format-ag.ch", @@ -4284,186 +14802,767 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oberburg.ch" + ], + "guess":[ + "oberburg.ch" + ] + }, + "resolve_flags":[] }, "420":{ "bfs":"420", "name":"Rüdtligen-Alchenflüh", - "canton":"", - "domain":"hgra.ch", + "canton":"Kanton Bern", + "domain":"rual.ch", "mx":[ - "mail.hgra.ch" + "mail.format-ag.ch", + "mail.tankred.ch" ], - "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", + "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "rual.ch" + ] + }, + "resolve_flags":[] }, "421":{ "bfs":"421", "name":"Rumendingen", - "canton":"", - "domain":"rumendingen.ch", + "canton":"Kanton Bern", + "domain":"wynigen.ch", "mx":[ - "mx.swizzonic-mail.ch" + "wynigen-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 a mx include:spf.swizzonic-mail.ch ~all", - "provider":"independent", - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.liveapp.ch", - "autodiscover_srv":"owa.liveapp.ch" - } + "spf":"v=spf1 mx a:remote.wynigen.ch a:webext02.i-web.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wynigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "override":[ + "wynigen.ch" + ] + }, + "resolve_flags":[] }, "422":{ "bfs":"422", "name":"Rüti bei Lyssach", - "canton":"", + "canton":"Kanton Bern", "domain":"ruetibeilyssach.ch", - "mx":[], - "spf":"", + "mx":[ + "mta-gw.infomaniak.ch" + ], + "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "autodiscover":{ - "autodiscover_cname":"web.jimdofree.com.cdn.cloudflare.net" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "ruetibeilyssach.ch" + ] + }, + "resolve_flags":[] }, "423":{ "bfs":"423", "name":"Willadingen", - "canton":"", - "domain":"willadingen.ch", + "canton":"Kanton Bern", + "domain":"koppigen.ch", "mx":[ - "willadingen-ch.mail.protection.outlook.com" + "koppigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX koppigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "koppigen.ch" + ] + }, + "resolve_flags":[] }, "424":{ "bfs":"424", "name":"Wynigen", - "canton":"", + "canton":"Kanton Bern", "domain":"wynigen.ch", "mx":[ "wynigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:remote.wynigen.ch a:webext02.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:remote.wynigen.ch a:webext02.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"remote.wynigen.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wynigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "wynigen.ch" + ], + "redirect":[], + "wikidata":[ + "wynigen.ch" + ], + "guess":[ + "wynigen.ch" + ] + }, + "resolve_flags":[] }, "431":{ "bfs":"431", "name":"Corgémont", - "canton":"", + "canton":"Kanton Bern", "domain":"corgemont.ch", "mx":[ "corgemont-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:10.4.36.0/24 ip4:83.166.143.0/24 ip4:164.128.163.171 ip4:185.48.144.218 include:spf.infomaniak.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:10.4.36.0/24 ip4:83.166.143.0/24 ip4:164.128.163.171 ip4:185.48.144.218 include:spf.infomaniak.ch include:spf.protection.outlook.com ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corgemont-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.corgemont.ch CNAME → selector1-corgemont-ch._domainkey.corgemont.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.corgemont.ch CNAME → selector2-corgemont-ch._domainkey.corgemont.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "corgemont.ch" + ], + "guess":[ + "corgemont.ch" + ] + }, + "resolve_flags":[] }, "432":{ "bfs":"432", "name":"Cormoret", - "canton":"", + "canton":"Kanton Bern", "domain":"cormoret.ch", "mx":[ "cormoret-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cormoret-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "cormoret.ch" + ], + "guess":[ + "cormoret.ch" + ] + }, + "resolve_flags":[] }, "433":{ "bfs":"433", "name":"Cortébert", - "canton":"", + "canton":"Kanton Bern", "domain":"cortebert.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "cortebert.ch" + ], + "redirect":[], + "wikidata":[ + "cortebert.ch" + ], + "guess":[ + "cortebert.ch" + ] + }, + "resolve_flags":[] }, "434":{ "bfs":"434", "name":"Courtelary", - "canton":"", + "canton":"Kanton Bern", "domain":"courtelary.ch", "mx":[ "courtelary-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX courtelary-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "courtelary.ch" + ], + "redirect":[], + "wikidata":[ + "courtelary.ch" + ], + "guess":[ + "courtelary.ch" + ] + }, + "resolve_flags":[] }, "435":{ "bfs":"435", "name":"La Ferrière", - "canton":"", + "canton":"Kanton Bern", "domain":"laferriere.ch", "mx":[ "laferriere-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.34.136.220 ip4:212.147.29.100 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.34.136.220 ip4:212.147.29.100 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laferriere-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "laferriere.ch" + ], + "redirect":[], + "wikidata":[ + "laferriere.ch" + ], + "guess":[ + "laferriere.ch" + ] + }, + "resolve_flags":[] }, "437":{ "bfs":"437", "name":"Mont-Tramelan", - "canton":"", + "canton":"Kanton Bern", "domain":"mont-tramelan.ch", "mx":[ "mx1.azinformatique.ch", @@ -4473,17 +15572,27 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 ?all", "provider":"independent", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mails.mont-tramelan.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "mont-tramelan.ch" + ], + "redirect":[], + "wikidata":[ + "mont-tramelan.ch" + ], + "guess":[ + "mont-tramelan.ch" + ] + }, + "resolve_flags":[] }, "438":{ "bfs":"438", "name":"Orvin", - "canton":"", + "canton":"Kanton Bern", "domain":"orvin.ch", "mx":[ "mx01.hornetsecurity.com", @@ -4493,105 +15602,408 @@ ], "spf":"v=spf1 ip4:46.140.125.162 include:mx.dvbern.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:46.140.125.162 include:mx.dvbern.ch -all v=spf1 ip4:185.125.165.24/31 -all", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 - ] + "sources_detail":{ + "scrape":[ + "orvin.ch" + ], + "redirect":[], + "wikidata":[ + "orvin.ch" + ], + "guess":[ + "orvin.ch" + ] + }, + "resolve_flags":[] }, "441":{ "bfs":"441", - "name":"Renan", - "canton":"", + "name":"Renan (BE)", + "canton":"Kanton Bern", "domain":"renan.ch", "mx":[ "renan-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX renan-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.renan.ch CNAME → selector1-renan-ch._domainkey.renanberne.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.renan.ch CNAME → selector2-renan-ch._domainkey.renanberne.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "renan.ch" + ], + "redirect":[], + "wikidata":[ + "renan.ch" + ], + "guess":[ + "renan.ch" + ] + }, + "resolve_flags":[] }, "442":{ "bfs":"442", - "name":"Romont", - "canton":"", + "name":"Romont (BE)", + "canton":"Kanton Bern", "domain":"romont-jb.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "romont-jb.ch" + ], + "redirect":[], + "wikidata":[ + "romont-jb.ch" + ], + "guess":[ + "romont.ch" + ] + }, + "resolve_flags":[] }, "443":{ "bfs":"443", "name":"Saint-Imier", - "canton":"", + "canton":"Kanton Bern", "domain":"saint-imier.ch", "mx":[ "mail.cleanmail.ch" ], "spf":"v=spf1 ip4:62.2.112.210 -all", "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], "gateway":"cleanmail", - "mx_asns":[ - 15547 - ] + "sources_detail":{ + "scrape":[ + "saint-imier.ch" + ], + "redirect":[], + "wikidata":[ + "saint-imier.ch" + ], + "guess":[ + "saint-imier.ch" + ] + }, + "resolve_flags":[] }, "444":{ "bfs":"444", "name":"Sonceboz-Sombeval", - "canton":"", + "canton":"Kanton Bern", "domain":"sonceboz.ch", "mx":[ "sonceboz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:185.48.144.218 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:185.48.144.218 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sonceboz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "sonceboz.ch" + ], + "redirect":[], + "wikidata":[ + "sonceboz.ch" + ], + "guess":[ + "sonceboz-sombeval.ch" + ] + }, + "resolve_flags":[] }, "445":{ "bfs":"445", "name":"Sonvilier", - "canton":"", + "canton":"Kanton Bern", "domain":"sonvilier.ch", "mx":[ "sonvilier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sonvilier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.sonvilier.ch CNAME → selector1-sonvilier-ch._domainkey.sonvilier.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.sonvilier.ch CNAME → selector2-sonvilier-ch._domainkey.sonvilier.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sonvilier.ch" + ], + "guess":[ + "sonvilier.ch" + ] + }, + "resolve_flags":[] }, "446":{ "bfs":"446", "name":"Tramelan", - "canton":"", + "canton":"Kanton Bern", "domain":"tramelan.ch", "mx":[ "mx140.zline.ch", @@ -4600,56 +16012,184 @@ ], "spf":"v=spf1 ip4:83.166.134.44 ip4:109.164.210.48/28 include:spf.zline.ch include:spf.mandrillapp.com -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:83.166.134.44 ip4:109.164.210.48/28 include:spf.zline.ch include:spf.mandrillapp.com -all v=spf1 ip4:212.74.176.0/23 ip4:212.74.179.0/24 ip4:84.16.71.224/28 ip4:84.16.71.240/29 ip4:84.16.71.184/29 ip4:212.74.141.0/27 ip4:46.140.65.240/29 ip4:46.14.220.40 ip4:46.14.19.170 ip4:80.83.52.48/29 ip4:195.15.223.62 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 12651, - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"mail.tramelan.ch", - "autodiscover_srv":"mail.tramelan.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "tramelan.ch" + ], + "redirect":[], + "wikidata":[ + "tramelan.ch" + ], + "guess":[ + "tramelan.ch" + ] + }, + "resolve_flags":[] }, "448":{ "bfs":"448", "name":"Villeret", - "canton":"", + "canton":"Kanton Bern", "domain":"villeret.ch", "mx":[ "villeret-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villeret-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.villeret.ch CNAME → selector1-villeret-ch._domainkey.villeret.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.villeret.ch CNAME → selector2-villeret-ch._domainkey.villeret.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "villeret.ch" + ], + "guess":[ + "villeret.ch" + ] + }, + "resolve_flags":[] }, "449":{ "bfs":"449", "name":"Sauge", - "canton":"", + "canton":"Kanton Bern", "domain":"sauge-jb.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "sauge-jb.ch" + ], + "redirect":[], + "wikidata":[ + "sauge-jb.ch" + ], + "guess":[ + "sauge.ch" + ] + }, + "resolve_flags":[] }, "450":{ "bfs":"450", "name":"Péry-La Heutte", - "canton":"", + "canton":"Kanton Bern", "domain":"pery-laheutte.ch", "mx":[ "mx140.zline.ch", @@ -4657,38 +16197,127 @@ "mx20.zline.ch" ], "spf":"v=spf1 ip4:185.48.146.91 ip4:185.48.144.218 include:spf.protection.outlook.com include:spf.zline.ch include:spf.infomaniak.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.48.146.91 ip4:185.48.144.218 include:spf.protection.outlook.com include:spf.zline.ch include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.74.176.0/23 ip4:212.74.179.0/24 ip4:84.16.71.224/28 ip4:84.16.71.240/29 ip4:84.16.71.184/29 ip4:212.74.141.0/27 ip4:46.140.65.240/29 ip4:46.14.220.40 ip4:46.14.19.170 ip4:80.83.52.48/29 ip4:195.15.223.62 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 12651, - 29222 - ], - "autodiscover":{ - "autodiscover_srv":"mail.pery-laheutte.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "pery-laheutte.ch" + ], + "redirect":[], + "wikidata":[ + "pery-laheutte.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "491":{ "bfs":"491", "name":"Brüttelen", - "canton":"", + "canton":"Kanton Bern", "domain":"bruettelen.ch", "mx":[ "bruettelen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bruettelen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bruettelen.ch" + ], + "redirect":[], + "wikidata":[ + "bruettelen.ch" + ], + "guess":[ + "bruettelen.ch" + ] + }, + "resolve_flags":[] }, "492":{ "bfs":"492", "name":"Erlach", - "canton":"", + "canton":"Kanton Bern", "domain":"erlach.ch", "mx":[ "mail.format-ag.ch", @@ -4696,73 +16325,235 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "erlach.ch" + ], + "guess":[ + "erlach.ch" + ] + }, + "resolve_flags":[] }, "493":{ "bfs":"493", "name":"Finsterhennen", - "canton":"", + "canton":"Kanton Bern", "domain":"finsterhennen.ch", "mx":[ "finsterhennen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX finsterhennen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "finsterhennen.ch" + ], + "redirect":[], + "wikidata":[ + "finsterhennen.ch" + ], + "guess":[ + "finsterhennen.ch" + ] + }, + "resolve_flags":[] }, "494":{ "bfs":"494", "name":"Gals", - "canton":"", + "canton":"Kanton Bern", "domain":"gals.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 a mx include:spf.customer.swiss-egov.cloud ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx include:spf.customer.swiss-egov.cloud ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "gals.ch" + ], + "redirect":[], + "wikidata":[ + "gals.ch" + ], + "guess":[ + "gals.ch" + ] + }, + "resolve_flags":[] }, "495":{ "bfs":"495", "name":"Gampelen", - "canton":"", + "canton":"Kanton Bern", "domain":"gampelen.ch", "mx":[ "gampelen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gampelen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gampelen.ch" + ], + "guess":[ + "gampelen.ch" + ] + }, + "resolve_flags":[] }, "496":{ "bfs":"496", "name":"Ins", - "canton":"", + "canton":"Kanton Bern", "domain":"ins.ch", "mx":[ "mail.format-ag.ch", @@ -4772,166 +16563,547 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ins.ch" + ], + "guess":[ + "ins.ch" + ] + }, + "resolve_flags":[] }, "497":{ "bfs":"497", "name":"Lüscherz", - "canton":"", + "canton":"Kanton Bern", "domain":"luescherz.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:88.99.160.53 -all -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:88.99.160.53 -all -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "luescherz.ch" + ], + "redirect":[], + "wikidata":[ + "luescherz.ch" + ], + "guess":[ + "luescherz.ch" + ] + }, + "resolve_flags":[] }, "498":{ "bfs":"498", "name":"Müntschemier", - "canton":"", + "canton":"Kanton Bern", "domain":"muentschemier.ch", "mx":[ "muentschemier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:tiberius.sui-inter.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:tiberius.sui-inter.net include:spf.protection.outlook.com -all v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muentschemier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muentschemier.ch" + ], + "guess":[ + "muentschemier.ch" + ] + }, + "resolve_flags":[] }, "499":{ "bfs":"499", "name":"Siselen", - "canton":"", + "canton":"Kanton Bern", "domain":"siselen.ch", "mx":[ "siselen-ch.mail.eo.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "siselen.ch" + ], + "redirect":[], + "wikidata":[ + "siselen.ch" + ], + "guess":[ + "siselen.ch" + ] + }, + "resolve_flags":[] }, "500":{ "bfs":"500", "name":"Treiten", - "canton":"", + "canton":"Kanton Bern", "domain":"treiten.ch", "mx":[ "treiten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX treiten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "treiten.ch" + ], + "guess":[ + "treiten.ch" + ] + }, + "resolve_flags":[] }, "501":{ "bfs":"501", "name":"Tschugg", - "canton":"", + "canton":"Kanton Bern", "domain":"tschugg.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx ip4:88.99.160.53 include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:88.99.160.53 include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "tschugg.ch" + ], + "redirect":[], + "wikidata":[ + "tschugg.ch" + ], + "guess":[ + "tschugg.ch" + ] + }, + "resolve_flags":[] }, "502":{ "bfs":"502", "name":"Vinelz", - "canton":"", + "canton":"Kanton Bern", "domain":"vinelz.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:88.99.160.53 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:88.99.160.53 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "vinelz.ch" + ], + "redirect":[], + "wikidata":[ + "vinelz.ch" + ], + "guess":[ + "vinelz.ch" + ] + }, + "resolve_flags":[] }, "533":{ "bfs":"533", "name":"Bätterkinden", - "canton":"", + "canton":"Kanton Bern", "domain":"baetterkinden.ch", "mx":[ "baetterkinden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com include:_spf.sui-inter.net +mx ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com include:_spf.sui-inter.net +mx ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"exchange.talus.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX baetterkinden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "baetterkinden.ch" + ], + "redirect":[], + "wikidata":[ + "baetterkinden.ch" + ], + "guess":[ + "baetterkinden.ch" + ] + }, + "resolve_flags":[] }, "535":{ "bfs":"535", "name":"Deisswil bei Münchenbuchsee", - "canton":"", + "canton":"Kanton Bern", "domain":"deisswil.ch", "mx":[ "deisswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com include:spf.cloudrexx.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com include:spf.cloudrexx.com ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:80.74.136.182 ip4:80.74.128.231 ip4:80.74.128.204 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX deisswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "deisswil.ch" + ], + "redirect":[], + "wikidata":[ + "deisswil.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "538":{ "bfs":"538", "name":"Fraubrunnen", - "canton":"", + "canton":"Kanton Bern", "domain":"fraubrunnen.ch", "mx":[ "mail.format-ag.ch", @@ -4939,18 +17111,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fraubrunnen.ch" + ], + "redirect":[], + "wikidata":[ + "fraubrunnen.ch" + ], + "guess":[ + "fraubrunnen.ch" + ] + }, + "resolve_flags":[] }, "540":{ "bfs":"540", "name":"Jegenstorf", - "canton":"", + "canton":"Kanton Bern", "domain":"jegenstorf.ch", "mx":[ "mail.format-ag.ch", @@ -4958,55 +17152,206 @@ ], "spf":"v=spf1 a mx a:mail.codx.ch include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx a:mail.codx.ch include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "jegenstorf.ch" + ], + "guess":[ + "jegenstorf.ch" + ] + }, + "resolve_flags":[] }, "541":{ "bfs":"541", "name":"Iffwil", - "canton":"", + "canton":"Kanton Bern", "domain":"iffwil.ch", "mx":[ "iffwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX iffwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "iffwil.ch" + ], + "redirect":[], + "wikidata":[ + "iffwil.ch" + ], + "guess":[ + "iffwil.ch" + ] + }, + "resolve_flags":[] }, "543":{ "bfs":"543", "name":"Mattstetten", - "canton":"", + "canton":"Kanton Bern", "domain":"mattstetten.ch", "mx":[ "mattstetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail01.talus.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mattstetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.mattstetten.ch CNAME → selector1-mattstetten-ch._domainkey.mattstetten.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.mattstetten.ch CNAME → selector2-mattstetten-ch._domainkey.mattstetten.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mattstetten.ch" + ], + "guess":[ + "mattstetten.ch" + ] + }, + "resolve_flags":[] }, "544":{ "bfs":"544", "name":"Moosseedorf", - "canton":"", + "canton":"Kanton Bern", "domain":"moosseedorf.ch", "mx":[ "mail.format-ag.ch", @@ -5014,18 +17359,32 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "moosseedorf.ch" + ], + "guess":[ + "moosseedorf.ch" + ] + }, + "resolve_flags":[] }, "546":{ "bfs":"546", "name":"Münchenbuchsee", - "canton":"", + "canton":"Kanton Bern", "domain":"muenchenbuchsee.ch", "mx":[ "mail.format-ag.ch", @@ -5033,18 +17392,38 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muenchenbuchsee.ch" + ], + "guess":[ + "muenchenbuchsee.ch" + ] + }, + "resolve_flags":[] }, "551":{ "bfs":"551", "name":"Urtenen-Schönbühl", - "canton":"", + "canton":"Kanton Bern", "domain":"urtenen-schoenbuehl.ch", "mx":[ "mail.format-ag.ch", @@ -5052,18 +17431,34 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "urtenen-schoenbuehl.ch" + ], + "redirect":[], + "wikidata":[ + "urtenen-schoenbuehl.ch" + ], + "guess":[ + "urtenen-schoenbuehl.ch" + ] + }, + "resolve_flags":[] }, "552":{ "bfs":"552", "name":"Utzenstorf", - "canton":"", + "canton":"Kanton Bern", "domain":"utzenstorf.ch", "mx":[ "mail.format-ag.ch", @@ -5073,54 +17468,188 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.sui-inter.net +mx ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.sui-inter.net +mx ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "utzenstorf.ch" + ], + "redirect":[], + "wikidata":[ + "utzenstorf.ch" + ], + "guess":[ + "utzenstorf.ch" + ] + }, + "resolve_flags":[] }, "553":{ "bfs":"553", "name":"Wiggiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"wiggiswil.ch", "mx":[ "wiggiswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wiggiswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wiggiswil.ch" + ], + "redirect":[], + "wikidata":[ + "wiggiswil.ch" + ], + "guess":[ + "wiggiswil.ch" + ] + }, + "resolve_flags":[] }, "554":{ "bfs":"554", "name":"Wiler bei Utzenstorf", - "canton":"", + "canton":"Kanton Bern", "domain":"wiler.ch", "mx":[ "wiler-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wiler-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wiler.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "556":{ "bfs":"556", "name":"Zielebach", - "canton":"", + "canton":"Kanton Bern", "domain":"zielebach.ch", "mx":[ "mx1.jimdo.com", @@ -5128,73 +17657,277 @@ ], "spf":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 ip4:108.166.43.0/24 ip4:146.20.86.8 ip4:146.20.161.0/25 ip4:161.47.34.7 ip4:173.203.187.0/25 ip4:184.106.54.0/25 ip4:204.232.172.40 ~all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "mx_asns":[ - 19994, - 27357 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.emailsrvr.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "zielebach.ch" + ], + "guess":[ + "zielebach.ch" + ] + }, + "resolve_flags":[] }, "557":{ "bfs":"557", - "name":"Zuzwil", - "canton":"", + "name":"Zuzwil (BE)", + "canton":"Kanton Bern", "domain":"zuzwil-be.ch", "mx":[ "zuzwilbe-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zuzwilbe-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "zuzwil-be.ch" + ], + "guess":[ + "zuzwil.ch" + ] + }, + "resolve_flags":[] }, "561":{ "bfs":"561", "name":"Adelboden", - "canton":"", + "canton":"Kanton Bern", "domain":"3715.ch", "mx":[ "3715-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX 3715-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.3715.ch CNAME → selector1-3715-ch._domainkey.3715.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.3715.ch CNAME → selector2-3715-ch._domainkey.3715.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "3715.ch" + ], + "guess":[ + "adelboden.ch" + ] + }, + "resolve_flags":[ + "website_mismatch" + ] }, "562":{ "bfs":"562", "name":"Aeschi bei Spiez", - "canton":"", + "canton":"Kanton Bern", "domain":"aeschi.ch", "mx":[ "aeschi-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +a:scorpius.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +a:scorpius.ch include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aeschi-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.aeschi.ch CNAME → selector1-aeschi-ch._domainkey.aeschibspiez.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.aeschi.ch CNAME → selector2-aeschi-ch._domainkey.aeschibspiez.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "aeschi.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "563":{ "bfs":"563", "name":"Frutigen", - "canton":"", + "canton":"Kanton Bern", "domain":"frutigen.ch", "mx":[ "mx01.hornetsecurity.com", @@ -5204,41 +17937,110 @@ ], "spf":"v=spf1 redirect=frutigen.ch.spf.hornetdmarc.com", "provider":"microsoft", - "spf_resolved":"v=spf1 redirect=frutigen.ch.spf.hornetdmarc.com v=spf1 mx:frutigen.ch a:frutigen.ch include:spf.hornetsecurity.com include:be-welcome.ch include:_spf.talus.ch ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all v=spf1 +mx +a include:_spf.mail.hostserv.eu ip4:88.99.185.251 include:spf.protection.outlook.com include:eu.zcsend.net ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 a:mailhost.hostserv.eu a:mailhost.hosttech.eu include:_spf.v4.hosttech.eu include:_spf.v6.1.hosttech.eu include:_spf.v6.2.hosttech.eu ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:31.186.226.160/27 ip4:185.20.211.0/25 ip4:185.172.199.0/25 ip4:91.103.152.0/24 ~all v=spf1 ip4:193.203.253.22 ip4:193.203.253.23 ip4:193.203.253.24 ip4:193.203.253.25 ip4:193.203.253.26 ip4:193.203.253.27 ip4:45.131.252.247 ip4:45.131.252.248 ip4:45.131.252.249 ip4:45.131.253.4 ip4:45.131.253.5 ip4:45.131.253.7 ~all v=spf1 ip6:2001:1680:101:83a::79 ip6:2001:1680:101:83a::8f ip6:2001:1680:101:83a::91 ip6:2001:1680:101:83a::95 ip6:2001:1680:101:83a::9d ip6:2001:1680:101:83a::d6 ~all v=spf1 ip6:2a11:8b80:1000:1::46 ip6:2a11:8b80:1000:1::47 ip6:2a11:8b80:1000:1::48 ip6:2a11:8b80:1000:1::49 ip6:2a11:8b80:1000:1::4a ip6:2a11:8b80:1000:1::4b ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "frutigen.ch" + ], + "guess":[ + "frutigen.ch" + ] + }, + "resolve_flags":[] }, "564":{ "bfs":"564", "name":"Kandergrund", - "canton":"", + "canton":"Kanton Bern", "domain":"kandergrund.ch", "mx":[ "kandergrund-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:_spf.ch.seppmail.cloud -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:_spf.ch.seppmail.cloud -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kandergrund.ch CNAME → selector1-kandergrund-ch._domainkey.kandergrund.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kandergrund.ch CNAME → selector2-kandergrund-ch._domainkey.kandergrund.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "kandergrund.ch" + ], + "redirect":[], + "wikidata":[ + "kandergrund.ch" + ], + "guess":[ + "kandergrund.ch" + ] + }, + "resolve_flags":[] }, "565":{ "bfs":"565", "name":"Kandersteg", - "canton":"", + "canton":"Kanton Bern", "domain":"gemeindekandersteg.ch", "mx":[ "mx01.hornetsecurity.com", @@ -5248,217 +18050,961 @@ ], "spf":"v=spf1 include:_spf.pcetera.ch include:spf.mandrillapp.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.pcetera.ch include:spf.mandrillapp.com -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "gemeindekandersteg.ch" + ], + "redirect":[], + "wikidata":[ + "gemeindekandersteg.ch" + ], + "guess":[ + "kandersteg.ch" + ] + }, + "resolve_flags":[] }, "566":{ "bfs":"566", "name":"Krattigen", - "canton":"", + "canton":"Kanton Bern", "domain":"krattigen.ch", "mx":[ "krattigen-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:194.126.200.0/24 ip4:149.126.0.0/21 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:194.126.200.0/24 ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.krattigen.ch CNAME → selector1-krattigen-ch._domainkey.krattigen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.krattigen.ch CNAME → selector2-krattigen-ch._domainkey.krattigen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "krattigen.ch" + ], + "redirect":[], + "wikidata":[ + "krattigen.ch" + ], + "guess":[ + "krattigen.ch" + ] + }, + "resolve_flags":[] }, "567":{ "bfs":"567", "name":"Reichenbach im Kandertal", - "canton":"", + "canton":"Kanton Bern", "domain":"reichenbach.ch", "mx":[ "reichenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:spf.trendhosting-net.ch include:spf.protection.outlook.com include:_spf.talus.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:spf.trendhosting-net.ch include:spf.protection.outlook.com include:_spf.talus.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"mail.reichenbach.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX reichenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.reichenbach.ch CNAME → selector1-reichenbach-ch._domainkey.gdereichenbach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.reichenbach.ch CNAME → selector2-reichenbach-ch._domainkey.gdereichenbach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "reichenbach.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "571":{ "bfs":"571", "name":"Beatenberg", - "canton":"", + "canton":"Kanton Bern", "domain":"beatenberg.ch", "mx":[ "beatenberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX beatenberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.beatenberg.ch CNAME → selector1-beatenberg-ch._domainkey.beatenbergbe.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.beatenberg.ch CNAME → selector2-beatenberg-ch._domainkey.beatenbergbe.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "beatenberg.ch" + ], + "guess":[ + "beatenberg.ch" + ] + }, + "resolve_flags":[] }, "572":{ "bfs":"572", "name":"Bönigen", - "canton":"", + "canton":"Kanton Bern", "domain":"boenigen.ch", "mx":[ "boenigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boenigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.boenigen.ch CNAME → selector1-boenigen-ch._domainkey.gemeindeverwaltungboenigen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.boenigen.ch CNAME → selector2-boenigen-ch._domainkey.gemeindeverwaltungboenigen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "boenigen.ch" + ], + "redirect":[], + "wikidata":[ + "boenigen.ch" + ], + "guess":[ + "boenigen.ch" + ] + }, + "resolve_flags":[] }, "573":{ "bfs":"573", - "name":"Brienz", - "canton":"", + "name":"Brienz (BE)", + "canton":"Kanton Bern", "domain":"brienz.ch", "mx":[ "brienz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brienz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brienz.ch" + ], + "redirect":[], + "wikidata":[ + "brienz.ch" + ], + "guess":[ + "brienz.ch" + ] + }, + "resolve_flags":[] }, "574":{ "bfs":"574", "name":"Brienzwiler", - "canton":"", + "canton":"Kanton Bern", "domain":"brienzwiler.ch", "mx":[ "brienzwiler-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brienzwiler-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "brienzwiler.ch" + ], + "guess":[ + "brienzwiler.ch" + ] + }, + "resolve_flags":[] }, "575":{ "bfs":"575", "name":"Därligen", - "canton":"", + "canton":"Kanton Bern", "domain":"daerligen.ch", "mx":[ "daerligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:194.150.248.204 include:_spf.tophost.ch include:relay.mailchannels.net +include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.150.248.204 include:_spf.tophost.ch include:relay.mailchannels.net +include:spf.protection.outlook.com -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"us-cloud", + "classification_confidence":89.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX daerligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "daerligen.ch" + ], + "redirect":[], + "wikidata":[ + "daerligen.ch" + ], + "guess":[ + "daerligen.ch" + ] + }, + "resolve_flags":[] }, "576":{ "bfs":"576", "name":"Grindelwald", - "canton":"", - "domain":"grindelwald.com", + "canton":"Kanton Bern", + "domain":"gemeinde-grindelwald.ch", "mx":[ - "" + "gemeindegrindelwald-ch02b.mail.protection.outlook.com" ], - "spf":"v=spf1 -all", - "provider":"independent", - "smtp_banner":"220 N0007808.localdomain ESMTP Postfix" + "spf":"v=spf1 include:spf.webstyle.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindegrindelwald-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gemeinde-grindelwald.ch CNAME → selector1-gemeindegrindelwald-ch02b._domainkey.gemeindegrindelwald.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gemeinde-grindelwald.ch CNAME → selector2-gemeindegrindelwald-ch02b._domainkey.gemeindegrindelwald.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gemeinde-grindelwald.ch" + ] + }, + "resolve_flags":[] }, "577":{ "bfs":"577", "name":"Gsteigwiler", - "canton":"", + "canton":"Kanton Bern", "domain":"gsteigwiler.ch", "mx":[ "gsteigwiler-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gsteigwiler-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gsteigwiler.ch CNAME → selector1-gsteigwiler-ch._domainkey.gsteigwilerch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gsteigwiler.ch CNAME → selector2-gsteigwiler-ch._domainkey.gsteigwilerch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gsteigwiler.ch" + ], + "guess":[ + "gsteigwiler.ch" + ] + }, + "resolve_flags":[] }, "578":{ "bfs":"578", "name":"Gündlischwand", - "canton":"", + "canton":"Kanton Bern", "domain":"guendlischwand.ch", "mx":[ "guendlischwand-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX guendlischwand-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.guendlischwand.ch CNAME → selector1-guendlischwand-ch._domainkey.guendlischwand.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.guendlischwand.ch CNAME → selector2-guendlischwand-ch._domainkey.guendlischwand.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "guendlischwand.ch" + ], + "guess":[ + "guendlischwand.ch" + ] + }, + "resolve_flags":[] }, "579":{ "bfs":"579", "name":"Habkern", - "canton":"", + "canton":"Kanton Bern", "domain":"habkern.ch", "mx":[ "habkern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX habkern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "habkern.ch" + ], + "redirect":[], + "wikidata":[ + "habkern.ch" + ], + "guess":[ + "habkern.ch" + ] + }, + "resolve_flags":[] }, "580":{ "bfs":"580", "name":"Hofstetten bei Brienz", - "canton":"", + "canton":"Kanton Bern", "domain":"hofstetten-ballenberg.ch", "mx":[ "mx1.jimdo.com", @@ -5466,19 +19012,23 @@ ], "spf":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 ip4:108.166.43.0/24 ip4:146.20.86.8 ip4:146.20.161.0/25 ip4:161.47.34.7 ip4:173.203.187.0/25 ip4:184.106.54.0/25 ip4:204.232.172.40 ~all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "mx_asns":[ - 19994, - 27357 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.emailsrvr.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "hofstetten-ballenberg.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "581":{ "bfs":"581", "name":"Interlaken", - "canton":"", + "canton":"Kanton Bern", "domain":"interlaken.ch", "mx":[ "mail.format-ag.ch", @@ -5486,251 +19036,1034 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "interlaken.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "interlaken.ch", + "stadt-interlaken.ch" + ] + }, + "resolve_flags":[] }, "582":{ "bfs":"582", "name":"Iseltwald", - "canton":"", + "canton":"Kanton Bern", "domain":"iseltwald.ch", "mx":[ "iseltwald-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX iseltwald-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "iseltwald.ch" + ], + "redirect":[], + "wikidata":[ + "iseltwald.ch" + ], + "guess":[ + "iseltwald.ch" + ] + }, + "resolve_flags":[] }, "584":{ "bfs":"584", "name":"Lauterbrunnen", - "canton":"", + "canton":"Kanton Bern", "domain":"lauterbrunnen.ch", "mx":[ "lauterbrunnen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lauterbrunnen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.lauterbrunnen.ch CNAME → selector1-lauterbrunnen-ch._domainkey.lauterbrunnen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.lauterbrunnen.ch CNAME → selector2-lauterbrunnen-ch._domainkey.lauterbrunnen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lauterbrunnen.ch" + ], + "redirect":[], + "wikidata":[ + "lauterbrunnen.ch" + ], + "guess":[ + "lauterbrunnen.ch" + ] + }, + "resolve_flags":[] }, "585":{ "bfs":"585", "name":"Leissigen", - "canton":"", + "canton":"Kanton Bern", "domain":"leissigen.ch", "mx":[ "leissigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leissigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "leissigen.ch" + ], + "guess":[ + "leissigen.ch" + ] + }, + "resolve_flags":[] }, "586":{ "bfs":"586", "name":"Lütschental", - "canton":"", + "canton":"Kanton Bern", "domain":"luetschental.ch", "mx":[ "luetschental-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX luetschental-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "luetschental.ch" + ], + "guess":[ + "luetschental.ch" + ] + }, + "resolve_flags":[] }, "587":{ "bfs":"587", "name":"Matten bei Interlaken", - "canton":"", + "canton":"Kanton Bern", "domain":"matten.ch", "mx":[ "matten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX matten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.matten.ch CNAME → selector1-matten-ch._domainkey.matten.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.matten.ch CNAME → selector2-matten-ch._domainkey.matten.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "matten.ch" + ], + "redirect":[], + "wikidata":[ + "matten.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "588":{ "bfs":"588", "name":"Niederried bei Interlaken", - "canton":"", + "canton":"Kanton Bern", "domain":"niederried-be.ch", "mx":[ "niederriedbe-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niederriedbe-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "niederried-be.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "589":{ "bfs":"589", "name":"Oberried am Brienzersee", - "canton":"", + "canton":"Kanton Bern", "domain":"oberried.ch", "mx":[ "oberried.ch" ], "spf":"", "provider":"independent", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rufcloud.ch" - } + "category":"swiss-based", + "classification_confidence":60.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "oberried.ch" + ], + "redirect":[], + "wikidata":[ + "oberried.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "590":{ "bfs":"590", - "name":"Ringgenberg", - "canton":"", + "name":"Ringgenberg (BE)", + "canton":"Kanton Bern", "domain":"ringgenberg.ch", "mx":[ "ringgenberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ringgenberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ringgenberg.ch CNAME → selector1-ringgenberg-ch._domainkey.ringgenbergch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ringgenberg.ch CNAME → selector2-ringgenberg-ch._domainkey.ringgenbergch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ringgenberg.ch" + ], + "redirect":[], + "wikidata":[ + "ringgenberg.ch" + ], + "guess":[ + "ringgenberg.ch" + ] + }, + "resolve_flags":[] }, "591":{ "bfs":"591", "name":"Saxeten", - "canton":"", + "canton":"Kanton Bern", "domain":"saxeten.ch", "mx":[ "saxeten-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", + "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX saxeten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saxeten.ch" + ], + "guess":[ + "saxeten.ch" + ] + }, + "resolve_flags":[] }, "592":{ "bfs":"592", "name":"Schwanden bei Brienz", - "canton":"", + "canton":"Kanton Bern", "domain":"schwandenbrienz.ch", "mx":[ "schwandenbrienz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schwandenbrienz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "schwandenbrienz.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "593":{ "bfs":"593", "name":"Unterseen", - "canton":"", + "canton":"Kanton Bern", "domain":"unterseen.ch", "mx":[ "mx.gnets.ch" ], "spf":"v=spf1 a:smtp.gnets.ch ip4:213.202.32.4 ip4:213.202.32.6 ip4:213.202.32.8 ip4:188.245.229.219 ip4:62.116.178.113 ip4:62.116.178.110 include:spf.protection.outlook.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:smtp.gnets.ch ip4:213.202.32.4 ip4:213.202.32.6 ip4:213.202.32.8 ip4:188.245.229.219 ip4:62.116.178.113 ip4:62.116.178.110 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 13030 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.gnets.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 13030 is Swiss ISP: Init7" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "unterseen.ch" + ], + "guess":[ + "unterseen.ch" + ] + }, + "resolve_flags":[] }, "594":{ "bfs":"594", "name":"Wilderswil", - "canton":"", + "canton":"Kanton Bern", "domain":"wilderswil.ch", "mx":[ "wilderswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:wilderswil.ch a:srv113.4youhosting.ch ip4:62.116.178.113 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:wilderswil.ch a:srv113.4youhosting.ch ip4:62.116.178.113 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wilderswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wilderswil.ch CNAME → selector1-wilderswil-ch._domainkey.wilderswil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wilderswil.ch CNAME → selector2-wilderswil-ch._domainkey.wilderswil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wilderswil.ch" + ], + "redirect":[], + "wikidata":[ + "wilderswil.ch" + ], + "guess":[ + "wilderswil.ch" + ] + }, + "resolve_flags":[] }, "602":{ "bfs":"602", - "name":"Arni", - "canton":"", + "name":"Arni (BE)", + "canton":"Kanton Bern", "domain":"arnibe.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.x-mailer.de include:spf2.x-mailer.de include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.x-mailer.de include:spf2.x-mailer.de include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:212.162.12.0/22 ip4:212.162.56.0/23 ip4:212.162.52.0/23 ~all v=spf1 ip4:46.229.32.0/20 ~all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "arnibe.ch" + ], + "guess":[ + "arni.ch" + ] + }, + "resolve_flags":[] }, "603":{ "bfs":"603", "name":"Biglen", - "canton":"", + "canton":"Kanton Bern", "domain":"biglen.ch", "mx":[ "mail.format-ag.ch", @@ -5738,15 +20071,32 @@ ], "spf":"v=spf1 ip4:193.5.124.38 ip4:212.243.26.162 include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.5.124.38 ip4:212.243.26.162 include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "biglen.ch" + ], + "guess":[ + "biglen.ch" + ] + }, + "resolve_flags":[] }, "605":{ "bfs":"605", "name":"Bowil", - "canton":"", + "canton":"Kanton Bern", "domain":"bowil.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -5756,52 +20106,156 @@ ], "spf":"v=spf1 mx include:spf.zic-network.ch include:_spf.pcetera.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.zic-network.ch include:_spf.pcetera.ch -all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 25091 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "bowil.ch" + ], + "redirect":[], + "wikidata":[ + "bowil.ch" + ], + "guess":[ + "bowil.ch" + ] + }, + "resolve_flags":[] }, "606":{ "bfs":"606", "name":"Brenzikofen", - "canton":"", + "canton":"Kanton Bern", "domain":"brenzikofen.ch", "mx":[ "mail.brenzikofen.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "brenzikofen.ch" + ], + "redirect":[], + "wikidata":[ + "brenzikofen.ch" + ], + "guess":[ + "brenzikofen.ch" + ] + }, + "resolve_flags":[] }, "607":{ "bfs":"607", "name":"Freimettigen", - "canton":"", + "canton":"Kanton Bern", "domain":"freimettigen.ch", "mx":[ "freimettigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX freimettigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "freimettigen.ch" + ], + "redirect":[], + "wikidata":[ + "freimettigen.ch" + ], + "guess":[ + "freimettigen.ch" + ] + }, + "resolve_flags":[] }, "608":{ "bfs":"608", "name":"Grosshöchstetten", - "canton":"", + "canton":"Kanton Bern", "domain":"grosshoechstetten.ch", "mx":[ "mail.format-ag.ch", @@ -5811,54 +20265,210 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch include:mx.dvbern.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch include:mx.dvbern.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grosshoechstetten.ch" + ], + "redirect":[], + "wikidata":[ + "grosshoechstetten.ch" + ], + "guess":[ + "grosshoechstetten.ch" + ] + }, + "resolve_flags":[] }, "609":{ "bfs":"609", "name":"Häutligen", - "canton":"", + "canton":"Kanton Bern", "domain":"haeutligen.ch", "mx":[ "haeutligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX haeutligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "haeutligen.ch" + ], + "redirect":[], + "wikidata":[ + "haeutligen.ch" + ], + "guess":[ + "haeutligen.ch" + ] + }, + "resolve_flags":[] }, "610":{ "bfs":"610", "name":"Herbligen", - "canton":"", + "canton":"Kanton Bern", "domain":"herbligen.ch", "mx":[ "herbligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX herbligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.herbligen.ch CNAME → selector1-herbligen-ch._domainkey.herbligengemeinde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.herbligen.ch CNAME → selector2-herbligen-ch._domainkey.herbligengemeinde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "herbligen.ch" + ], + "redirect":[], + "wikidata":[ + "herbligen.ch" + ], + "guess":[ + "herbligen.ch" + ] + }, + "resolve_flags":[] }, "611":{ "bfs":"611", "name":"Kiesen", - "canton":"", + "canton":"Kanton Bern", "domain":"kiesen.ch", "mx":[ "kiesen1.cleanmail.ch", @@ -5866,57 +20476,266 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_cmspf.cleanmail.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_cmspf.cleanmail.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:91.208.173.0/24 ip4:91.212.152.0/24 ip4:195.141.89.0/24 ip4:185.188.196.0/24 ip4:83.145.109.0/24 ip4:31.172.161.0/24 ip4:80.83.63.195/32 ip4:80.83.63.196/32 a:outbound.appriver.com ~all", - "gateway":"cleanmail", - "mx_asns":[ - 15547 + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kiesen.ch CNAME → selector1-kiesen-ch._domainkey.kiesench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kiesen.ch CNAME → selector2-kiesen-ch._domainkey.kiesench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"cleanmail", + "sources_detail":{ + "scrape":[ + "kiesen.ch", + "mehrdigital.ch" + ], + "redirect":[], + "wikidata":[ + "kiesen.ch" + ], + "guess":[ + "kiesen.ch" + ] + }, + "resolve_flags":[] }, "612":{ "bfs":"612", "name":"Konolfingen", - "canton":"", + "canton":"Kanton Bern", "domain":"konolfingen.ch", "mx":[ "konolfingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.41.204.242 ip4:62.167.19.241 ip4:81.62.201.86 a:mailout.computech.ch include:spf-de.emailsignatures365.com include:spf.protection.outlook.com include:_spf.talus.ch +a +mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.41.204.242 ip4:62.167.19.241 ip4:81.62.201.86 a:mailout.computech.ch include:spf-de.emailsignatures365.com include:spf.protection.outlook.com include:_spf.talus.ch +a +mx -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.konolfingen.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX konolfingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.konolfingen.ch CNAME → selector1-konolfingen-ch._domainkey.gemkon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.konolfingen.ch CNAME → selector2-konolfingen-ch._domainkey.gemkon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "konolfingen.ch" + ], + "redirect":[], + "wikidata":[ + "konolfingen.ch" + ], + "guess":[ + "konolfingen.ch" + ] + }, + "resolve_flags":[] }, "613":{ "bfs":"613", "name":"Landiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"landiswil.ch", "mx":[ "landiswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:ip-nep2016.asp.infopro.ch ip4:80.243.212.107 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:ip-nep2016.asp.infopro.ch ip4:80.243.212.107 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX landiswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.landiswil.ch CNAME → selector1-landiswil-ch._domainkey.landiswilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.landiswil.ch CNAME → selector2-landiswil-ch._domainkey.landiswilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "landiswil.ch" + ], + "redirect":[], + "wikidata":[ + "landiswil.ch" + ], + "guess":[ + "landiswil.ch" + ] + }, + "resolve_flags":[] }, "614":{ "bfs":"614", "name":"Linden", - "canton":"", + "canton":"Kanton Bern", "domain":"linden.ch", "mx":[ "mail.format-ag.ch", @@ -5926,13 +20745,35 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "linden.ch" + ], + "redirect":[], + "wikidata":[ + "linden.ch" + ], + "guess":[ + "linden.ch" + ] + }, + "resolve_flags":[] }, "615":{ "bfs":"615", @@ -5944,55 +20785,191 @@ ], "spf":"v=spf1 a mx a:mail.tcnet.ch ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mail.tcnet.ch ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 207143 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.mirchel.ch CNAME → selector1-mirchel-ch._domainkey.gemeindemirchel.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.mirchel.ch CNAME → selector2-mirchel-ch._domainkey.gemeindemirchel.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mirchel.ch" + ], + "guess":[ + "mirchel.ch" + ] + }, + "resolve_flags":[] }, "616":{ "bfs":"616", "name":"Münsingen", - "canton":"", + "canton":"Kanton Bern", "domain":"muensingen.ch", "mx":[ "mail.format-ag.ch", "mail.tankred.ch" ], "spf":"v=spf1 a:mrmuensingen01.muensingen.ch mx a:incms00.incms.com a:incms01.incms.com a:incms02.incms.com a:incms03.incms.com a:incms04.incms.com include:spf.protection.outlook.com include:_spf.talus.ch include:spf.mailjet.com ip4:116.203.46.102 -all", - "provider":"independent", - "spf_resolved":"v=spf1 a:mrmuensingen01.muensingen.ch mx a:incms00.incms.com a:incms01.incms.com a:incms02.incms.com a:incms03.incms.com a:incms04.incms.com include:spf.protection.outlook.com include:_spf.talus.ch include:spf.mailjet.com ip4:116.203.46.102 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"owa.riz.muensingen.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "muensingen.ch" + ], + "redirect":[], + "wikidata":[ + "muensingen.ch" + ], + "guess":[ + "muensingen.ch" + ] + }, + "resolve_flags":[] }, "617":{ "bfs":"617", "name":"Niederhünigen", - "canton":"", + "canton":"Kanton Bern", "domain":"niederhuenigen.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzmail.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "niederhuenigen.ch" + ], + "redirect":[], + "wikidata":[ + "niederhuenigen.ch" + ], + "guess":[ + "niederhuenigen.ch" + ] + }, + "resolve_flags":[] }, "619":{ "bfs":"619", "name":"Oberdiessbach", - "canton":"", + "canton":"Kanton Bern", "domain":"oberdiessbach.ch", "mx":[ "mx01.hornetsecurity.com", @@ -6002,18 +20979,41 @@ ], "spf":"v=spf1 mx mx:mx.mail.33084.hostserv.eu mx:mxpool.de2.hostedoffice.ag include:spf.hornetsecurity.com ip4:193.135.56.6 ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx mx:mx.mail.33084.hostserv.eu mx:mxpool.de2.hostedoffice.ag include:spf.hornetsecurity.com ip4:193.135.56.6 ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 - ] + "sources_detail":{ + "scrape":[ + "oberdiessbach.ch" + ], + "redirect":[], + "wikidata":[ + "oberdiessbach.ch" + ], + "guess":[ + "oberdiessbach.ch" + ] + }, + "resolve_flags":[] }, "620":{ "bfs":"620", "name":"Oberthal", - "canton":"", + "canton":"Kanton Bern", "domain":"oberthal.ch", "mx":[ "mail.format-ag.ch", @@ -6023,55 +21023,160 @@ ], "spf":"v=spf1 include:_spf.talus.ch include:_spf.sui-inter.net +mx +a ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.talus.ch include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberthal.ch" + ], + "redirect":[], + "wikidata":[ + "oberthal.ch" + ], + "guess":[ + "oberthal.ch" + ] + }, + "resolve_flags":[] }, "622":{ "bfs":"622", "name":"Oppligen", - "canton":"", + "canton":"Kanton Bern", "domain":"oppligen.ch", "mx":[ "oppligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oppligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oppligen.ch" + ], + "guess":[ + "oppligen.ch" + ] + }, + "resolve_flags":[] }, "623":{ "bfs":"623", "name":"Rubigen", - "canton":"", - "domain":"rubigen.ch", + "canton":"Kanton Bern", + "domain":"rubigen.swiss", "mx":[ - "mx.prod.qlmail.ch" - ], - "spf":"v=spf1 redirect=_spf.qlmail.ch", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 redirect=_spf.qlmail.ch v=spf1 ip4:89.236.171.24 ip4:31.193.211.99 ip4:89.236.170.0/27 ip4:89.236.174.0/24 ip6:2001:1a88:20:8171::24 -all", - "mx_asns":[ - 15600 + "mail.format-ag.ch", + "mail.tankred.ch" ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.quickline.com", - "autodiscover_srv":"autodiscover.quickline.com" - } + "spf":"v=spf1 a mx include:sendgrid.net include:_spf.talus.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "rubigen.swiss" + ] + }, + "resolve_flags":[] }, "626":{ "bfs":"626", "name":"Walkringen", - "canton":"", + "canton":"Kanton Bern", "domain":"walkringen.ch", "mx":[ "mail.format-ag.ch", @@ -6080,18 +21185,27 @@ ], "spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch include:spf.zic-network.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch include:spf.zic-network.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "walkringen.ch" + ], + "redirect":[], + "wikidata":[ + "walkringen.ch" + ], + "guess":[ + "walkringen.ch" + ] + }, + "resolve_flags":[] }, "627":{ "bfs":"627", "name":"Worb", - "canton":"", + "canton":"Kanton Bern", "domain":"worb.ch", "mx":[ "mail.format-ag.ch", @@ -6099,18 +21213,46 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "worb.ch" + ], + "redirect":[], + "wikidata":[ + "worb.ch" + ], + "guess":[ + "worb.ch" + ] + }, + "resolve_flags":[] }, "628":{ "bfs":"628", "name":"Zäziwil", - "canton":"", + "canton":"Kanton Bern", "domain":"zaeziwil.ch", "mx":[ "mail.format-ag.ch", @@ -6119,18 +21261,38 @@ ], "spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"www.zaeziwil.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "zaeziwil.ch" + ], + "guess":[ + "zaeziwil.ch" + ] + }, + "resolve_flags":[] }, "629":{ "bfs":"629", "name":"Oberhünigen", - "canton":"", + "canton":"Kanton Bern", "domain":"oberhuenigen.ch", "mx":[ "mail.format-ag.ch", @@ -6138,36 +21300,112 @@ ], "spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"www.oberhuenigen.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oberhuenigen.ch" + ], + "guess":[ + "oberhuenigen.ch" + ] + }, + "resolve_flags":[] }, "630":{ "bfs":"630", - "name":"Allmendingen bei Bern", - "canton":"", + "name":"Allmendingen", + "canton":"Kanton Bern", "domain":"allmendingen.ch", "mx":[ "allmendingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX allmendingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "allmendingen.ch" + ], + "guess":[ + "allmendingen.ch" + ] + }, + "resolve_flags":[] }, "632":{ "bfs":"632", "name":"Wichtrach", - "canton":"", + "canton":"Kanton Bern", "domain":"wichtrach.ch", "mx":[ "mail.format-ag.ch", @@ -6175,17 +21413,44 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 ip4:212.243.26.162 mx:talus.ch a:incms00.incms.com a:incms01.incms.com a:incms02.incms.com a:incms03.incms.com a:incms04.incms.com -all", "provider":"independent", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wichtrach.ch" + ], + "guess":[ + "wichtrach.ch" + ] + }, + "resolve_flags":[] }, "662":{ "bfs":"662", "name":"Ferenbalm", - "canton":"", + "canton":"Kanton Bern", "domain":"ferenbalm.ch", "mx":[ "mail.format-ag.ch", @@ -6195,18 +21460,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ferenbalm.ch" + ], + "redirect":[], + "wikidata":[ + "ferenbalm.ch" + ], + "guess":[ + "ferenbalm.ch" + ] + }, + "resolve_flags":[] }, "663":{ "bfs":"663", "name":"Frauenkappelen", - "canton":"", + "canton":"Kanton Bern", "domain":"frauenkappelen.ch", "mx":[ "mail.format-ag.ch", @@ -6214,93 +21501,283 @@ ], "spf":"v=spf1 Include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 Include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "frauenkappelen.ch" + ], + "guess":[ + "frauenkappelen.ch" + ] + }, + "resolve_flags":[] }, "665":{ "bfs":"665", "name":"Gurbrü", - "canton":"", + "canton":"Kanton Bern", "domain":"gurbrue.ch", "mx":[ "gurbrue-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gurbrue-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gurbrue.ch CNAME → selector1-gurbrue-ch._domainkey.gurbrue.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gurbrue.ch CNAME → selector2-gurbrue-ch._domainkey.gurbrue.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gurbrue.ch" + ], + "redirect":[], + "wikidata":[ + "gurbrue.ch" + ], + "guess":[ + "gurbrue.ch" + ] + }, + "resolve_flags":[] }, "666":{ "bfs":"666", "name":"Kriechenwil", - "canton":"", + "canton":"Kanton Bern", "domain":"kriechenwil.ch", "mx":[ "kriechenwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kriechenwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kriechenwil.ch" + ], + "redirect":[], + "wikidata":[ + "kriechenwil.ch" + ], + "guess":[ + "kriechenwil.ch" + ] + }, + "resolve_flags":[] }, "667":{ "bfs":"667", "name":"Laupen", - "canton":"", - "domain":"laupen.ch", + "canton":"Kanton Bern", + "domain":"laupen-be.ch", "mx":[ - "mail.sesamnet.ch" - ], - "spf":"v=spf1 include:spf.sesamnet.ch include:mx.dvbern.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.sesamnet.ch include:mx.dvbern.ch -all v=spf1 ip4:83.222.130.50 ip4:185.64.116.13 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 31736 + "mail.format-ag.ch", + "mail.tankred.ch", + "mailbackup.format-ag.ch", + "mailbackup.tankred.ch" ], - "autodiscover":{ - "autodiscover_cname":"outlook.laupen.ch" - } + "spf":"v=spf1 a mx include:_spf.talus.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "laupen-be.ch" + ] + }, + "resolve_flags":[] }, "668":{ "bfs":"668", "name":"Mühleberg", - "canton":"", + "canton":"Kanton Bern", "domain":"muehleberg.ch", "mx":[ "mailbackup.muehleberg.ch", "utm.muehleberg.ch" ], "spf":"v=spf1 mx a:schulemuehleberg.ch a:muehleberg.ch include:_spf.talus.ch include:_spf_eucentral1.prod.hydra.sophos.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx a:schulemuehleberg.ch a:muehleberg.ch include:_spf.talus.ch include:_spf_eucentral1.prod.hydra.sophos.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all", - "mx_asns":[ - 3303, - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"utm.muehleberg.ch", - "autodiscover_srv":"owa.muehleberg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muehleberg.ch" + ], + "guess":[ + "muehleberg.ch" + ] + }, + "resolve_flags":[] }, "669":{ "bfs":"669", "name":"Münchenwiler", - "canton":"", + "canton":"Kanton Bern", "domain":"muenchenwiler.ch", "mx":[ "mx01.tophost.ch", @@ -6308,209 +21785,738 @@ ], "spf":"v=spf1 ip4:46.232.178.29 +mx +a ~all", "provider":"independent", - "mx_asns":[ - 35206 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "muenchenwiler.ch" + ], + "redirect":[], + "wikidata":[ + "muenchenwiler.ch" + ], + "guess":[ + "muenchenwiler.ch" + ] + }, + "resolve_flags":[] }, "670":{ "bfs":"670", "name":"Neuenegg", - "canton":"", + "canton":"Kanton Bern", "domain":"neuenegg.ch", "mx":[ "neuenegg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.140.147.32/30 include:spf.protection.outlook.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.140.147.32/30 include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neuenegg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.neuenegg.ch CNAME → selector1-neuenegg-ch._domainkey.neuenegg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.neuenegg.ch CNAME → selector2-neuenegg-ch._domainkey.neuenegg.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "neuenegg.ch" + ], + "guess":[ + "neuenegg.ch" + ] + }, + "resolve_flags":[] }, "671":{ "bfs":"671", "name":"Wileroltigen", - "canton":"", + "canton":"Kanton Bern", "domain":"wileroltigen.ch", "mx":[ "wileroltigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wileroltigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wileroltigen.ch CNAME → selector1-wileroltigen-ch._domainkey.gemeindewileroltigen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wileroltigen.ch CNAME → selector2-wileroltigen-ch._domainkey.gemeindewileroltigen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wileroltigen.ch" + ], + "redirect":[], + "wikidata":[ + "wileroltigen.ch" + ], + "guess":[ + "wileroltigen.ch" + ] + }, + "resolve_flags":[] }, "681":{ "bfs":"681", "name":"Belprahon", - "canton":"", + "canton":"Kanton Bern", "domain":"belprahon.ch", "mx":[ "belprahon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX belprahon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "belprahon.ch" + ], + "redirect":[], + "wikidata":[ + "belprahon.ch" + ], + "guess":[ + "belprahon.ch" + ] + }, + "resolve_flags":[] }, "683":{ "bfs":"683", "name":"Champoz", - "canton":"", + "canton":"Kanton Bern", "domain":"champoz.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 ip4:212.71.120.144/28 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 ip4:212.71.120.144/28 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "champoz.ch" + ], + "redirect":[], + "wikidata":[ + "champoz.ch" + ], + "guess":[ + "champoz.ch" + ] + }, + "resolve_flags":[] }, "687":{ "bfs":"687", - "name":"Corcelles", - "canton":"", + "name":"Corcelles (BE)", + "canton":"Kanton Bern", "domain":"corcelles-be.ch", "mx":[ "corcellesbe-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:sirius.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:sirius.ch include:spf.protection.outlook.com -all v=spf1 mx a:aximail.sirius.ch a:exomail.sirius.ch include:spf.brevo.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corcellesbe-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corcelles-be.ch" + ], + "redirect":[], + "wikidata":[ + "corcelles-be.ch" + ], + "guess":[ + "corcelles.ch" + ] + }, + "resolve_flags":[] }, "690":{ "bfs":"690", "name":"Court", - "canton":"", + "canton":"Kanton Bern", "domain":"court.ch", "mx":[ "court-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX court-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "court.ch" + ], + "redirect":[], + "wikidata":[ + "court.ch" + ], + "guess":[ + "court.ch" + ] + }, + "resolve_flags":[] }, "691":{ "bfs":"691", "name":"Crémines", - "canton":"", + "canton":"Kanton Bern", "domain":"cremines.ch", "mx":[ "mail.cremines.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch include:_spf.google.com +mx +a -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch include:_spf.google.com +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all", - "mx_asns":[ - 21069 - ] + "provider":"google", + "category":"us-cloud", + "classification_confidence":52.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "cremines.ch" + ], + "guess":[ + "cremines.ch" + ] + }, + "resolve_flags":[] }, "692":{ "bfs":"692", "name":"Eschert", - "canton":"", + "canton":"Kanton Bern", "domain":"eschert.ch", "mx":[ "mail.eschert.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eschert.ch" + ], + "guess":[ + "eschert.ch" + ] + }, + "resolve_flags":[] }, "694":{ "bfs":"694", "name":"Grandval", - "canton":"", + "canton":"Kanton Bern", "domain":"grandval.ch", "mx":[ "grandval-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grandval-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.grandval.ch CNAME → selector1-grandval-ch._domainkey.grandval.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.grandval.ch CNAME → selector2-grandval-ch._domainkey.grandval.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grandval.ch" + ], + "redirect":[], + "wikidata":[ + "grandval.ch" + ], + "guess":[ + "grandval.ch" + ] + }, + "resolve_flags":[] }, "696":{ "bfs":"696", "name":"Loveresse", - "canton":"", + "canton":"Kanton Bern", "domain":"loveresse.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "jb-b.ch", + "loveresse.ch" + ], + "redirect":[], + "wikidata":[ + "loveresse.ch" + ], + "guess":[ + "loveresse.ch" + ] + }, + "resolve_flags":[] }, "701":{ "bfs":"701", "name":"Perrefitte", - "canton":"", + "canton":"Kanton Bern", "domain":"perrefitte.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:spf.infomaniak.ch include:spf.protection.outlook.com include:evok.ch ip4:212.71.120.144/28 -all ", - "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.infomaniak.ch include:spf.protection.outlook.com include:evok.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "perrefitte.ch" + ], + "redirect":[], + "wikidata":[ + "perrefitte.ch" + ], + "guess":[ + "perrefitte.ch" + ] + }, + "resolve_flags":[] }, "703":{ "bfs":"703", "name":"Reconvilier", - "canton":"", + "canton":"Kanton Bern", "domain":"reconvilier.ch", "mx":[ "mx1.azinformatique.ch", @@ -6520,64 +22526,163 @@ ], "spf":"v=spf1 ip4:128.65.195.253 mx a ip4:185.98.28.32 include:mail.infomaniak.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:128.65.195.253 mx a ip4:185.98.28.32 include:mail.infomaniak.ch -all v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34271 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "reconvilier.ch" + ], + "redirect":[], + "wikidata":[ + "reconvilier.ch" + ], + "guess":[ + "reconvilier.ch" + ] + }, + "resolve_flags":[] }, "704":{ "bfs":"704", - "name":"Roches", - "canton":"", + "name":"Roches (BE)", + "canton":"Kanton Bern", "domain":"roches.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch a:exomail.sirius.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch a:exomail.sirius.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "roches.ch" + ], + "redirect":[], + "wikidata":[ + "roches.ch" + ], + "guess":[ + "roches.ch" + ] + }, + "resolve_flags":[] }, "706":{ "bfs":"706", "name":"Saicourt", - "canton":"", + "canton":"Kanton Bern", "domain":"saicourt.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "saicourt.ch" + ], + "redirect":[], + "wikidata":[ + "saicourt.ch" + ], + "guess":[ + "saicourt.ch" + ] + }, + "resolve_flags":[] }, "707":{ "bfs":"707", - "name":"Saules", - "canton":"", + "name":"Saules (BE)", + "canton":"Kanton Bern", "domain":"saules-be.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saules-be.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "708":{ "bfs":"708", @@ -6589,64 +22694,321 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindeschelten-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gemeinde-schelten.ch" + ] + }, + "resolve_flags":[] }, "709":{ "bfs":"709", - "name":"Seehof BE", + "name":"Seehof", "canton":"Kanton Bern", - "domain":"", - "mx":[], - "spf":"", - "provider":"unknown" + "domain":"gemeindeseehof.ch", + "mx":[ + "mail.format-ag.ch", + "mail.tankred.ch", + "mailbackup.format-ag.ch", + "mailbackup.tankred.ch" + ], + "spf":"v=spf1 a include:_spf.talus.ch ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gemeindeseehof.ch" + ] + }, + "resolve_flags":[] }, "711":{ "bfs":"711", "name":"Sorvilier", - "canton":"", + "canton":"Kanton Bern", "domain":"sorvilier.ch", "mx":[ "mail.sorvilier.ch" ], "spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "sorvilier.ch" + ], + "redirect":[], + "wikidata":[ + "sorvilier.ch" + ], + "guess":[ + "sorvilier.ch" + ] + }, + "resolve_flags":[] }, "713":{ "bfs":"713", "name":"Tavannes", - "canton":"", + "canton":"Kanton Bern", "domain":"tavannes.ch", "mx":[ "tavannes-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tavannes-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "tavannes.ch" + ], + "redirect":[], + "wikidata":[ + "tavannes.ch" + ], + "guess":[ + "tavannes.ch" + ] + }, + "resolve_flags":[] }, "715":{ "bfs":"715", "name":"Rebévelier", "canton":"Kanton Bern", - "domain":"", - "mx":[], - "spf":"", - "provider":"unknown" + "domain":"bluewin.ch", + "mx":[ + "mx01.p.bluenet.ch", + "mx02.p.bluenet.ch" + ], + "spf":"v=spf1 redirect=_spf.bluewin.ch", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "bluewin.ch" + ] + }, + "resolve_flags":[] }, "716":{ "bfs":"716", @@ -6658,18 +23020,41 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "petit-val.ch" + ], + "redirect":[], + "wikidata":[ + "petit-val.ch" + ], + "guess":[ + "petit-val.ch", + "petitval.ch" + ] + }, + "resolve_flags":[] }, "717":{ "bfs":"717", "name":"Valbirse", - "canton":"", + "canton":"Kanton Bern", "domain":"valbirse.ch", "mx":[ "mx140.zline.ch", @@ -6678,70 +23063,318 @@ ], "spf":"v=spf1 ip4:81.62.215.50 ip4:136.243.25.75 ip4:185.98.28.121 include:spf.zline.ch mx -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:81.62.215.50 ip4:136.243.25.75 ip4:185.98.28.121 include:spf.zline.ch mx -all v=spf1 ip4:212.74.176.0/23 ip4:212.74.179.0/24 ip4:84.16.71.224/28 ip4:84.16.71.240/29 ip4:84.16.71.184/29 ip4:212.74.141.0/27 ip4:46.140.65.240/29 ip4:46.14.220.40 ip4:46.14.19.170 ip4:80.83.52.48/29 ip4:195.15.223.62 -all", - "mx_asns":[ - 12651, - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"mail.valbirse.ch", - "autodiscover_srv":"autodiscover.valbirse.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "valbirse.ch" + ], + "guess":[ + "valbirse.ch" + ] + }, + "resolve_flags":[] }, "723":{ "bfs":"723", "name":"La Neuveville", - "canton":"", - "domain":"laneuveville.ch", - "mx":[ - "mx2.vtx.ch" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 12350 - ] + "canton":"Kanton Bern", + "domain":"neuveville.ch", + "mx":[ + "neuveville-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 a:smtp.neuveville.ch a:smtp-pro.vtx.ch a:smtp-as-02.vtxnet.net ip4:46.140.73.146 ip4:194.38.175.142 ip4:185.48.146.63 include:spf.mandrillapp.com ip4:5.148.181.63 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neuveville-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.neuveville.ch CNAME → selector1-neuveville-ch._domainkey.neuveville.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.neuveville.ch CNAME → selector2-neuveville-ch._domainkey.neuveville.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch" + } + ], + "sources_detail":{ + "override":[ + "neuveville.ch" + ] + }, + "resolve_flags":[] }, "724":{ "bfs":"724", "name":"Nods", - "canton":"", + "canton":"Kanton Bern", "domain":"nods.ch", "mx":[ "nods-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com include:spf.emailit.com -all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.emailit.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nods-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.nods.ch CNAME → selector1-nods-ch._domainkey.communenods.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.nods.ch CNAME → selector2-nods-ch._domainkey.communenods.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "nods.ch" + ], + "redirect":[], + "wikidata":[ + "nods.ch" + ], + "guess":[ + "nods.ch" + ] + }, + "resolve_flags":[] }, "726":{ "bfs":"726", "name":"Plateau de Diesse", - "canton":"", + "canton":"Kanton Bern", "domain":"leplateaudediesse.ch", "mx":[ "leplateaudediesse-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.140.98.102 ip4:185.48.146.134 include:spf.mandrillapp.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.140.98.102 ip4:185.48.146.134 include:spf.mandrillapp.com include:spf.protection.outlook.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leplateaudediesse-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.leplateaudediesse.ch CNAME → selector1-leplateaudediesse-ch._domainkey.leplateaudediesse.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.leplateaudediesse.ch CNAME → selector2-leplateaudediesse-ch._domainkey.leplateaudediesse.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "leplateaudediesse.ch" + ], + "guess":[ + "plateau-de-diesse.ch", + "plateaudediesse.ch" + ] + }, + "resolve_flags":[] }, "731":{ "bfs":"731", "name":"Aegerten", - "canton":"", + "canton":"Kanton Bern", "domain":"aegerten.ch", "mx":[ "mail.format-ag.ch", @@ -6751,18 +23384,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aegerten.ch" + ], + "redirect":[], + "wikidata":[ + "aegerten.ch" + ], + "guess":[ + "aegerten.ch" + ] + }, + "resolve_flags":[] }, "732":{ "bfs":"732", "name":"Bellmund", - "canton":"", + "canton":"Kanton Bern", "domain":"bellmund.ch", "mx":[ "mail.format-ag.ch", @@ -6772,36 +23427,132 @@ ], "spf":"v=spf1 a mx include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bellmund.ch" + ], + "redirect":[], + "wikidata":[ + "bellmund.ch" + ], + "guess":[ + "bellmund.ch" + ] + }, + "resolve_flags":[] }, "733":{ "bfs":"733", "name":"Brügg", - "canton":"", + "canton":"Kanton Bern", "domain":"bruegg.ch", "mx":[ "bruegg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.142.162.16/28 a:mail.evard.ch include:_spf.talus.ch include:_spf.sui-inter.net include:spf.mailjet.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.142.162.16/28 a:mail.evard.ch include:_spf.talus.ch include:_spf.sui-inter.net include:spf.mailjet.com include:spf.protection.outlook.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bruegg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bruegg.ch CNAME → selector1-bruegg-ch._domainkey.gemeindebruegg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bruegg.ch CNAME → selector2-bruegg-ch._domainkey.gemeindebruegg.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bruegg.ch" + ], + "guess":[ + "bruegg.ch" + ] + }, + "resolve_flags":[] }, "734":{ "bfs":"734", "name":"Bühl", - "canton":"", + "canton":"Kanton Bern", "domain":"buehl.ch", "mx":[ "mail.format-ag.ch", @@ -6809,69 +23560,197 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buehl.ch" + ], + "redirect":[], + "wikidata":[ + "buehl.ch" + ], + "guess":[ + "bhl.ch", + "buehl.ch" + ] + }, + "resolve_flags":[] }, "735":{ "bfs":"735", "name":"Epsach", - "canton":"", + "canton":"Kanton Bern", "domain":"epsach.ch", "mx":[ "mail.epsach.ch" ], "spf":"", "provider":"independent", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":60.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "epsach.ch" + ], + "redirect":[], + "wikidata":[ + "epsach.ch" + ], + "guess":[ + "epsach.ch" + ] + }, + "resolve_flags":[] }, "736":{ "bfs":"736", "name":"Hagneck", - "canton":"", + "canton":"Kanton Bern", "domain":"hagneck.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "hagneck.ch" + ], + "redirect":[], + "wikidata":[ + "hagneck.ch" + ], + "guess":[ + "hagneck.ch" + ] + }, + "resolve_flags":[] }, "737":{ "bfs":"737", "name":"Hermrigen", - "canton":"", + "canton":"Kanton Bern", "domain":"hermrigen.ch", "mx":[ "hermrigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.webstyle.ch include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.webstyle.ch include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:192.162.28.0/24 ip4:95.130.17.0/24 include:_spf.sui-inter.net ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hermrigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hermrigen.ch" + ], + "redirect":[], + "wikidata":[ + "hermrigen.ch" + ], + "guess":[ + "hermrigen.ch" + ] + }, + "resolve_flags":[] }, "738":{ "bfs":"738", "name":"Jens", - "canton":"", + "canton":"Kanton Bern", "domain":"jens.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -6881,93 +23760,309 @@ ], "spf":"v=spf1 a mx ptr include:_spf.pcetera.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ptr include:_spf.pcetera.ch ~all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 25091 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"owa2.oneaccess.ch" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "jens.ch" + ], + "redirect":[], + "wikidata":[ + "jens.ch" + ], + "guess":[ + "jens.ch" + ] + }, + "resolve_flags":[] }, "739":{ "bfs":"739", "name":"Ipsach", - "canton":"", + "canton":"Kanton Bern", "domain":"ipsach.ch", "mx":[ "ipsach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com mx:talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com mx:talus.ch -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ipsach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ipsach.ch" + ], + "redirect":[], + "wikidata":[ + "ipsach.ch" + ], + "guess":[ + "ipsach.ch" + ] + }, + "resolve_flags":[] }, "740":{ "bfs":"740", "name":"Ligerz", - "canton":"", + "canton":"Kanton Bern", "domain":"ligerz.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 +a +mx +a:rlx3.loginserver.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx +a:rlx3.loginserver.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "ligerz.ch" + ], + "redirect":[], + "wikidata":[ + "ligerz.ch" + ], + "guess":[ + "ligerz.ch" + ] + }, + "resolve_flags":[] }, "741":{ "bfs":"741", "name":"Merzligen", - "canton":"", + "canton":"Kanton Bern", "domain":"merzligen.ch", "mx":[ "merzligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.47.190.0/24 ip4:80.74.156.101 ip4:213.142.191.105 ip4:80.74.156.100 ip4:94.126.17.100 ip4:94.126.17.102 ip4:94.126.17.101 ip4:94.126.17.104 include:spf.protection.outlook.com include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.47.190.0/24 ip4:80.74.156.101 ip4:213.142.191.105 ip4:80.74.156.100 ip4:94.126.17.100 ip4:94.126.17.102 ip4:94.126.17.101 ip4:94.126.17.104 include:spf.protection.outlook.com include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX merzligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.merzligen.ch CNAME → selector1-merzligen-ch._domainkey.merzligench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.merzligen.ch CNAME → selector2-merzligen-ch._domainkey.merzligench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "merzligen.ch" + ], + "redirect":[], + "wikidata":[ + "merzligen.ch" + ], + "guess":[ + "merzligen.ch" + ] + }, + "resolve_flags":[] }, "742":{ "bfs":"742", "name":"Mörigen", - "canton":"", + "canton":"Kanton Bern", "domain":"moerigen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "moerigen.ch" + ], + "guess":[ + "moerigen.ch" + ] + }, + "resolve_flags":[] }, "743":{ "bfs":"743", "name":"Nidau", - "canton":"", + "canton":"Kanton Bern", "domain":"nidau.ch", "mx":[ "mail.format-ag.ch", @@ -6977,18 +24072,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "nidau.ch" + ], + "redirect":[], + "wikidata":[ + "nidau.ch" + ], + "guess":[ + "nidau.ch" + ] + }, + "resolve_flags":[] }, "744":{ "bfs":"744", "name":"Orpund", - "canton":"", + "canton":"Kanton Bern", "domain":"orpund.ch", "mx":[ "mail.format-ag.ch", @@ -6996,36 +24113,114 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "orpund.ch" + ], + "guess":[ + "orpund.ch" + ] + }, + "resolve_flags":[] }, "745":{ "bfs":"745", "name":"Port", - "canton":"", + "canton":"Kanton Bern", "domain":"port.ch", "mx":[ "port-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX port-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "port.ch" + ], + "redirect":[], + "wikidata":[ + "port.ch" + ], + "guess":[ + "port.ch" + ] + }, + "resolve_flags":[] }, "746":{ "bfs":"746", "name":"Safnern", - "canton":"", + "canton":"Kanton Bern", "domain":"safnern.ch", "mx":[ "mail.format-ag.ch", @@ -7033,69 +24228,247 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "safnern.ch" + ], + "guess":[ + "safnern.ch" + ] + }, + "resolve_flags":[] }, "747":{ "bfs":"747", "name":"Scheuren", - "canton":"", - "domain":"gemeinde-scheuren.ch", + "canton":"Kanton Bern", + "domain":"scheuren.ch", "mx":[ "scheuren-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX scheuren-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "scheuren.ch" + ], + "redirect":[ + "scheuren.ch" + ], + "wikidata":[ + "gemeinde-scheuren.ch" + ], + "guess":[ + "gemeinde-scheuren.ch", + "scheuren.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "748":{ "bfs":"748", "name":"Schwadernau", - "canton":"", + "canton":"Kanton Bern", "domain":"schwadernau.ch", "mx":[ "mail.schwadernau.ch" ], "spf":"v=spf1 +a +mx +a:rlx7.loginserver.ch include:_spf.blk.ymc.swiss -all", "provider":"independent", - "spf_resolved":"v=spf1 +a +mx +a:rlx7.loginserver.ch include:_spf.blk.ymc.swiss -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 24940 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "schwadernau.ch" + ], + "redirect":[], + "wikidata":[ + "schwadernau.ch" + ], + "guess":[ + "schwadernau.ch" + ] + }, + "resolve_flags":[] }, "749":{ "bfs":"749", - "name":"Studen", - "canton":"", + "name":"Studen (BE)", + "canton":"Kanton Bern", "domain":"studen.ch", "mx":[ "studen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX studen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.studen.ch CNAME → selector1-studen-ch._domainkey.studenbe.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.studen.ch CNAME → selector2-studen-ch._domainkey.studenbe.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "studen.ch" + ], + "redirect":[], + "wikidata":[ + "studen.ch" + ], + "guess":[ + "studen.ch" + ] + }, + "resolve_flags":[] }, "750":{ "bfs":"750", "name":"Sutz-Lattrigen", - "canton":"", + "canton":"Kanton Bern", "domain":"sutz-lattrigen.ch", "mx":[ "mail.format-ag.ch", @@ -7103,36 +24476,122 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "sutz-lattrigen.ch" + ], + "redirect":[], + "wikidata":[ + "sutz-lattrigen.ch" + ], + "guess":[ + "sutz-lattrigen.ch" + ] + }, + "resolve_flags":[] }, "751":{ "bfs":"751", "name":"Täuffelen", - "canton":"", + "canton":"Kanton Bern", "domain":"taeuffelen.ch", "mx":[ "taeuffelen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX taeuffelen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "taeuffelen.ch" + ], + "redirect":[], + "wikidata":[ + "taeuffelen.ch" + ], + "guess":[ + "taeuffelen.ch" + ] + }, + "resolve_flags":[] }, "754":{ "bfs":"754", "name":"Walperswil", - "canton":"", + "canton":"Kanton Bern", "domain":"walperswil.ch", "mx":[ "mail.format-ag.ch", @@ -7142,69 +24601,256 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "walperswil.ch" + ], + "guess":[ + "walperswil.ch" + ] + }, + "resolve_flags":[] }, "755":{ "bfs":"755", "name":"Worben", - "canton":"", + "canton":"Kanton Bern", "domain":"worben.ch", "mx":[ "worben-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX worben-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.worben.ch CNAME → selector1-worben-ch._domainkey.ewgworben.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.worben.ch CNAME → selector2-worben-ch._domainkey.ewgworben.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "worben.ch" + ], + "guess":[ + "worben.ch" + ] + }, + "resolve_flags":[] }, "756":{ "bfs":"756", "name":"Twann-Tüscherz", - "canton":"", + "canton":"Kanton Bern", "domain":"twann-tuescherz.ch", "mx":[ "twanntuescherz-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 a ip4:195.186.123.33 ip4:195.186.136.33 ip4:195.186.123.34 ip4:195.186.136.34 include:_spf.i-web.ch include:spf.protection.outlook.com include:mx.dvbern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a ip4:195.186.123.33 ip4:195.186.136.33 ip4:195.186.123.34 ip4:195.186.136.34 include:_spf.i-web.ch include:spf.protection.outlook.com include:mx.dvbern.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX twanntuescherz-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.twann-tuescherz.ch CNAME → selector1-twanntuescherz-ch01c._domainkey.twanntuescherz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.twann-tuescherz.ch CNAME → selector2-twanntuescherz-ch01c._domainkey.twanntuescherz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "twann-tuescherz.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "twann-tuescherz.ch" + ] + }, + "resolve_flags":[] }, "761":{ "bfs":"761", "name":"Därstetten", - "canton":"", + "canton":"Kanton Bern", "domain":"daerstetten.ch", "mx":[ "mail.daerstetten.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "daerstetten.ch" + ], + "redirect":[], + "wikidata":[ + "daerstetten.ch" + ], + "guess":[ + "daerstetten.ch", + "drstetten.ch" + ] + }, + "resolve_flags":[] }, "762":{ "bfs":"762", "name":"Diemtigen", - "canton":"", + "canton":"Kanton Bern", "domain":"diemtigen.ch", "mx":[ "mx01.hornetsecurity.com", @@ -7214,21 +24860,65 @@ ], "spf":"v=spf1 include:edgepilot.com include:_spf.talus.ch include:spf.protection.outlook.com include:_spf.pcetera.ch ip4:217.11.37.66 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:edgepilot.com include:_spf.talus.ch include:spf.protection.outlook.com include:_spf.pcetera.ch ip4:217.11.37.66 -all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:204.232.250.0/24 ip4:5.152.185.0/24 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:72.3.212.195 ip4:5.152.188.0/24 ip4:174.37.170.192/27 ~all v=spf1 ip4:75.126.84.128/26 ip4:67.228.8.0/25 ip4:67.227.149.19 ip4:64.56.208.32/27 ip4:67.228.91.90 ip4:67.228.158.174 ip4:174.36.44.116/30 ip4:50.201.66.168 ip4:63.71.8.0/21 ip4:199.30.232.0/21 ip4:74.203.184.0/23 ip4:207.195.176.0/20 ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "diemtigen.ch" + ], + "redirect":[], + "wikidata":[ + "diemtigen.ch" + ], + "guess":[ + "diemtigen.ch" + ] + }, + "resolve_flags":[] }, "763":{ "bfs":"763", "name":"Erlenbach im Simmental", - "canton":"", + "canton":"Kanton Bern", "domain":"erlenbach-be.ch", "mx":[ "mail.format-ag.ch", @@ -7238,36 +24928,120 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "erlenbach-be.ch" + ], + "redirect":[], + "wikidata":[ + "erlenbach-be.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "766":{ "bfs":"766", "name":"Oberwil im Simmental", - "canton":"", + "canton":"Kanton Bern", "domain":"oberwil-im-simmental.ch", "mx":[ "oberwilimsimmental-ch01ie.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberwilimsimmental-ch01ie.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberwil-im-simmental.ch" + ], + "redirect":[], + "wikidata":[ + "oberwil-im-simmental.ch" + ], + "guess":[ + "oberwil-im-simmental.ch" + ] + }, + "resolve_flags":[] }, "767":{ "bfs":"767", "name":"Reutigen", - "canton":"", + "canton":"Kanton Bern", "domain":"reutigen.ch", "mx":[ "mx01.hornetsecurity.com", @@ -7277,186 +25051,612 @@ ], "spf":"v=spf1 include:_spf.pcetera.ch include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.pcetera.ch include:_spf.i-web.ch -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "reutigen.ch" + ], + "redirect":[], + "wikidata":[ + "reutigen.ch" + ], + "guess":[ + "reutigen.ch" + ] + }, + "resolve_flags":[] }, "768":{ "bfs":"768", "name":"Spiez", - "canton":"", + "canton":"Kanton Bern", "domain":"spiez.ch", "mx":[ "mx1.thun.ch", "mx2.thun.ch" ], "spf":"v=spf1 ip4:82.220.26.128/26 ip4:194.56.218.181 mx include:thunersee.ch include:_spf.talus.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:82.220.26.128/26 ip4:194.56.218.181 mx include:thunersee.ch include:_spf.talus.ch include:spf.protection.outlook.com -all v=spf1 include:spf.protection.outlook.com include:spf.internetgalerie.ch a:webmail.format-ag.ch a:mail.format-ag.ch a:mail.tankred.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.222.138.0/24 -all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.thun.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.spiez.ch CNAME → selector1-spiez-ch._domainkey.stadtthun.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.spiez.ch CNAME → selector2-spiez-ch._domainkey.stadtthun.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "spiez.ch" + ], + "guess":[ + "spiez.ch" + ] + }, + "resolve_flags":[] }, "769":{ "bfs":"769", "name":"Wimmis", - "canton":"", + "canton":"Kanton Bern", "domain":"wimmis.ch", "mx":[ "wimmis-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wimmis-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wimmis.ch CNAME → selector1-wimmis-ch._domainkey.gemeindewimmis.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wimmis.ch CNAME → selector2-wimmis-ch._domainkey.gemeindewimmis.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wimmis.ch" + ], + "redirect":[], + "wikidata":[ + "wimmis.ch" + ], + "guess":[ + "wimmis.ch" + ] + }, + "resolve_flags":[] }, "770":{ "bfs":"770", "name":"Stocken-Höfen", - "canton":"", + "canton":"Kanton Bern", "domain":"stocken-hoefen.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a:owa.itze.ch include:_spf.sui-inter.net +mx +a -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:owa.itze.ch include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"owa.itze.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "stocken-hoefen.ch" + ], + "guess":[ + "stocken-hoefen.ch" + ] + }, + "resolve_flags":[] }, "782":{ "bfs":"782", "name":"Guttannen", - "canton":"", + "canton":"Kanton Bern", "domain":"guttannen.ch", "mx":[ "mx.stackmail.com" ], "spf":"v=spf1 include:spf.stackmail.com a mx -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.stackmail.com a mx -all v=spf1 ip4:185.151.28.0/24 ip4:185.151.30.0/24 ip4:45.8.227.0/24 ip4:185.146.165.0/24 ip6:2a07:7800::/29 -all", - "mx_asns":[ - 48254 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.stackmail.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "guttannen.ch" + ], + "redirect":[], + "wikidata":[ + "guttannen.ch" + ], + "guess":[ + "guttannen.ch" + ] + }, + "resolve_flags":[] }, "783":{ "bfs":"783", "name":"Hasliberg", - "canton":"", + "canton":"Kanton Bern", "domain":"hasliberg.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip:139.162.174.9 a:webcms.ruf.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip:139.162.174.9 a:webcms.ruf.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "hasliberg.ch" + ], + "redirect":[], + "wikidata":[ + "hasliberg.ch" + ], + "guess":[ + "hasliberg.ch" + ] + }, + "resolve_flags":[] }, "784":{ "bfs":"784", "name":"Innertkirchen", - "canton":"", + "canton":"Kanton Bern", "domain":"innertkirchen.ch", "mx":[ "innertkirchen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"lx59.hoststar.hosting" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX innertkirchen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "innertkirchen.ch" + ], + "redirect":[], + "wikidata":[ + "innertkirchen.ch" + ], + "guess":[ + "innertkirchen.ch" + ] + }, + "resolve_flags":[] }, "785":{ "bfs":"785", "name":"Meiringen", - "canton":"", + "canton":"Kanton Bern", "domain":"meiringen.ch", "mx":[ "meiringen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:utm.meiringen.ch include:spf.protection.outlook.com include:spf.nl2go.com a:mail.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:utm.meiringen.ch include:spf.protection.outlook.com include:spf.nl2go.com a:mail.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX meiringen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.meiringen.ch CNAME → selector1-meiringen-ch._domainkey.meiringench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.meiringen.ch CNAME → selector2-meiringen-ch._domainkey.meiringench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "meiringen.ch" + ], + "redirect":[], + "wikidata":[ + "meiringen.ch" + ], + "guess":[ + "meiringen.ch" + ] + }, + "resolve_flags":[] }, "786":{ "bfs":"786", "name":"Schattenhalb", - "canton":"", + "canton":"Kanton Bern", "domain":"schattenhalb.ch", "mx":[ "schattenhalb-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.schattenhalb.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schattenhalb-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schattenhalb.ch" + ], + "redirect":[], + "wikidata":[ + "schattenhalb.ch" + ], + "guess":[ + "schattenhalb.ch" + ] + }, + "resolve_flags":[] }, "791":{ "bfs":"791", "name":"Boltigen", - "canton":"", + "canton":"Kanton Bern", "domain":"boltigen.ch", "mx":[ "boltigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boltigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "boltigen.ch" + ], + "guess":[ + "boltigen.ch" + ] + }, + "resolve_flags":[] }, "792":{ "bfs":"792", "name":"Lenk", - "canton":"", + "canton":"Kanton Bern", "domain":"lenkgemeinde.ch", "mx":[ "mail.format-ag.ch", @@ -7464,144 +25664,533 @@ ], "spf":"v=spf1 a mx ip4:83.173.225.118 include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:83.173.225.118 include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"utm.lenkgemeinde.ch", - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "lenkgemeinde.ch" + ], + "redirect":[], + "wikidata":[ + "lenkgemeinde.ch" + ], + "guess":[ + "lenk.ch" + ] + }, + "resolve_flags":[] }, "793":{ "bfs":"793", "name":"St. Stephan", - "canton":"", + "canton":"Kanton Bern", "domain":"ststephan.ch", "mx":[ "ststephan-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:mail.ststephan.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:mail.ststephan.ch include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"remote.ststephan.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ststephan-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ststephan.ch" + ], + "redirect":[], + "wikidata":[ + "ststephan.ch" + ], + "guess":[ + "ststephan.ch" + ] + }, + "resolve_flags":[] }, "794":{ "bfs":"794", "name":"Zweisimmen", - "canton":"", + "canton":"Kanton Bern", "domain":"zweisimmen.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a a:owa.itze.ch include:spf.company.swiss-egov.cloud include:_spf.blk.ymc.swiss -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a a:owa.itze.ch include:spf.company.swiss-egov.cloud include:_spf.blk.ymc.swiss -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"owa.itze.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "zweisimmen.ch" + ], + "redirect":[], + "wikidata":[ + "zweisimmen.ch" + ], + "guess":[ + "zweisimmen.ch" + ] + }, + "resolve_flags":[] }, "841":{ "bfs":"841", - "name":"Gsteig bei Gstaad", - "canton":"", + "name":"Gsteig", + "canton":"Kanton Bern", "domain":"gsteig.ch", "mx":[ "gsteig-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gsteig-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gsteig.ch" + ], + "redirect":[], + "wikidata":[ + "gsteig.ch" + ], + "guess":[ + "gsteig.ch" + ] + }, + "resolve_flags":[] }, "842":{ "bfs":"842", "name":"Lauenen", - "canton":"", + "canton":"Kanton Bern", "domain":"lauenen.ch", "mx":[ "lauenen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lauenen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "lauenen.ch" + ], + "redirect":[], + "wikidata":[ + "lauenen.ch" + ], + "guess":[ + "lauenen.ch" + ] + }, + "resolve_flags":[] }, "843":{ "bfs":"843", "name":"Saanen", - "canton":"", + "canton":"Kanton Bern", "domain":"saanen.ch", "mx":[ "mail.saanen.ch" ], "spf":"v=spf1 mx ip4:195.65.182.181 include:_spf.talus.ch include:_spf.sui-inter.net ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:195.65.182.181 include:_spf.talus.ch include:_spf.sui-inter.net ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saanen.ch" + ], + "guess":[ + "saanen.ch" + ] + }, + "resolve_flags":[] }, "852":{ "bfs":"852", "name":"Guggisberg", - "canton":"", - "domain":"guggisberg.ch", + "canton":"Kanton Bern", + "domain":"guggisberg-be.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch v=spf1 include:spf.mail.hostpoint.ch ?all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "guggisbergbe-ch02e.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX guggisbergbe-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "guggisberg-be.ch" + ] + }, + "resolve_flags":[] }, "853":{ "bfs":"853", "name":"Rüschegg", - "canton":"", + "canton":"Kanton Bern", "domain":"rueschegg.ch", "mx":[ "rueschegg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a mx a:rlx5.loginserver.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a mx a:rlx5.loginserver.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rueschegg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rueschegg.ch" + ], + "redirect":[], + "wikidata":[ + "rueschegg.ch" + ], + "guess":[ + "rueschegg.ch" + ] + }, + "resolve_flags":[] }, "855":{ "bfs":"855", "name":"Schwarzenburg", - "canton":"", + "canton":"Kanton Bern", "domain":"schwarzenburg.ch", "mx":[ "mail.format-ag.ch", @@ -7611,18 +26200,42 @@ ], "spf":"v=spf1 mx ip4:194.88.197.38 ip4:194.88.197.163 include:spf.mail.weloveyou.systems include:_spf.talus.ch include:_spf.sui-inter.net ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:194.88.197.38 ip4:194.88.197.163 include:spf.mail.weloveyou.systems include:_spf.talus.ch include:_spf.sui-inter.net ~all v=spf1 ip4:116.203.100.62 ip4:159.69.40.100 ?all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "be.ch", + "hispeed.ch", + "schwarzenburg.ch" + ], + "redirect":[], + "wikidata":[ + "schwarzenburg.ch" + ], + "guess":[ + "schwarzenburg.ch" + ] + }, + "resolve_flags":[] }, "861":{ "bfs":"861", "name":"Belp", - "canton":"", + "canton":"Kanton Bern", "domain":"belp.ch", "mx":[ "mail.format-ag.ch", @@ -7632,66 +26245,209 @@ ], "spf":"v=spf1 include:spf.mailjet.com a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mailjet.com a include:_spf.talus.ch -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "belp.ch" + ], + "redirect":[], + "wikidata":[ + "belp.ch" + ], + "guess":[ + "belp.ch" + ] + }, + "resolve_flags":[] }, "863":{ "bfs":"863", "name":"Burgistein", - "canton":"", + "canton":"Kanton Bern", "domain":"burgistein.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 a:smtp.iz-net.ch include:itds-net.ch include:welsrv01.trendhosting-net.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:smtp.iz-net.ch include:itds-net.ch include:welsrv01.trendhosting-net.ch -all v=spf1 ip4:5.148.174.0/26 ip4:5.148.182.96/27 ip6:2a02:418:200d::/48 ip6:2a02:418:2014::/48 ip4:5.102.145.171 ip6:2a06:c01:1:1102::91ab:171 ip4:5.102.147.30 ip6:2a06:c01:1:1104::30 ip4:5.102.146.125 ip6:2a06:c01:1:1103::927d:125 ip4:5.102.147.31 ip6:2a06:c01:1:1104::931f:31 ip4:5.102.145.228 ip6:2a06:c01:1:1102::91e4:228 ip4:5.102.147.242 ip6:2a06:c01:1:1104::93f2:242 ip4:5.102.146.93 ip6:2a06:c01:1:1103::925d:93 ip4:5.102.146.116 ip6:2a06:c01:1:1103::9274:116 -all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.iz-region-bern.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "burgistein.ch" + ], + "redirect":[], + "wikidata":[ + "burgistein.ch" + ], + "guess":[ + "burgistein.ch" + ] + }, + "resolve_flags":[] }, "866":{ "bfs":"866", "name":"Gerzensee", - "canton":"", + "canton":"Kanton Bern", "domain":"gerzensee.ch", "mx":[ "gerzensee-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:webcms.ruf.ch include:_spf.talus.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch include:_spf.talus.ch include:spf.protection.outlook.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gerzensee-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gerzensee.ch" + ], + "redirect":[], + "wikidata":[ + "gerzensee.ch" + ], + "guess":[ + "gerzensee.ch" + ] + }, + "resolve_flags":[] }, "867":{ "bfs":"867", "name":"Gurzelen", - "canton":"", + "canton":"Kanton Bern", "domain":"gurzelen.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "provider":"swiss-isp", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gurzelen.ch" + ], + "redirect":[], + "wikidata":[ + "gurzelen.ch" + ], + "guess":[ + "gurzelen.ch" + ] + }, + "resolve_flags":[] }, "868":{ "bfs":"868", @@ -7703,87 +26459,256 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX jaberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "jaberg.ch" + ], + "redirect":[], + "wikidata":[ + "jaberg.ch" + ], + "guess":[ + "jaberg.ch" + ] + }, + "resolve_flags":[] }, "869":{ "bfs":"869", "name":"Kaufdorf", - "canton":"", + "canton":"Kanton Bern", "domain":"kaufdorf.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 include:spf.iz-net.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.iz-net.ch -all v=spf1 ip4:217.11.219.137 ip4:212.103.81.254 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.iz-region-bern.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kaufdorf.ch" + ], + "redirect":[], + "wikidata":[ + "kaufdorf.ch" + ], + "guess":[ + "kaufdorf.ch" + ] + }, + "resolve_flags":[] }, "870":{ "bfs":"870", "name":"Kehrsatz", - "canton":"", + "canton":"Kanton Bern", "domain":"kehrsatz.ch", "mx":[ "public.iz-net.ch", "smtp.iz-net.ch" ], "spf":"v=spf1 ip4:193.135.56.6 include:spf.iz-net.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:spf.iz-net.ch -all v=spf1 ip4:217.11.219.137 ip4:212.103.81.254 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 15576 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kehrsatz.ch" + ], + "redirect":[], + "wikidata":[ + "kehrsatz.ch" + ], + "guess":[ + "kehrsatz.ch" + ] + }, + "resolve_flags":[] }, "872":{ "bfs":"872", - "name":"Kirchdorf", - "canton":"", + "name":"Kirchdorf (BE)", + "canton":"Kanton Bern", "domain":"kirchdorf-be.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "provider":"swiss-isp", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kirchdorf-be.ch", + "kommunalpartner.ch", + "wichtrach.ch" + ], + "redirect":[], + "wikidata":[ + "kirchdorf-be.ch" + ], + "guess":[ + "kirchdorf.ch" + ] + }, + "resolve_flags":[] }, "877":{ "bfs":"877", "name":"Niedermuhlern", - "canton":"", + "canton":"Kanton Bern", "domain":"niedermuhlern.ch", "mx":[ "exchange.hosttech.eu" ], "spf":"v=spf1 +mx +a include:_spf.mail.hostserv.eu ~all", "provider":"independent", - "spf_resolved":"v=spf1 +mx +a include:_spf.mail.hostserv.eu ~all v=spf1 a:mailhost.hostserv.eu a:mailhost.hosttech.eu include:_spf.v4.hosttech.eu include:_spf.v6.1.hosttech.eu include:_spf.v6.2.hosttech.eu ~all v=spf1 ip4:193.203.253.22 ip4:193.203.253.23 ip4:193.203.253.24 ip4:193.203.253.25 ip4:193.203.253.26 ip4:193.203.253.27 ip4:45.131.252.247 ip4:45.131.252.248 ip4:45.131.252.249 ip4:45.131.253.4 ip4:45.131.253.5 ip4:45.131.253.7 ~all v=spf1 ip6:2001:1680:101:83a::79 ip6:2001:1680:101:83a::8f ip6:2001:1680:101:83a::91 ip6:2001:1680:101:83a::95 ip6:2001:1680:101:83a::9d ip6:2001:1680:101:83a::d6 ~all v=spf1 ip6:2a11:8b80:1000:1::46 ip6:2a11:8b80:1000:1::47 ip6:2a11:8b80:1000:1::48 ip6:2a11:8b80:1000:1::49 ip6:2a11:8b80:1000:1::4a ip6:2a11:8b80:1000:1::4b ~all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_cname":"exchange.hosttech.eu" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "niedermuhlern.ch" + ], + "redirect":[], + "wikidata":[ + "niedermuhlern.ch" + ], + "guess":[ + "niedermuhlern.ch" + ] + }, + "resolve_flags":[] }, "879":{ "bfs":"879", "name":"Riggisberg", - "canton":"", + "canton":"Kanton Bern", "domain":"riggisberg.ch", "mx":[ "mail.format-ag.ch", @@ -7793,18 +26718,41 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:itds-net.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:itds-net.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:5.148.174.0/26 ip4:5.148.182.96/27 ip6:2a02:418:200d::/48 ip6:2a02:418:2014::/48 ip4:5.102.145.171 ip6:2a06:c01:1:1102::91ab:171 ip4:5.102.147.30 ip6:2a06:c01:1:1104::30 ip4:5.102.146.125 ip6:2a06:c01:1:1103::927d:125 ip4:5.102.147.31 ip6:2a06:c01:1:1104::931f:31 ip4:5.102.145.228 ip6:2a06:c01:1:1102::91e4:228 ip4:5.102.147.242 ip6:2a06:c01:1:1104::93f2:242 ip4:5.102.146.93 ip6:2a06:c01:1:1103::925d:93 ip4:5.102.146.116 ip6:2a06:c01:1:1103::9274:116 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "itds.ch", + "riggisberg.ch" + ], + "redirect":[], + "wikidata":[ + "riggisberg.ch" + ], + "guess":[ + "riggisberg.ch" + ] + }, + "resolve_flags":[] }, "880":{ "bfs":"880", "name":"Rüeggisberg", - "canton":"", + "canton":"Kanton Bern", "domain":"rueggisberg.ch", "mx":[ "mx-in-01.itds.ch", @@ -7812,15 +26760,26 @@ ], "spf":"v=spf1 a mx include:itds-net.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:itds-net.ch -all v=spf1 ip4:5.148.174.0/26 ip4:5.148.182.96/27 ip6:2a02:418:200d::/48 ip6:2a02:418:2014::/48 ip4:5.102.145.171 ip6:2a06:c01:1:1102::91ab:171 ip4:5.102.147.30 ip6:2a06:c01:1:1104::30 ip4:5.102.146.125 ip6:2a06:c01:1:1103::927d:125 ip4:5.102.147.31 ip6:2a06:c01:1:1104::931f:31 ip4:5.102.145.228 ip6:2a06:c01:1:1102::91e4:228 ip4:5.102.147.242 ip6:2a06:c01:1:1104::93f2:242 ip4:5.102.146.93 ip6:2a06:c01:1:1103::925d:93 ip4:5.102.146.116 ip6:2a06:c01:1:1103::9274:116 -all", - "mx_asns":[ - 59414 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "itds.ch", + "rueggisberg.ch" + ], + "redirect":[], + "wikidata":[ + "rueggisberg.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "883":{ "bfs":"883", "name":"Seftigen", - "canton":"", + "canton":"Kanton Bern", "domain":"seftigen.ch", "mx":[ "mx1.thun.ch", @@ -7828,37 +26787,87 @@ ], "spf":"v=spf1 a mx ip4:82.220.26.128/26 include:spf.protection.cyon.net ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:82.220.26.128/26 include:spf.protection.cyon.net ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.thun.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "seftigen.ch" + ], + "redirect":[], + "wikidata":[ + "seftigen.ch" + ], + "guess":[ + "seftigen.ch" + ] + }, + "resolve_flags":[] }, "884":{ "bfs":"884", "name":"Toffen", - "canton":"", + "canton":"Kanton Bern", "domain":"toffen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "toffen.ch" + ], + "redirect":[], + "wikidata":[ + "toffen.ch" + ], + "guess":[ + "toffen.ch" + ] + }, + "resolve_flags":[] }, "885":{ "bfs":"885", "name":"Uttigen", - "canton":"", + "canton":"Kanton Bern", "domain":"uttigen.ch", "mx":[ "mail.format-ag.ch", @@ -7868,18 +26877,38 @@ ], "spf":"v=spf1 a mx include:_spf.talus.ch include:spf.mail.webland.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:_spf.talus.ch include:spf.mail.webland.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "uttigen.ch" + ], + "guess":[ + "uttigen.ch" + ] + }, + "resolve_flags":[] }, "886":{ "bfs":"886", "name":"Wattenwil", - "canton":"", + "canton":"Kanton Bern", "domain":"wattenwil.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -7889,34 +26918,101 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.pcetera.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.pcetera.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "gateway":"hornetsecurity", - "mx_asns":[ - 25091 + "category":"swiss-based", + "classification_confidence":70.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"remote.wattenwil.ch" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "intersim.ch", + "wattenwil.ch" + ], + "redirect":[], + "wikidata":[ + "wattenwil.ch" + ], + "guess":[ + "wattenwil.ch" + ] + }, + "resolve_flags":[] }, "888":{ "bfs":"888", - "name":"Wald", - "canton":"", + "name":"Wald (BE)", + "canton":"Kanton Bern", "domain":"wald-be.ch", "mx":[ "smtp.iz-net.ch" ], "spf":"v=spf1 include:spf.iz-net.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.iz-net.ch -all v=spf1 ip4:217.11.219.137 ip4:212.103.81.254 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 15576 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "wald-be.ch" + ], + "redirect":[], + "wikidata":[ + "wald-be.ch" + ], + "guess":[ + "gemeinde-wald.ch", + "wald.ch" + ] + }, + "resolve_flags":[] }, "889":{ "bfs":"889", "name":"Thurnen", - "canton":"", + "canton":"Kanton Bern", "domain":"thurnen.ch", "mx":[ "mail.format-ag.ch", @@ -7924,18 +27020,41 @@ ], "spf":"v=spf1 include:itds-net.ch include:_spf.pcetera.ch include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:itds-net.ch include:_spf.pcetera.ch include:_spf.talus.ch -all v=spf1 ip4:5.148.174.0/26 ip4:5.148.182.96/27 ip6:2a02:418:200d::/48 ip6:2a02:418:2014::/48 ip4:5.102.145.171 ip6:2a06:c01:1:1102::91ab:171 ip4:5.102.147.30 ip6:2a06:c01:1:1104::30 ip4:5.102.146.125 ip6:2a06:c01:1:1103::927d:125 ip4:5.102.147.31 ip6:2a06:c01:1:1104::931f:31 ip4:5.102.145.228 ip6:2a06:c01:1:1102::91e4:228 ip4:5.102.147.242 ip6:2a06:c01:1:1104::93f2:242 ip4:5.102.146.93 ip6:2a06:c01:1:1103::925d:93 ip4:5.102.146.116 ip6:2a06:c01:1:1103::9274:116 -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "itds.ch", + "thurnen.ch" + ], + "redirect":[], + "wikidata":[ + "thurnen.ch" + ], + "guess":[ + "thurnen.ch" + ] + }, + "resolve_flags":[] }, "901":{ "bfs":"901", "name":"Eggiwil", - "canton":"", + "canton":"Kanton Bern", "domain":"eggiwil.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -7945,37 +27064,78 @@ ], "spf":"v=spf1 mx ip4:212.101.27.209 include:spf.zic-network.ch include:_spf.pcetera.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:212.101.27.209 include:spf.zic-network.ch include:_spf.pcetera.ch ~all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"hornetsecurity", - "mx_asns":[ - 25091 - ], - "autodiscover":{ - "autodiscover_srv":"remote.eggiwil.ch" - } + "sources_detail":{ + "scrape":[ + "eggiwil.ch" + ], + "redirect":[], + "wikidata":[ + "eggiwil.ch" + ], + "guess":[ + "eggiwil.ch" + ] + }, + "resolve_flags":[] }, "902":{ "bfs":"902", "name":"Langnau im Emmental", - "canton":"", + "canton":"Kanton Bern", "domain":"langnau-ie.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a:remote.langnau-ie.ch ip4:193.135.56.6 include:spf.crsend.com +mx +a include:spf.mail.balzcloud.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:remote.langnau-ie.ch ip4:193.135.56.6 include:spf.crsend.com +mx +a include:spf.mail.balzcloud.ch ~all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all v=spf1 ip4:46.247.34.140 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"remote.langnau-ie.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "langnau-ie.ch" + ], + "redirect":[], + "wikidata":[ + "langnau-ie.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "903":{ "bfs":"903", "name":"Lauperswil", - "canton":"", + "canton":"Kanton Bern", "domain":"lauperswil.ch", "mx":[ "mail.format-ag.ch", @@ -7983,36 +27143,126 @@ ], "spf":"v=spf1 include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "lauperswil.ch" + ], + "redirect":[], + "wikidata":[ + "lauperswil.ch" + ], + "guess":[ + "lauperswil.ch" + ] + }, + "resolve_flags":[] }, "904":{ "bfs":"904", "name":"Röthenbach im Emmental", - "canton":"", + "canton":"Kanton Bern", "domain":"roethenbach.ch", "mx":[ "roethenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX roethenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.roethenbach.ch CNAME → selector1-roethenbach-ch._domainkey.roethenbachch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.roethenbach.ch CNAME → selector2-roethenbach-ch._domainkey.roethenbachch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "roethenbach.ch" + ], + "redirect":[], + "wikidata":[ + "roethenbach.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "905":{ "bfs":"905", "name":"Rüderswil", - "canton":"", + "canton":"Kanton Bern", "domain":"ruederswil.ch", "mx":[ "mail.format-ag.ch", @@ -8021,36 +27271,116 @@ ], "spf":"v=spf1 include:spf.computech.ch include:_spf.talus.ch mx a:mrmuensingen01.muensingen.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.computech.ch include:_spf.talus.ch mx a:mrmuensingen01.muensingen.ch -all v=spf1 ip4:212.103.88.149/32 ip4:212.41.202.247/32 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "ruederswil.ch" + ], + "redirect":[], + "wikidata":[ + "ruederswil.ch" + ], + "guess":[ + "ruederswil.ch" + ] + }, + "resolve_flags":[] }, "906":{ "bfs":"906", "name":"Schangnau", - "canton":"", + "canton":"Kanton Bern", "domain":"schangnau.ch", "mx":[ "schangnau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.zic-network.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.zic-network.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schangnau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schangnau.ch" + ], + "redirect":[], + "wikidata":[ + "schangnau.ch" + ], + "guess":[ + "schangnau.ch" + ] + }, + "resolve_flags":[] }, "907":{ "bfs":"907", "name":"Signau", - "canton":"", + "canton":"Kanton Bern", "domain":"signau.ch", "mx":[ "mail.format-ag.ch", @@ -8059,99 +27389,455 @@ ], "spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch include:spf.zic-network.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch include:spf.zic-network.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riz.muensingen.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "signau.ch" + ], + "redirect":[], + "wikidata":[ + "signau.ch" + ], + "guess":[ + "signau.ch" + ] + }, + "resolve_flags":[] }, "908":{ "bfs":"908", "name":"Trub", - "canton":"", + "canton":"Kanton Bern", "domain":"trub.ch", "mx":[ "trub-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:trub.hikunden.ch ip4:164.128.184.242 include:_spf.ewmail.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:trub.hikunden.ch ip4:164.128.184.242 include:_spf.ewmail.com include:spf.protection.outlook.com -all v=spf1 include:_mail-netblocks.ewmail.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.71.98.227/32 ip4:212.71.100.64/28 ip4:212.71.111.0/24 ip4:212.71.120.144/28 ip4:212.71.126.64/28 ip4:212.71.126.230/32 ip4:217.71.89.107/32 ip4:217.71.92.92/32 ip4:217.71.92.93/32 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX trub-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "trub.ch" + ], + "redirect":[], + "wikidata":[ + "trub.ch" + ], + "guess":[ + "trub.ch" + ] + }, + "resolve_flags":[] }, "909":{ "bfs":"909", "name":"Trubschachen", - "canton":"", + "canton":"Kanton Bern", "domain":"trubschachen.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a:mail.dsl-schweiz.ch ip4:46.140.158.131 ip4:87.237.172.249 ip4:80.243.212.135 ip4:93.189.64.7 include:spf.zic-network.ch include:spf.protection.outlook.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:mail.dsl-schweiz.ch ip4:46.140.158.131 ip4:87.237.172.249 ip4:80.243.212.135 ip4:93.189.64.7 include:spf.zic-network.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 15576 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "trubschachen.ch" + ], + "redirect":[], + "wikidata":[ + "trubschachen.ch" + ], + "guess":[ + "trubschachen.ch" + ] + }, + "resolve_flags":[] }, "921":{ "bfs":"921", "name":"Amsoldingen", - "canton":"", + "canton":"Kanton Bern", "domain":"amsoldingen.ch", "mx":[ "amsoldingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.103.81.85 ip4:109.164.225.66 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.103.81.85 ip4:109.164.225.66 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX amsoldingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "amsoldingen.ch" + ], + "redirect":[], + "wikidata":[ + "amsoldingen.ch" + ], + "guess":[ + "amsoldingen.ch" + ] + }, + "resolve_flags":[] }, "922":{ "bfs":"922", "name":"Blumenstein", - "canton":"", + "canton":"Kanton Bern", "domain":"blumenstein.ch", "mx":[ "blumenstein-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX blumenstein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "blumenstein.ch" + ], + "redirect":[], + "wikidata":[ + "blumenstein.ch" + ], + "guess":[ + "blumenstein.ch" + ] + }, + "resolve_flags":[] }, "923":{ "bfs":"923", "name":"Buchholterberg", - "canton":"", - "domain":"heimenschwand.ch", - "mx":[ - "antispamgate01.bull-services.ch", - "antispamgate02.bull-services.ch" - ], - "spf":"v=spf1 mx a buchholterberg.cloudrexx.com", - "provider":"independent" + "canton":"Kanton Bern", + "domain":"buchholterberg.ch", + "mx":[ + "buchholterberg-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com include:pcetera.ch ip4:193.135.56.6 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buchholterberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buchholterberg.ch" + ], + "redirect":[ + "buchholterberg.ch" + ], + "wikidata":[ + "heimenschwand.ch" + ], + "guess":[ + "buchholterberg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree", + "website_mismatch" + ] }, "924":{ "bfs":"924", "name":"Eriz", - "canton":"", + "canton":"Kanton Bern", "domain":"eriz.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -8161,19 +27847,28 @@ ], "spf":"v=spf1 a mx ptr include:pcetera.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ptr include:pcetera.ch ~all v=spf1 mx ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com include:spf.mail.weloveyou.systems ~all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all v=spf1 ip4:116.203.100.62 ip4:159.69.40.100 ?all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"hornetsecurity", - "mx_asns":[ - 25091 - ], - "autodiscover":{ - "autodiscover_srv":"owa2.oneaccess.ch" - } + "sources_detail":{ + "scrape":[ + "eriz.ch" + ], + "redirect":[], + "wikidata":[ + "eriz.ch" + ], + "guess":[ + "eriz.ch" + ] + }, + "resolve_flags":[] }, "925":{ "bfs":"925", "name":"Fahrni", - "canton":"", + "canton":"Kanton Bern", "domain":"gemeinde-fahrni.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -8183,19 +27878,29 @@ ], "spf":"v=spf1 include:_spf.pcetera.ch include:spf.cloudrexx.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.pcetera.ch include:spf.cloudrexx.com -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:80.74.136.182 ip4:80.74.128.231 ip4:80.74.128.204 -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"hornetsecurity", - "mx_asns":[ - 25091 - ], - "autodiscover":{ - "autodiscover_srv":"remote.gemeinde-fahrni.ch" - } + "sources_detail":{ + "scrape":[ + "gemeinde-fahrni.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-fahrni.ch" + ], + "guess":[ + "fahrni.ch", + "gemeinde-fahrni.ch" + ] + }, + "resolve_flags":[] }, "927":{ "bfs":"927", "name":"Heiligenschwendi", - "canton":"", + "canton":"Kanton Bern", "domain":"heiligenschwendi.ch", "mx":[ "mx01.servicehoster.ch", @@ -8203,29 +27908,84 @@ ], "spf":"v=spf1 include:servicehoster.ch include:spf1.egeko.ch a mx ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:servicehoster.ch include:spf1.egeko.ch a mx ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 1836 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "heiligenschwendi.ch" + ], + "guess":[ + "heiligenschwendi.ch" + ] + }, + "resolve_flags":[] }, "928":{ "bfs":"928", "name":"Heimberg", - "canton":"", + "canton":"Kanton Bern", "domain":"heimberg.ch", "mx":[ "mx1.thun.ch", "mx2.thun.ch" ], "spf":"v=spf1 ip4:82.220.26.128/26 ip4:212.103.81.85 ip4:146.4.11.86 include:spf.internetgalerie.ch include:spf.protection.outlook.com include:_spf.talus.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:82.220.26.128/26 ip4:212.103.81.85 ip4:146.4.11.86 include:spf.internetgalerie.ch include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:193.222.138.0/24 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.thun.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "heimberg.ch" + ], + "guess":[ + "heimberg.ch" + ] + }, + "resolve_flags":[] }, "929":{ "bfs":"929", @@ -8237,144 +27997,554 @@ "mx2.thun.ch" ], "spf":"v=spf1 ip4:82.220.26.128/26 include:spf.mail.weloveyou.systems mx include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:82.220.26.128/26 include:spf.mail.weloveyou.systems mx include:spf.protection.outlook.com -all v=spf1 ip4:116.203.100.62 ip4:159.69.40.100 ?all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.thun.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "hilterfingen.ch" + ], + "guess":[ + "hilterfingen.ch" + ] + }, + "resolve_flags":[] }, "931":{ "bfs":"931", "name":"Homberg", - "canton":"", + "canton":"Kanton Bern", "domain":"homberg.ch", "mx":[ "homberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX homberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "homberg.ch" + ], + "redirect":[], + "wikidata":[ + "homberg.ch" + ], + "guess":[ + "homberg.ch" + ] + }, + "resolve_flags":[] }, "932":{ "bfs":"932", "name":"Horrenbach-Buchen", - "canton":"", + "canton":"Kanton Bern", "domain":"horrenbach-buchen.ch", "mx":[ "horrenbachbuchen-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.firestorm.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.firestorm.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a ip4:185.85.109.0/24 ip4:185.85.110.0/24 ip4:185.85.111.0/24 ip6:2a14:6640:100::/56 ip6:2a14:6640:200::/56 ip6:2a14:6640:300::/56 include:spf2.firestorm.ch include:spf.protection.outlook.com -all v=spf1 ip4:46.140.230.168/29 ip4:82.197.173.42/29 ip4:109.234.111.22 ip4:109.234.111.38 ip4:109.234.111.46 ip4:91.201.57.134/28 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"horrenbach-buchen.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX horrenbachbuchen-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "horrenbach-buchen.ch" + ], + "redirect":[], + "wikidata":[ + "horrenbach-buchen.ch" + ], + "guess":[ + "horrenbach-buchen.ch" + ] + }, + "resolve_flags":[] }, "934":{ "bfs":"934", "name":"Oberhofen am Thunersee", - "canton":"", + "canton":"Kanton Bern", "domain":"oberhofen.ch", "mx":[ "mx1.thun.ch", "mx2.thun.ch" ], "spf":"v=spf1 ip4:82.220.26.128/26 mx include:spf.protection.cyon.net include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:82.220.26.128/26 mx include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.thun.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oberhofen.ch CNAME → selector1-oberhofen-ch._domainkey.stadtthun.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oberhofen.ch CNAME → selector2-oberhofen-ch._domainkey.stadtthun.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberhofen.ch" + ], + "redirect":[], + "wikidata":[ + "oberhofen.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "935":{ "bfs":"935", "name":"Oberlangenegg", - "canton":"", + "canton":"Kanton Bern", "domain":"oberlangenegg.ch", "mx":[ "oberlangenegg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberlangenegg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberlangenegg.ch" + ], + "redirect":[], + "wikidata":[ + "oberlangenegg.ch" + ], + "guess":[ + "oberlangenegg.ch" + ] + }, + "resolve_flags":[] }, "936":{ "bfs":"936", "name":"Pohlern", - "canton":"", + "canton":"Kanton Bern", "domain":"pohlern.ch", "mx":[ "pohlern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:185.136.122.14 include:spf.protection.outlook.com include:spf1.egeko.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:185.136.122.14 include:spf.protection.outlook.com include:spf1.egeko.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pohlern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pohlern.ch" + ], + "redirect":[], + "wikidata":[ + "pohlern.ch" + ], + "guess":[ + "pohlern.ch" + ] + }, + "resolve_flags":[] }, "938":{ "bfs":"938", "name":"Sigriswil", - "canton":"", + "canton":"Kanton Bern", "domain":"sigriswil.ch", "mx":[ "emailsecurity.sigriswil.ch" ], "spf":"v=spf1 a mx ip4:109.164.226.120/29 ip4:193.135.56.6 include:_spf.talus.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx ip4:109.164.226.120/29 ip4:193.135.56.6 include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sigriswil.ch" + ], + "guess":[ + "sigriswil.ch" + ] + }, + "resolve_flags":[] }, "939":{ "bfs":"939", "name":"Steffisburg", - "canton":"", + "canton":"Kanton Bern", "domain":"steffisburg.ch", "mx":[ "mail.steffisburg.ch" ], "spf":"v=spf1 mx ip4:192.168.36.0/24 ip4:192.162.205.155/32 ip4:192.162.205.152/32 ip4:62.2.126.112/28 ip4:31.10.206.136/29 ip4:212.71.120.144/28 include:_spf.talus.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:192.168.36.0/24 ip4:192.162.205.155/32 ip4:192.162.205.152/32 ip4:62.2.126.112/28 ip4:31.10.206.136/29 ip4:212.71.120.144/28 include:_spf.talus.ch include:spf.protection.outlook.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.steffisburg.ch CNAME → selector1-steffisburg-ch._domainkey.steffisburg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.steffisburg.ch CNAME → selector2-steffisburg-ch._domainkey.steffisburg.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "steffisburg.ch" + ], + "guess":[ + "steffisburg.ch" + ] + }, + "resolve_flags":[] }, "940":{ "bfs":"940", - "name":"Teuffenthal", - "canton":"", + "name":"Teuffenthal (BE)", + "canton":"Kanton Bern", "domain":"teuffenthal.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -8382,18 +28552,34 @@ ], "spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch v=spf1 include:spf.mail.hostpoint.ch ?all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "teuffenthal.ch" + ], + "redirect":[], + "wikidata":[ + "teuffenthal.ch" + ], + "guess":[ + "teuffenthal.ch" + ] + }, + "resolve_flags":[] }, "941":{ "bfs":"941", "name":"Thierachern", - "canton":"", + "canton":"Kanton Bern", "domain":"thierachern.ch", "mx":[ "mail.format-ag.ch", @@ -8403,73 +28589,185 @@ ], "spf":"v=spf1 include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "thierachern.ch" + ], + "redirect":[], + "wikidata":[ + "thierachern.ch" + ], + "guess":[ + "thierachern.ch" + ] + }, + "resolve_flags":[] }, "942":{ "bfs":"942", "name":"Thun", - "canton":"", + "canton":"Kanton Bern", "domain":"thun.ch", "mx":[ "mx1.thun.ch", "mx2.thun.ch" ], "spf":"v=spf1 ip4:82.220.26.128/26 include:spf.internetgalerie.ch mx include:spf.cloudrexx.com include:_spf.i-web.ch include:_spf.sui-inter.net include:spf.protection.outlook.com a:c.spf.service-now.com a:mail.codx.ch include:spf.mandrillapp.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:82.220.26.128/26 include:spf.internetgalerie.ch mx include:spf.cloudrexx.com include:_spf.i-web.ch include:_spf.sui-inter.net include:spf.protection.outlook.com a:c.spf.service-now.com a:mail.codx.ch include:spf.mandrillapp.com -all v=spf1 ip4:193.222.138.0/24 -all v=spf1 ip4:80.74.136.182 ip4:80.74.128.231 ip4:80.74.128.204 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 9044 - ], - "autodiscover":{ - "autodiscover_cname":"outlook.thun.ch", - "autodiscover_srv":"outlook.thun.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.thun.ch CNAME → selector1-thun-ch._domainkey.stadtthun.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.thun.ch CNAME → selector2-thun-ch._domainkey.stadtthun.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "thun.ch" + ], + "redirect":[], + "wikidata":[ + "thun.ch" + ], + "guess":[ + "stadt-thun.ch", + "thun.ch" + ] + }, + "resolve_flags":[] }, "943":{ "bfs":"943", "name":"Uebeschi", - "canton":"", + "canton":"Kanton Bern", "domain":"uebeschi.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a a:owa.itze.ch include:spf.mail.balzcloud.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a a:owa.itze.ch include:spf.mail.balzcloud.ch -all v=spf1 ip4:46.247.34.140 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"owa.itze.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "uebeschi.ch" + ], + "redirect":[], + "wikidata":[ + "uebeschi.ch" + ], + "guess":[ + "uebeschi.ch" + ] + }, + "resolve_flags":[] }, "944":{ "bfs":"944", "name":"Uetendorf", - "canton":"", + "canton":"Kanton Bern", "domain":"uetendorf.ch", "mx":[ "uetendorf-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:83.173.216.104/29 ip4:193.135.56.6 ip4:194.56.218.181 include:_spf.ch.seppmail.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:83.173.216.104/29 ip4:193.135.56.6 ip4:194.56.218.181 include:_spf.ch.seppmail.cloud -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 - ] + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "uetendorf.ch" + ], + "guess":[ + "uetendorf.ch" + ] + }, + "resolve_flags":[] }, "945":{ "bfs":"945", "name":"Unterlangenegg", - "canton":"", + "canton":"Kanton Bern", "domain":"unterlangenegg.ch", "mx":[ "mx01.hornetsecurity.com", @@ -8479,21 +28777,47 @@ ], "spf":"v=spf1 ip4:80.74.155.167 include:_spf.pcetera.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:80.74.155.167 include:_spf.pcetera.ch -all v=spf1 ip4:194.56.132.16/28 ip4:185.187.228.5/32 include:spf.hornetsecurity.com -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "unterlangenegg.ch" + ], + "redirect":[], + "wikidata":[ + "unterlangenegg.ch" + ], + "guess":[ + "unterlangenegg.ch" + ] + }, + "resolve_flags":[] }, "946":{ "bfs":"946", "name":"Wachseldorn", - "canton":"", + "canton":"Kanton Bern", "domain":"wachseldorn.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -8503,45 +28827,97 @@ ], "spf":"", "provider":"independent", + "category":"swiss-based", + "classification_confidence":60.0, + "classification_signals":[], "gateway":"hornetsecurity", - "mx_asns":[ - 25091 - ] + "sources_detail":{ + "scrape":[ + "wachseldorn.ch" + ], + "redirect":[], + "wikidata":[ + "wachseldorn.ch" + ], + "guess":[ + "wachseldorn.ch" + ] + }, + "resolve_flags":[] }, "948":{ "bfs":"948", "name":"Forst-Längenbühl", - "canton":"", - "domain":"forst-laengenbuehl.ch", + "canton":"Kanton Bern", + "domain":"3636.ch", "mx":[ - "antispamgate01.bull-services.ch", - "antispamgate02.bull-services.ch" + "mx-cluster01-hz13.hornetsecurity.ch", + "mx-cluster02-hz13.hornetsecurity.ch", + "mx-cluster03-hz13.hornetsecurity.ch", + "mx-cluster04-hz13.hornetsecurity.ch" ], - "spf":"", - "provider":"independent" + "spf":"v=spf1 include:_spf.pcetera.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "gateway":"hornetsecurity", + "sources_detail":{ + "override":[ + "3636.ch" + ] + }, + "resolve_flags":[] }, "951":{ "bfs":"951", "name":"Affoltern im Emmental", - "canton":"", + "canton":"Kanton Bern", "domain":"affolternimemmental.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a:owa.itze.ch include:itds-net.ch include:_spf.talus.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:owa.itze.ch include:itds-net.ch include:_spf.talus.ch ~all v=spf1 ip4:5.148.174.0/26 ip4:5.148.182.96/27 ip6:2a02:418:200d::/48 ip6:2a02:418:2014::/48 ip4:5.102.145.171 ip6:2a06:c01:1:1102::91ab:171 ip4:5.102.147.30 ip6:2a06:c01:1:1104::30 ip4:5.102.146.125 ip6:2a06:c01:1:1103::927d:125 ip4:5.102.147.31 ip6:2a06:c01:1:1104::931f:31 ip4:5.102.145.228 ip6:2a06:c01:1:1102::91e4:228 ip4:5.102.147.242 ip6:2a06:c01:1:1104::93f2:242 ip4:5.102.146.93 ip6:2a06:c01:1:1103::925d:93 ip4:5.102.146.116 ip6:2a06:c01:1:1103::9274:116 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"owa.itze.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "affolternimemmental.ch" + ], + "guess":[ + "affolternimemmental.ch" + ] + }, + "resolve_flags":[] }, "952":{ "bfs":"952", "name":"Dürrenroth", - "canton":"", + "canton":"Kanton Bern", "domain":"duerrenroth.ch", "mx":[ "mail.format-ag.ch", @@ -8551,55 +28927,178 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "duerrenroth.ch" + ], + "redirect":[], + "wikidata":[ + "duerrenroth.ch" + ], + "guess":[ + "duerrenroth.ch" + ] + }, + "resolve_flags":[] }, "953":{ "bfs":"953", "name":"Eriswil", - "canton":"", + "canton":"Kanton Bern", "domain":"eriswil.ch", "mx":[ "eriswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:remote.eriswil.ch ip4:213.200.243.187 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:remote.eriswil.ch ip4:213.200.243.187 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"remote.eriswil.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eriswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "eriswil.ch" + ], + "redirect":[], + "wikidata":[ + "eriswil.ch" + ], + "guess":[ + "eriswil.ch" + ] + }, + "resolve_flags":[] }, "954":{ "bfs":"954", "name":"Huttwil", - "canton":"", + "canton":"Kanton Bern", "domain":"huttwil.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a a:owa.huttwil.ch ip4:193.135.56.6 include:_spf.i-web.ch include:_spf.talus.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a a:owa.huttwil.ch ip4:193.135.56.6 include:_spf.i-web.ch include:_spf.talus.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"owa.huttwil.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "huttwil.ch" + ], + "guess":[ + "huttwil.ch" + ] + }, + "resolve_flags":[] }, "955":{ "bfs":"955", "name":"Lützelflüh", - "canton":"", + "canton":"Kanton Bern", "domain":"luetzelflueh.ch", "mx":[ "mail.format-ag.ch", @@ -8609,380 +29108,1568 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "luetzelflueh.ch" + ], + "guess":[ + "luetzelflueh.ch" + ] + }, + "resolve_flags":[] }, "956":{ "bfs":"956", "name":"Rüegsau", - "canton":"", + "canton":"Kanton Bern", "domain":"ruegsau.ch", "mx":[ "ruegsau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ruegsau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ruegsau.ch CNAME → selector1-ruegsau-ch._domainkey.gemeinderueegsau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ruegsau.ch CNAME → selector2-ruegsau-ch._domainkey.gemeinderueegsau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ruegsau.ch" + ], + "redirect":[], + "wikidata":[ + "ruegsau.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "957":{ "bfs":"957", "name":"Sumiswald", - "canton":"", + "canton":"Kanton Bern", "domain":"sumiswald.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a:owa.sumiswald.ch mx:talus.ch ip4:134.119.224.42 include:spf.mail.balzcloud.ch include:_spf.talus.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:owa.sumiswald.ch mx:talus.ch ip4:134.119.224.42 include:spf.mail.balzcloud.ch include:_spf.talus.ch -all v=spf1 ip4:46.247.34.140 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_srv":"owa.sumiswald.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sumiswald.ch" + ], + "guess":[ + "sumiswald.ch" + ] + }, + "resolve_flags":[] }, "958":{ "bfs":"958", "name":"Trachselwald", - "canton":"", + "canton":"Kanton Bern", "domain":"trachselwald.ch", "mx":[ "trachselwald-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.mail.balzcloud.ch include:spf.zic-network.ch include:spf.protection.outlook.com include:spf1.egeko.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.mail.balzcloud.ch include:spf.zic-network.ch include:spf.protection.outlook.com include:spf1.egeko.ch ~all v=spf1 ip4:46.247.34.140 ~all v=spf1 ip4:193.47.103.22 ip4:193.47.103.25 ip4:193.47.103.28 ip4:193.47.103.50 ip4:193.47.103.52 ip4:193.47.103.53 ip4:193.47.103.54 ip4:193.47.103.55 ip4:193.47.103.56 ip4:193.47.103.57 ip4:193.47.103.58 ip6:2a00:c38:11a:103::22 ip6:2a00:c38:11a:103::25 ip6:2a00:c38:11a:103::28 ip6:2a00:c38:11a:103:0:0:0:25 ip6:2a00:c38:11a:103:0:0:0:28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX trachselwald-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.trachselwald.ch CNAME → selector1-trachselwald-ch._domainkey.trachselwald.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.trachselwald.ch CNAME → selector2-trachselwald-ch._domainkey.trachselwald.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "trachselwald.ch" + ], + "redirect":[], + "wikidata":[ + "trachselwald.ch" + ], + "guess":[ + "trachselwald.ch" + ] + }, + "resolve_flags":[] }, "959":{ "bfs":"959", - "name":"Walterswil", - "canton":"", + "name":"Walterswil (BE)", + "canton":"Kanton Bern", "domain":"walterswil-be.ch", "mx":[ "walterswilbe-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX walterswilbe-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "walterswil-be.ch" + ], + "redirect":[], + "wikidata":[ + "walterswil-be.ch" + ], + "guess":[ + "walterswil.ch" + ] + }, + "resolve_flags":[] }, "960":{ "bfs":"960", "name":"Wyssachen", - "canton":"", + "canton":"Kanton Bern", "domain":"wyssachen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 a mx a:mail-gateway-shared01.cyon.net ip4:194.126.4.84 include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx a:mail-gateway-shared01.cyon.net ip4:194.126.4.84 include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wyssachen.ch" + ], + "guess":[ + "wyssachen.ch" + ] + }, + "resolve_flags":[] }, "971":{ "bfs":"971", "name":"Attiswil", - "canton":"", + "canton":"Kanton Bern", "domain":"attiswil.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.sui-inter.net -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.sui-inter.net -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "attiswil.ch" + ], + "redirect":[], + "wikidata":[ + "attiswil.ch" + ], + "guess":[ + "attiswil.ch" + ] + }, + "resolve_flags":[] }, "972":{ "bfs":"972", "name":"Berken", - "canton":"", - "domain":"berken.ch", + "canton":"Kanton Bern", + "domain":"inkwil.ch", "mx":[ - "mx01.tophost.ch", - "mx02.tophost.ch" - ], - "spf":"v=spf1 ip4:194.150.248.14 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +include:spf1.egeko.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:194.150.248.14 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +include:spf1.egeko.ch -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 35206 + "inkwil-ch.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX inkwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.inkwil.ch CNAME → selector1-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.inkwil.ch CNAME → selector2-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "override":[ + "inkwil.ch" + ] + }, + "resolve_flags":[] }, "973":{ "bfs":"973", "name":"Bettenhausen", - "canton":"", + "canton":"Kanton Bern", "domain":"bettenhausen.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 a mx include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 a mx include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "bettenhausen.ch" + ], + "redirect":[], + "wikidata":[ + "bettenhausen.ch" + ], + "guess":[ + "bettenhausen.ch" + ] + }, + "resolve_flags":[] }, "975":{ "bfs":"975", "name":"Farnern", - "canton":"", + "canton":"Kanton Bern", "domain":"farnern.ch", "mx":[ "farnern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX farnern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.farnern.ch CNAME → selector1-farnern-ch._domainkey.gemeindefarnernch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.farnern.ch CNAME → selector2-farnern-ch._domainkey.gemeindefarnernch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "farnern.ch" + ], + "guess":[ + "farnern.ch" + ] + }, + "resolve_flags":[] }, "976":{ "bfs":"976", "name":"Graben", - "canton":"", + "canton":"Kanton Bern", "domain":"graben.ch", "mx":[ "graben-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:relay.mailchannels.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:relay.mailchannels.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX graben-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "graben.ch" + ], + "redirect":[], + "wikidata":[ + "graben.ch" + ], + "guess":[ + "graben.ch" + ] + }, + "resolve_flags":[] }, "977":{ "bfs":"977", "name":"Heimenhausen", - "canton":"", + "canton":"Kanton Bern", "domain":"heimenhausen.ch", "mx":[ "heimenhausen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX heimenhausen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "heimenhausen.ch" + ], + "guess":[ + "heimenhausen.ch" + ] + }, + "resolve_flags":[] }, "979":{ "bfs":"979", "name":"Herzogenbuchsee", - "canton":"", + "canton":"Kanton Bern", "domain":"herzogenbuchsee.ch", "mx":[ "herzogenbuchsee-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a Include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud a:mail.obt-services.ch ip4:213.221.253.83 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a Include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud a:mail.obt-services.ch ip4:213.221.253.83 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX herzogenbuchsee-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.herzogenbuchsee.ch CNAME → selector1-herzogenbuchsee-ch._domainkey.herzogenbuchseecloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.herzogenbuchsee.ch CNAME → selector2-herzogenbuchsee-ch._domainkey.herzogenbuchseecloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "herzogenbuchsee.ch" + ], + "redirect":[], + "wikidata":[ + "herzogenbuchsee.ch" + ], + "guess":[ + "herzogenbuchsee.ch" + ] + }, + "resolve_flags":[] }, "980":{ "bfs":"980", "name":"Inkwil", - "canton":"", + "canton":"Kanton Bern", "domain":"inkwil.ch", "mx":[ "inkwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX inkwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.inkwil.ch CNAME → selector1-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.inkwil.ch CNAME → selector2-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "be.prosenectute.ch", + "inkwil.ch" + ], + "redirect":[], + "wikidata":[ + "inkwil.ch" + ], + "guess":[ + "inkwil.ch" + ] + }, + "resolve_flags":[] }, "981":{ "bfs":"981", "name":"Niederbipp", - "canton":"", + "canton":"Kanton Bern", "domain":"niederbipp.ch", "mx":[ "niederbipp-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niederbipp-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.niederbipp.ch CNAME → selector1-niederbipp-ch._domainkey.gemeindeniederbippch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.niederbipp.ch CNAME → selector2-niederbipp-ch._domainkey.gemeindeniederbippch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "niederbipp.ch" + ], + "redirect":[], + "wikidata":[ + "niederbipp.ch" + ], + "guess":[ + "niederbipp.ch" + ] + }, + "resolve_flags":[] }, "982":{ "bfs":"982", "name":"Niederönz", - "canton":"", + "canton":"Kanton Bern", "domain":"niederoenz.ch", "mx":[ "niederoenz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niederoenz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "niederoenz.ch" + ], + "guess":[ + "niederoenz.ch" + ] + }, + "resolve_flags":[] }, "983":{ "bfs":"983", "name":"Oberbipp", - "canton":"", + "canton":"Kanton Bern", "domain":"oberbipp.ch", "mx":[ "oberbipp-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com IP4:213.221.250.130 include:_spf.sui-inter.net include:_spf.talus.ch +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com IP4:213.221.250.130 include:_spf.sui-inter.net include:_spf.talus.ch +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberbipp-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oberbipp.ch" + ], + "guess":[ + "oberbipp.ch" + ] + }, + "resolve_flags":[] }, "985":{ "bfs":"985", "name":"Ochlenberg", - "canton":"", + "canton":"Kanton Bern", "domain":"ochlenberg.ch", "mx":[ "mailgate.zic-network.ch" ], "spf":"v=spf1 a mx a:owa.itze.ch ~all", - "provider":"swiss-isp", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_cname":"owa.itze.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "ochlenberg.ch" + ], + "redirect":[], + "wikidata":[ + "ochlenberg.ch" + ], + "guess":[ + "ochlenberg.ch" + ] + }, + "resolve_flags":[] }, "987":{ "bfs":"987", "name":"Rumisberg", - "canton":"", + "canton":"Kanton Bern", "domain":"rumisberg.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 ip4:193.135.56.6 mx include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:193.135.56.6 mx include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "rumisberg.ch" + ], + "redirect":[], + "wikidata":[ + "rumisberg.ch" + ], + "guess":[ + "rumisberg.ch" + ] + }, + "resolve_flags":[] }, "988":{ "bfs":"988", "name":"Seeberg", - "canton":"", + "canton":"Kanton Bern", "domain":"seeberg.ch", "mx":[ "seeberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX seeberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "seeberg.ch" + ], + "redirect":[], + "wikidata":[ + "seeberg.ch" + ], + "guess":[ + "seeberg.ch" + ] + }, + "resolve_flags":[] }, "989":{ "bfs":"989", "name":"Thörigen", - "canton":"", + "canton":"Kanton Bern", "domain":"thoerigen.ch", "mx":[ "thoerigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX thoerigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "thoerigen.ch" + ], + "guess":[ + "thoerigen.ch" + ] + }, + "resolve_flags":[] }, "990":{ "bfs":"990", "name":"Walliswil bei Niederbipp", - "canton":"", + "canton":"Kanton Bern", "domain":"walliswil-bipp.ch", "mx":[ "mail.format-ag.ch", @@ -8992,36 +30679,148 @@ ], "spf":"", "provider":"independent", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"webmail01.talus.ch", - "autodiscover_srv":"webmail01.talus.ch" - } + "category":"swiss-based", + "classification_confidence":62.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "walliswil-bipp.ch" + ], + "redirect":[], + "wikidata":[ + "walliswil-bipp.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "991":{ "bfs":"991", "name":"Walliswil bei Wangen", - "canton":"", + "canton":"Kanton Bern", "domain":"walliswil.ch", "mx":[ "walliswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch include:rzmail.hi-ag.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch include:rzmail.hi-ag.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX walliswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.walliswil.ch CNAME → selector1-walliswil-ch._domainkey.gemeindewalliswilbwch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.walliswil.ch CNAME → selector2-walliswil-ch._domainkey.gemeindewalliswilbwch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "walliswil.ch" + ], + "redirect":[], + "wikidata":[ + "walliswil.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "992":{ "bfs":"992", "name":"Wangen an der Aare", - "canton":"", + "canton":"Kanton Bern", "domain":"wangen-a-a.ch", "mx":[ "mail.format-ag.ch", @@ -9031,33 +30830,108 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"www.wangen-a-a.ch", - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "wangen-a-a.ch" + ], + "redirect":[], + "wikidata":[ + "wangen-a-a.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "995":{ "bfs":"995", "name":"Wiedlisbach", - "canton":"", + "canton":"Kanton Bern", "domain":"wiedlisbach.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wiedlisbach.ch" + ], + "guess":[ + "wiedlisbach.ch" + ] + }, + "resolve_flags":[] }, "1001":{ "bfs":"1001", @@ -9069,13 +30943,77 @@ ], "spf":"v=spf1 a:wan-ip101.schule-doppleschwand.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:wan-ip101.schule-doppleschwand.ch include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX doppleschwand-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "doppleschwand.ch" + ], + "redirect":[], + "wikidata":[ + "doppleschwand.ch" + ], + "guess":[ + "doppleschwand.ch" + ] + }, + "resolve_flags":[] }, "1002":{ "bfs":"1002", @@ -9087,13 +31025,87 @@ ], "spf":"v=spf1 ip4:193.135.56.6 ip4:185.80.66.250/29 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 ip4:185.80.66.250/29 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX entlebuch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.entlebuch.ch CNAME → selector1-entlebuch-ch._domainkey.entlebuch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.entlebuch.ch CNAME → selector2-entlebuch-ch._domainkey.entlebuch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "entlebuch.ch" + ], + "guess":[ + "entlebuch.ch" + ] + }, + "resolve_flags":[] }, "1004":{ "bfs":"1004", @@ -9105,17 +31117,81 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:217.26.53.175 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:217.26.53.175 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fluehli-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fluehli.ch" + ], + "redirect":[], + "wikidata":[ + "fluehli.ch" + ], + "guess":[ + "fluehli.ch" + ] + }, + "resolve_flags":[] }, "1005":{ "bfs":"1005", - "name":"Hasle", + "name":"Hasle (LU)", "canton":"", "domain":"hasle-lu.ch", "mx":[ @@ -9123,13 +31199,77 @@ ], "spf":"v=spf1 a:wan-ip101.hasle-lu.ch include:spf.protection.outlook.com include:_spf.mail.hostpoint.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:wan-ip101.hasle-lu.ch include:spf.protection.outlook.com include:_spf.mail.hostpoint.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX haslelu-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hasle-lu.ch" + ], + "redirect":[], + "wikidata":[ + "hasle-lu.ch" + ], + "guess":[ + "hasle.ch" + ] + }, + "resolve_flags":[] }, "1007":{ "bfs":"1007", @@ -9141,13 +31281,83 @@ ], "spf":"v=spf1 a:wan-ip101.romoos.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:wan-ip101.romoos.ch include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX romoos-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "romoos.ch" + ], + "redirect":[], + "wikidata":[ + "romoos.ch" + ], + "guess":[ + "romoos.ch" + ] + }, + "resolve_flags":[] }, "1008":{ "bfs":"1008", @@ -9159,13 +31369,83 @@ ], "spf":"v=spf1 a mx ip4:217.26.52.10 ip4:164.128.132.128/29 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch include:spf.customer.swiss-egov.cloud a:webmail.schuepfheim.ch include:spf.protection.cyon.net ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:217.26.52.10 ip4:164.128.132.128/29 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch include:spf.customer.swiss-egov.cloud a:webmail.schuepfheim.ch include:spf.protection.cyon.net ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schuepfheim-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schuepfheim.ch" + ], + "redirect":[], + "wikidata":[ + "schuepfheim.ch" + ], + "guess":[ + "schuepfheim.ch" + ] + }, + "resolve_flags":[] }, "1009":{ "bfs":"1009", @@ -9177,14 +31457,48 @@ "mail2.rzobt.ch" ], "spf":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch include:_spf.psm.knowbe4.com include:spf.mail.hostpoint.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch include:_spf.psm.knowbe4.com include:spf.mail.hostpoint.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "werthenstein.ch" + ], + "redirect":[], + "wikidata":[ + "werthenstein.ch" + ], + "guess":[ + "werthenstein.ch" + ] + }, + "resolve_flags":[] }, "1010":{ "bfs":"1010", @@ -9196,233 +31510,696 @@ ], "spf":"v=spf1 a mx include:tkcloud.ch include:spf.protection.outlook.com include:_spf.mail.hostpoint.ch include:spf.protection.cyon.net ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:tkcloud.ch include:spf.protection.outlook.com include:_spf.mail.hostpoint.ch include:spf.protection.cyon.net ~all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX escholzmattmarbach-ch02i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "escholzmatt-marbach.ch" + ], + "redirect":[], + "wikidata":[ + "escholzmatt-marbach.ch" + ], + "guess":[ + "escholzmatt-marbach.ch", + "escholzmattmarbach.ch" + ] + }, + "resolve_flags":[] }, "1021":{ "bfs":"1021", - "name":"Aesch", - "canton":"", + "name":"Aesch (LU)", + "canton":"Kanton Luzern", "domain":"aesch-lu.ch", "mx":[ "aeschlu-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aeschlu-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aesch-lu.ch" + ], + "redirect":[], + "wikidata":[ + "aesch-lu.ch" + ], + "guess":[ + "aesch.ch" + ] + }, + "resolve_flags":[] }, "1023":{ "bfs":"1023", "name":"Ballwil", - "canton":"", + "canton":"Kanton Luzern", "domain":"ballwil.ch", "mx":[ "mail.ballwil.ch" ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "ballwil.ch" + ], + "redirect":[], + "wikidata":[ + "ballwil.ch" + ], + "guess":[ + "ballwil.ch" + ] + }, + "resolve_flags":[] }, "1024":{ "bfs":"1024", "name":"Emmen", - "canton":"", + "canton":"Kanton Luzern", "domain":"emmen.ch", "mx":[ "mail.emmen.ch" ], "spf":"v=spf1 mx include:_spf.i-web.ch include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch include:spf.abacuscity.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "emmen.ch" + ], + "redirect":[], + "wikidata":[ + "emmen.ch" + ], + "guess":[ + "emmen.ch" + ] + }, + "resolve_flags":[] }, "1025":{ "bfs":"1025", "name":"Ermensee", - "canton":"", + "canton":"Kanton Luzern", "domain":"ermensee.ch", "mx":[ "mail.ermensee.ch" ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "ermensee.ch" + ], + "redirect":[], + "wikidata":[ + "ermensee.ch" + ], + "guess":[ + "ermensee.ch", + "ermensee.lu.ch" + ] + }, + "resolve_flags":[] }, "1026":{ "bfs":"1026", - "name":"Eschenbach", - "canton":"", + "name":"Eschenbach (LU)", + "canton":"Kanton Luzern", "domain":"eschenbach-luzern.ch", "mx":[ "mail.eschenbach-luzern.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eschenbach-luzern.ch" + ], + "guess":[ + "eschenbach.ch" + ] + }, + "resolve_flags":[] }, "1030":{ "bfs":"1030", "name":"Hitzkirch", - "canton":"", + "canton":"Kanton Luzern", "domain":"hitzkirch.ch", "mx":[ "hitzkirch-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:mail.ostendis.ch include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:mail.ostendis.ch include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hitzkirch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hitzkirch.ch" + ], + "redirect":[], + "wikidata":[ + "hitzkirch.ch" + ], + "guess":[ + "hitzkirch.ch" + ] + }, + "resolve_flags":[] }, "1031":{ "bfs":"1031", "name":"Hochdorf", - "canton":"", + "canton":"Kanton Luzern", "domain":"hochdorf.ch", "mx":[ "mail.hochdorf.ch" ], "spf":"v=spf1 mx +ip4:193.135.56.6 +ip4:172.211.79.21 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "hochdorf.ch" + ], + "redirect":[], + "wikidata":[ + "hochdorf.ch" + ], + "guess":[ + "hochdorf.ch" + ] + }, + "resolve_flags":[] }, "1032":{ "bfs":"1032", "name":"Hohenrain", - "canton":"", + "canton":"Kanton Luzern", "domain":"hohenrain.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ip4:193.135.56.6 ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ip4:193.135.56.6 ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "hohenrain.ch" + ], + "redirect":[], + "wikidata":[ + "hohenrain.ch" + ], + "guess":[ + "hohenrain.ch" + ] + }, + "resolve_flags":[] }, "1033":{ "bfs":"1033", "name":"Inwil", - "canton":"", + "canton":"Kanton Luzern", "domain":"inwil.ch", "mx":[ "mail.inwil.ch" ], "spf":"v=spf1 mx ip4:80.74.136.182 ip4:194.124.233.150 include:spf.cloudrexx.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:80.74.136.182 ip4:194.124.233.150 include:spf.cloudrexx.com -all v=spf1 ip4:80.74.136.182 ip4:80.74.128.231 ip4:80.74.128.204 -all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_cname":"inwil.cloudrexx.com", - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "inwil.ch" + ], + "redirect":[], + "wikidata":[ + "inwil.ch" + ], + "guess":[ + "inwil.ch" + ] + }, + "resolve_flags":[] }, "1037":{ "bfs":"1037", "name":"Rain", - "canton":"", + "canton":"Kanton Luzern", "domain":"rain.ch", "mx":[ "rain-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abacuscity.ch a:slu-w0ssf1.stadtluzern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abacuscity.ch a:slu-w0ssf1.stadtluzern.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rain-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rain.ch CNAME → selector1-rain-ch._domainkey.rainlucloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rain.ch CNAME → selector2-rain-ch._domainkey.rainlucloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "rain.ch" + ], + "redirect":[], + "wikidata":[ + "rain.ch" + ], + "guess":[ + "rain.ch" + ] + }, + "resolve_flags":[] }, "1039":{ "bfs":"1039", "name":"Römerswil", - "canton":"", + "canton":"Kanton Luzern", "domain":"roemerswil.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "roemerswil.ch" + ], + "redirect":[], + "wikidata":[ + "roemerswil.ch" + ], + "guess":[ + "roemerswil.ch" + ] + }, + "resolve_flags":[] }, "1040":{ "bfs":"1040", "name":"Rothenburg", - "canton":"", + "canton":"Kanton Luzern", "domain":"rothenburg.ch", "mx":[ "mail.rothenburg.ch" ], "spf":"v=spf1 mx include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rothenburg.ch" + ], + "redirect":[], + "wikidata":[ + "rothenburg.ch" + ], + "guess":[ + "rothenburg.ch" + ] + }, + "resolve_flags":[] }, "1041":{ "bfs":"1041", "name":"Schongau", - "canton":"", + "canton":"Kanton Luzern", "domain":"schongau.ch", "mx":[ "mx1.seabix.cloud", @@ -9430,86 +32207,392 @@ ], "spf":"v=spf1 mx include:spf.sendinblue.com include:spf.smtp2go.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.sendinblue.com include:spf.smtp2go.com -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 ip4:207.58.147.64/28 ip4:216.22.15.224/27 ip4:43.228.184.0/22 ip4:103.47.204.0/22 ip4:103.2.140.0/22 ip4:203.31.36.0/22 ip4:170.10.68.0/22 ip4:158.120.80.0/21 ip4:66.235.120.0/21 ip4:194.195.251.175 ~all", - "mx_asns":[ - 15623, - 214060 - ], - "autodiscover":{ - "autodiscover_srv":"mail.seabix.com" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "schongau.ch" + ], + "redirect":[], + "wikidata":[ + "schongau.ch" + ], + "guess":[ + "schongau.ch" + ] + }, + "resolve_flags":[] }, "1051":{ "bfs":"1051", "name":"Adligenswil", - "canton":"", + "canton":"Kanton Luzern", "domain":"adligenswil.ch", "mx":[ "adligenswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:ews45.everyware.ch include:tkcloud.ch ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:ews45.everyware.ch include:tkcloud.ch ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX adligenswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.adligenswil.ch CNAME → selector1-adligenswil-ch._domainkey.gdeverwaltungadligenswil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.adligenswil.ch CNAME → selector2-adligenswil-ch._domainkey.gdeverwaltungadligenswil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "adligenswil.ch" + ], + "guess":[ + "adligenswil.ch", + "gemeinde-adligenswil.ch" + ] + }, + "resolve_flags":[] }, "1052":{ "bfs":"1052", "name":"Buchrain", - "canton":"", + "canton":"Kanton Luzern", "domain":"buchrain.ch", "mx":[ "buchrain-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buchrain-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buchrain.ch CNAME → selector1-buchrain-ch._domainkey.buchrain.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buchrain.ch CNAME → selector2-buchrain-ch._domainkey.buchrain.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buchrain.ch" + ], + "redirect":[], + "wikidata":[ + "buchrain.ch" + ], + "guess":[ + "buchrain.ch" + ] + }, + "resolve_flags":[] }, "1053":{ "bfs":"1053", "name":"Dierikon", - "canton":"", + "canton":"Kanton Luzern", "domain":"dierikon.ch", "mx":[ "dierikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dierikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dierikon.ch" + ], + "redirect":[], + "wikidata":[ + "dierikon.ch" + ], + "guess":[ + "dierikon.ch" + ] + }, + "resolve_flags":[] }, "1054":{ "bfs":"1054", "name":"Ebikon", - "canton":"", + "canton":"Kanton Luzern", "domain":"ebikon.ch", "mx":[ "ebikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:81.62.185.142 ip4:46.227.226.108 ip4:146.4.16.26 ip4:212.80.96.0/21 ip4:91.194.196.10 ip4:87.117.127.202 ip6:2a01:7480:1:100::/64 include:servers.mcsv.net include:spf.protection.outlook.com redirect=spf.mail.hostpoint.ch", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.62.185.142 ip4:46.227.226.108 ip4:146.4.16.26 ip4:212.80.96.0/21 ip4:91.194.196.10 ip4:87.117.127.202 ip6:2a01:7480:1:100::/64 include:servers.mcsv.net include:spf.protection.outlook.com redirect=spf.mail.hostpoint.ch v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ebikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ebikon.ch CNAME → selector1-ebikon-ch._domainkey.ebikongemeinde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ebikon.ch CNAME → selector2-ebikon-ch._domainkey.ebikongemeinde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ebikon.ch" + ], + "redirect":[], + "wikidata":[ + "ebikon.ch" + ], + "guess":[ + "ebikon.ch" + ] + }, + "resolve_flags":[] }, "1055":{ "bfs":"1055", @@ -9521,31 +32604,115 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 include:spf.vtx.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:spf.vtx.ch ~all v=spf1 ip4:194.38.175.0/24 ip4:194.38.166.0/27 ip4:212.40.2.0/25 ip4:212.109.85.192/27 ip4:212.147.10.0/26 ip4:212.147.62.64/26 ip4:212.147.62.128/27 ip4:212.147.99.24/29 ip4:194.148.30.0/24 ip4:195.15.4.240/28 include:_spf-24x.romandie.hosting -all v=spf1 a:catcher-241.romandie.hosting a:catcher-242.romandie.hosting ~all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gisikon.ch" + ], + "guess":[ + "gisikon.ch" + ] + }, + "resolve_flags":[] }, "1056":{ "bfs":"1056", "name":"Greppen", - "canton":"", + "canton":"Kanton Luzern", "domain":"greppen.ch", "mx":[ "greppen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX greppen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "greppen.ch" + ], + "redirect":[], + "wikidata":[ + "greppen.ch" + ], + "guess":[ + "greppen.ch" + ] + }, + "resolve_flags":[] }, "1058":{ "bfs":"1058", @@ -9557,123 +32724,446 @@ ], "spf":"v=spf1 a mx:horw.ch mx:schulen-horw.ch ip4:195.49.6.49 ip4:212.59.163.3 a:mail.i-web.ch include:_spf.i-web.ch include:servers.mcsv.net include:spf.abacuscity.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx:horw.ch mx:schulen-horw.ch ip4:195.49.6.49 ip4:212.59.163.3 a:mail.i-web.ch include:_spf.i-web.ch include:servers.mcsv.net include:spf.abacuscity.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "horw.ch" + ], + "redirect":[], + "wikidata":[ + "horw.ch" + ], + "guess":[ + "horw.ch" + ] + }, + "resolve_flags":[] }, "1059":{ "bfs":"1059", "name":"Kriens", - "canton":"", + "canton":"Kanton Luzern", "domain":"kriens.ch", "mx":[ "mail.kriens.ch" ], "spf":"v=spf1 mx +ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kriens.ch" + ], + "redirect":[], + "wikidata":[ + "kriens.ch" + ], + "guess":[ + "gemeinde-kriens.ch", + "kriens.ch", + "stadt-kriens.ch" + ] + }, + "resolve_flags":[] }, "1061":{ "bfs":"1061", "name":"Luzern", - "canton":"", + "canton":"Kanton Luzern", "domain":"stadtluzern.ch", "mx":[ "mail.stadtluzern.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:spf.privasphere.com include:spf.umantis.com ip4:194.209.100.10 ip4:5.102.147.208 a:mail.i-web.ch +mx:hin.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:spf.privasphere.com include:spf.umantis.com ip4:194.209.100.10 ip4:5.102.147.208 a:mail.i-web.ch +mx:hin.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.stadtluzern.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.stadtluzern.ch CNAME → selector1-stadtluzern-ch._domainkey.stadtluzern.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.stadtluzern.ch CNAME → selector2-stadtluzern-ch._domainkey.stadtluzern.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "stadtluzern.ch" + ], + "redirect":[], + "wikidata":[ + "stadtluzern.ch" + ], + "guess":[ + "luzern.ch" + ] + }, + "resolve_flags":[] }, "1062":{ "bfs":"1062", "name":"Malters", - "canton":"", + "canton":"Kanton Luzern", "domain":"malters.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "malters.ch" + ], + "redirect":[], + "wikidata":[ + "malters.ch" + ], + "guess":[ + "malters.ch" + ] + }, + "resolve_flags":[] }, "1063":{ "bfs":"1063", "name":"Meggen", - "canton":"", + "canton":"Kanton Luzern", "domain":"meggen.ch", "mx":[ "meggen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX meggen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "meggen.ch" + ], + "redirect":[], + "wikidata":[ + "meggen.ch" + ], + "guess":[ + "meggen.ch" + ] + }, + "resolve_flags":[] }, "1064":{ "bfs":"1064", "name":"Meierskappel", - "canton":"", + "canton":"Kanton Luzern", "domain":"meierskappel.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx ip4:193.135.56.6 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx ip4:193.135.56.6 include:_spf.rzobt.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "meierskappel.ch" + ], + "redirect":[], + "wikidata":[ + "meierskappel.ch" + ], + "guess":[ + "meierskappel.ch" + ] + }, + "resolve_flags":[] }, "1065":{ "bfs":"1065", "name":"Root", - "canton":"", + "canton":"Kanton Luzern", "domain":"gemeinde-root.ch", "mx":[ "gemeinderoot-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeinderoot-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gemeinde-root.ch CNAME → selector1-gemeinderoot-ch02b._domainkey.gemeindeverwaltungroot.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gemeinde-root.ch CNAME → selector2-gemeinderoot-ch02b._domainkey.gemeindeverwaltungroot.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gemeinde-root.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-root.ch" + ], + "guess":[ + "gemeinde-root.ch", + "root.ch" + ] + }, + "resolve_flags":[] }, "1066":{ "bfs":"1066", "name":"Schwarzenberg", - "canton":"", + "canton":"Kanton Luzern", "domain":"schwarzenberg.ch", "mx":[ "alt1.aspmx.l.google.com", @@ -9682,64 +33172,349 @@ ], "spf":"v=spf1 ip4:91.194.196.10 mx mx:admin.ch/16 include:_spf.google.com ~all", "provider":"google", - "spf_resolved":"v=spf1 ip4:91.194.196.10 mx mx:admin.ch/16 include:_spf.google.com ~all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all", - "mx_asns":[ - 15169 - ] + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt1.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt2.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx.l.google.com matches google" + }, + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schwarzenberg.ch" + ], + "redirect":[], + "wikidata":[ + "schwarzenberg.ch" + ], + "guess":[ + "schwarzenberg.ch" + ] + }, + "resolve_flags":[] }, "1067":{ "bfs":"1067", "name":"Udligenswil", - "canton":"", + "canton":"Kanton Luzern", "domain":"udligenswil.ch", "mx":[ "udligenswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX udligenswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.udligenswil.ch CNAME → selector1-udligenswil-ch._domainkey.gemeindeudligenswil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.udligenswil.ch CNAME → selector2-udligenswil-ch._domainkey.gemeindeudligenswil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "udligenswil.ch" + ], + "redirect":[], + "wikidata":[ + "udligenswil.ch" + ], + "guess":[ + "udligenswil.ch" + ] + }, + "resolve_flags":[] }, "1068":{ "bfs":"1068", "name":"Vitznau", - "canton":"", + "canton":"Kanton Luzern", "domain":"vitznau.ch", "mx":[ "vitznau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.140.160.21 ip4:46.140.160.22 ip4:46.14.27.218 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.140.160.21 ip4:46.140.160.22 ip4:46.14.27.218 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vitznau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "vitznau.ch" + ], + "redirect":[], + "wikidata":[ + "vitznau.ch" + ], + "guess":[ + "vitznau.ch", + "vitznau.lu.ch" + ] + }, + "resolve_flags":[] }, "1069":{ "bfs":"1069", "name":"Weggis", - "canton":"", + "canton":"Kanton Luzern", "domain":"weggis.ch", "mx":[ "weggis-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf.abacuscity.ch +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf.abacuscity.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX weggis-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "weggis.ch" + ], + "redirect":[], + "wikidata":[ + "weggis.ch" + ], + "guess":[ + "weggis.ch", + "weggis.lu.ch" + ] + }, + "resolve_flags":[] }, "1081":{ "bfs":"1081", @@ -9749,15 +33524,83 @@ "mx":[ "beromuenster-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 ip4:194.56.218.181 ip4:194.56.218.131 ip4:37.128.180.154 ip4:195.48.205.132 include:spf.protection.outlook.com include:spf.abacuscity.ch -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.56.218.181 ip4:194.56.218.131 ip4:37.128.180.154 ip4:195.48.205.132 include:spf.protection.outlook.com include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 ip4:37.128.180.154 ip4:195.48.205.132 include:_spf.talus.ch include:_spf.i-web.ch include:spf.protection.outlook.com include:spf.abacuscity.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX beromuenster-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.beromuenster.ch CNAME → selector1-beromuenster-ch._domainkey.gemeindeberomuenster.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.beromuenster.ch CNAME → selector2-beromuenster-ch._domainkey.gemeindeberomuenster.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "beromuenster.ch" + ], + "guess":[ + "beromuenster.ch" + ] + }, + "resolve_flags":[] }, "1082":{ "bfs":"1082", @@ -9768,11 +33611,43 @@ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bueron.ch" + ], + "redirect":[], + "wikidata":[ + "bueron.ch" + ], + "guess":[ + "bron.ch", + "bueron.ch" + ] + }, + "resolve_flags":[] }, "1083":{ "bfs":"1083", @@ -9784,13 +33659,35 @@ ], "spf":"v=spf1 mx include:_spf.i-web.ch +ip4:195.65.10.26 +ip4:194.40.156.100 -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch +ip4:195.65.10.26 +ip4:194.40.156.100 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buttisholz.ch" + ], + "redirect":[], + "wikidata":[ + "buttisholz.ch" + ], + "guess":[ + "buttisholz.ch" + ] + }, + "resolve_flags":[] }, "1084":{ "bfs":"1084", @@ -9802,13 +33699,89 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eich-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.eich.ch CNAME → selector1-eich-ch._domainkey.gemeindeeich.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.eich.ch CNAME → selector2-eich-ch._domainkey.gemeindeeich.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eich.ch" + ], + "redirect":[], + "wikidata":[ + "eich.ch" + ], + "guess":[ + "eich.ch" + ] + }, + "resolve_flags":[] }, "1085":{ "bfs":"1085", @@ -9820,13 +33793,29 @@ ], "spf":"v=spf1 mx include:spf.creanet.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.creanet.ch -all v=spf1 ip4:37.128.182.0/25 ip4:94.100.136.58 ip4:94.100.132.73 -all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "geuensee.ch" + ], + "redirect":[], + "wikidata":[ + "geuensee.ch" + ], + "guess":[ + "geuensee.ch" + ] + }, + "resolve_flags":[] }, "1086":{ "bfs":"1086", @@ -9838,13 +33827,20 @@ ], "spf":"v=spf1 mx include:spf.creanet.ch include:cemsc.net ip4:185.142.212.13 ip4:185.32.222.15 ip4:176.10.104.21 ip4:185.32.222.64 ip4:149.126.4.40 ip4:194.126.200.54 ip4:194.126.200.0/24 ip4:194.126.0.0/24 -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.creanet.ch include:cemsc.net ip4:185.142.212.13 ip4:185.32.222.15 ip4:176.10.104.21 ip4:185.32.222.64 ip4:149.126.4.40 ip4:194.126.200.54 ip4:194.126.200.0/24 ip4:194.126.0.0/24 -all v=spf1 ip4:37.128.182.0/25 ip4:94.100.136.58 ip4:94.100.132.73 -all v=spf1 mx ip4:185.233.189.98/32 ip4:193.142.157.191/32 ip4:185.233.188.160/32 ip4:193.142.157.125/32 ip4:185.233.188.75/32 ip4:91.198.2.217/32 ip4:91.198.2.222/32 ip4:185.233.188.176/32 ip4:91.198.2.177/32 ip4:193.142.157.158/32 ip4:193.142.157.198/32 ip4:193.142.157.15/32 ip4:185.233.189.228/32 ip4:185.233.188.247/32 ip4:185.11.255.144/32 ip4:185.233.189.44/32 ip4:185.233.189.122/32 ip4:185.233.188.84/32 ip4:185.233.188.68/32 ~all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grosswangen.ch" + ], + "guess":[ + "grosswangen.ch" + ] + }, + "resolve_flags":[] }, "1088":{ "bfs":"1088", @@ -9856,13 +33852,83 @@ ], "spf":"v=spf1 +a +mx +a:rlx2.loginserver.ch include:spf.protection.outlook.com include:spf1.egeko.ch include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +a:rlx2.loginserver.ch include:spf.protection.outlook.com include:spf1.egeko.ch include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hildisrieden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hildisrieden.ch CNAME → selector1-hildisrieden-ch._domainkey.gemeindehildisrieden.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hildisrieden.ch CNAME → selector2-hildisrieden-ch._domainkey.gemeindehildisrieden.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hildisrieden.ch" + ], + "redirect":[], + "wikidata":[ + "hildisrieden.ch" + ], + "guess":[ + "hildisrieden.ch" + ] + }, + "resolve_flags":[] }, "1089":{ "bfs":"1089", @@ -9874,12 +33940,22 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "knutwil.ch" + ], + "redirect":[], + "wikidata":[ + "knutwil.ch" + ], + "guess":[ + "knutwil.ch" + ] + }, + "resolve_flags":[] }, "1091":{ "bfs":"1091", @@ -9891,14 +33967,77 @@ ], "spf":"v=spf1 mx include:spf.protection.cyon.net ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.cyon.net ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.mauensee.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mauensee-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mauensee.ch" + ], + "redirect":[], + "wikidata":[ + "mauensee.ch" + ], + "guess":[ + "mauensee.ch" + ] + }, + "resolve_flags":[] }, "1093":{ "bfs":"1093", @@ -9910,13 +34049,83 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:194.124.233.150 ip4:193.135.56.6 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:194.124.233.150 ip4:193.135.56.6 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neuenkirch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "neuenkirch.ch" + ], + "redirect":[], + "wikidata":[ + "neuenkirch.ch" + ], + "guess":[ + "neuenkirch.ch" + ] + }, + "resolve_flags":[] }, "1094":{ "bfs":"1094", @@ -9928,13 +34137,41 @@ ], "spf":"v=spf1 mx a:sbb-ch.mail.protection.outlook.com a:mail.format-ag.ch include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:sbb-ch.mail.protection.outlook.com a:mail.format-ag.ch include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "nottwil.ch" + ], + "redirect":[], + "wikidata":[ + "nottwil.ch" + ], + "guess":[ + "nottwil.ch" + ] + }, + "resolve_flags":[] }, "1095":{ "bfs":"1095", @@ -9946,18 +34183,52 @@ "mail2.rzobt.ch" ], "spf":"v=spf1 a include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.abacuscity.ch include:_spf.psm.knowbe4.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.abacuscity.ch include:_spf.psm.knowbe4.com -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberkirch.ch" + ], + "redirect":[], + "wikidata":[ + "oberkirch.ch" + ], + "guess":[ + "oberkirch.ch" + ] + }, + "resolve_flags":[] }, "1097":{ "bfs":"1097", - "name":"Rickenbach", + "name":"Rickenbach (LU)", "canton":"", "domain":"rickenbach.ch", "mx":[ @@ -9965,13 +34236,71 @@ ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rickenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rickenbach.ch" + ], + "redirect":[], + "wikidata":[ + "rickenbach.ch" + ], + "guess":[ + "rickenbach.ch" + ] + }, + "resolve_flags":[] }, "1098":{ "bfs":"1098", @@ -9983,46 +34312,128 @@ ], "spf":"v=spf1 mx ip4:185.35.28.13 ip4:185.35.28.162 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "ruswil.ch" + ], + "redirect":[], + "wikidata":[ + "ruswil.ch" + ], + "guess":[ + "ruswil.ch" + ] + }, + "resolve_flags":[] }, "1099":{ "bfs":"1099", "name":"Schenkon", - "canton":"Kanton Luzern", + "canton":"", "domain":"schenkon.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 a include:spf.mail.hostpoint.ch include:_spf.rzobt.ch include:communication.backslash.ch include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:spf.mail.hostpoint.ch include:_spf.rzobt.ch include:communication.backslash.ch include:spf.abacuscity.ch -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 a -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schenkon.ch" + ], + "redirect":[], + "wikidata":[ + "schenkon.ch" + ], + "guess":[ + "schenkon.ch" + ] + }, + "resolve_flags":[] }, "1100":{ "bfs":"1100", "name":"Schlierbach", - "canton":"Kanton Luzern", + "canton":"", "domain":"schlierbach.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf1.egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:spf1.egeko.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schlierbach.ch" + ], + "redirect":[], + "wikidata":[ + "schlierbach.ch" + ], + "guess":[ + "schlierbach.ch" + ] + }, + "resolve_flags":[] }, "1102":{ "bfs":"1102", @@ -10034,13 +34445,89 @@ ], "spf":"v=spf1 ip4:151.248.208.106 ip4:80.254.162.137 include:spf.protection.outlook.com include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:151.248.208.106 ip4:80.254.162.137 include:spf.protection.outlook.com include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sempach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.sempach.ch CNAME → selector1-sempach-ch._domainkey.sempachcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.sempach.ch CNAME → selector2-sempach-ch._domainkey.sempachcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sempach.ch" + ], + "redirect":[], + "wikidata":[ + "sempach.ch" + ], + "guess":[ + "sempach.ch" + ] + }, + "resolve_flags":[] }, "1103":{ "bfs":"1103", @@ -10052,13 +34539,79 @@ ], "spf":"v=spf1 a mx include:spf.mail.hostpoint.ch include:_spf.i-web.ch include:spf.protection.outlook.com ip4:37.128.181.146 include:_spf.psm.knowbe4.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.mail.hostpoint.ch include:_spf.i-web.ch include:spf.protection.outlook.com ip4:37.128.181.146 include:_spf.psm.knowbe4.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stadtsursee-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.stadtsursee.ch CNAME → selector1-stadtsursee-ch._domainkey.stadtsurseech.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.stadtsursee.ch CNAME → selector2-stadtsursee-ch._domainkey.stadtsurseech.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stadtsursee.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[] + }, + "resolve_flags":[] }, "1104":{ "bfs":"1104", @@ -10070,12 +34623,29 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "triengen.ch" + ], + "redirect":[], + "wikidata":[ + "triengen.ch" + ], + "guess":[ + "triengen.ch" + ] + }, + "resolve_flags":[] }, "1107":{ "bfs":"1107", @@ -10087,211 +34657,786 @@ "mail2.rzobt.ch" ], "spf":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch a:slu-w0ssf1.stadtluzern.ch ip4:185.35.28.13 include:_spf.psm.knowbe4.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch a:slu-w0ssf1.stadtluzern.ch ip4:185.35.28.13 include:_spf.psm.knowbe4.com -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "wolhusen.ch" + ], + "redirect":[], + "wikidata":[ + "wolhusen.ch" + ], + "guess":[ + "wolhusen.ch" + ] + }, + "resolve_flags":[] }, "1121":{ "bfs":"1121", "name":"Alberswil", - "canton":"", + "canton":"Kanton Luzern", "domain":"alberswil.ch", "mx":[ "alberswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX alberswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "alberswil.ch", + "printex.ch" + ], + "redirect":[], + "wikidata":[ + "alberswil.ch" + ], + "guess":[ + "alberswil.ch" + ] + }, + "resolve_flags":[] }, "1122":{ "bfs":"1122", "name":"Altbüron", - "canton":"", + "canton":"Kanton Luzern", "domain":"altbueron.ch", "mx":[ "altbueron-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX altbueron-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "altbueron.ch" + ], + "redirect":[], + "wikidata":[ + "altbueron.ch" + ], + "guess":[ + "altbueron.ch" + ] + }, + "resolve_flags":[] }, "1123":{ "bfs":"1123", "name":"Altishofen", - "canton":"", + "canton":"Kanton Luzern", "domain":"altishofen.ch", "mx":[ "mail.altishofen.ch" ], "spf":"v=spf1 mx a +ip4:149.126.4.40 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "altishofen.ch" + ], + "redirect":[], + "wikidata":[ + "altishofen.ch" + ], + "guess":[ + "altishofen.ch", + "altishofen.lu.ch" + ] + }, + "resolve_flags":[] }, "1125":{ "bfs":"1125", "name":"Dagmersellen", - "canton":"", + "canton":"Kanton Luzern", "domain":"dagmersellen.ch", "mx":[ "dagmersellen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a ip4:193.135.58.21 ip4:80.254.191.149 ip4:151.248.145.24 include:spf.protection.outlook.com include:spf.sendinblue.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a ip4:193.135.58.21 ip4:80.254.191.149 ip4:151.248.145.24 include:spf.protection.outlook.com include:spf.sendinblue.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dagmersellen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.dagmersellen.ch CNAME → selector1-dagmersellen-ch._domainkey.gemeindedagmersellen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.dagmersellen.ch CNAME → selector2-dagmersellen-ch._domainkey.gemeindedagmersellen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "dagmersellen.ch" + ], + "guess":[ + "dagmersellen.ch" + ] + }, + "resolve_flags":[] }, "1127":{ "bfs":"1127", "name":"Egolzwil", - "canton":"", + "canton":"Kanton Luzern", "domain":"egolzwil.ch", "mx":[ "egolzwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:195.65.10.24 ip4:195.65.10.12 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:195.65.10.24 ip4:195.65.10.12 include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX egolzwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.egolzwil.ch CNAME → selector1-egolzwil-ch._domainkey.gemeindeegolzwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.egolzwil.ch CNAME → selector2-egolzwil-ch._domainkey.gemeindeegolzwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "egolzwil.ch" + ], + "redirect":[], + "wikidata":[ + "egolzwil.ch" + ], + "guess":[ + "egolzwil.ch" + ] + }, + "resolve_flags":[] }, "1128":{ "bfs":"1128", "name":"Ettiswil", - "canton":"", + "canton":"Kanton Luzern", "domain":"ettiswil.ch", "mx":[ "mail.ettiswil.ch" ], "spf":"v=spf1 mx include:spf.protection.cyon.net include:spf.customer.swiss-egov.cloud ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.cyon.net include:spf.customer.swiss-egov.cloud ~all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.ettiswil.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aldec.ch", + "ettiswil.ch" + ], + "redirect":[], + "wikidata":[ + "ettiswil.ch" + ], + "guess":[ + "ettiswil.ch" + ] + }, + "resolve_flags":[] }, "1129":{ "bfs":"1129", "name":"Fischbach", - "canton":"", + "canton":"Kanton Luzern", "domain":"fischbach-lu.ch", "mx":[ "fischbachlu-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fischbachlu-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fischbach-lu.ch" + ], + "redirect":[], + "wikidata":[ + "fischbach-lu.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "1131":{ "bfs":"1131", "name":"Grossdietwil", - "canton":"", + "canton":"Kanton Luzern", "domain":"grossdietwil.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.exenti.ch ip4:185.35.28.128 ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.exenti.ch ip4:185.35.28.128 ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 +ip4:185.35.28.12 +ip4:185.35.28.13 +ip4:185.35.28.14 +ip4:185.35.29.12 +ip4:185.35.29.13 +ip4:185.35.29.14 +ip4:185.35.28.22 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "schule-grossdietwil.ch" + ], + "redirect":[], + "wikidata":[ + "grossdietwil.ch" + ], + "guess":[ + "grossdietwil.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "1132":{ "bfs":"1132", "name":"Hergiswil bei Willisau", - "canton":"", + "canton":"Kanton Luzern", "domain":"hergiswil-lu.ch", "mx":[ "mail.hergiswil-lu.ch" ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "hergiswil-lu.ch" + ], + "redirect":[], + "wikidata":[ + "hergiswil-lu.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "1135":{ "bfs":"1135", "name":"Luthern", - "canton":"", + "canton":"Kanton Luzern", "domain":"luthern.ch", "mx":[ "luthern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX luthern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "luthern.ch" + ], + "redirect":[], + "wikidata":[ + "luthern.ch" + ], + "guess":[ + "luthern.ch" + ] + }, + "resolve_flags":[] }, "1136":{ "bfs":"1136", "name":"Menznau", - "canton":"", + "canton":"Kanton Luzern", "domain":"menznau.ch", "mx":[ "menznau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +a:rlx2.loginserver.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +a:rlx2.loginserver.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX menznau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.menznau.ch CNAME → selector1-menznau-ch._domainkey.gdemenznau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.menznau.ch CNAME → selector2-menznau-ch._domainkey.gdemenznau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "menznau.ch" + ], + "redirect":[], + "wikidata":[ + "menznau.ch" + ], + "guess":[ + "menznau.ch" + ] + }, + "resolve_flags":[] }, "1137":{ "bfs":"1137", @@ -10303,51 +35448,230 @@ ], "spf":"v=spf1 ip4:213.3.53.198 ip4:86.119.9.6 ip4:193.135.56.6 include:spf.protection.outlook.com include:_spf.psm.knowbe4.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.3.53.198 ip4:86.119.9.6 ip4:193.135.56.6 include:spf.protection.outlook.com include:_spf.psm.knowbe4.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nebikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.nebikon.ch CNAME → selector1-nebikon-ch._domainkey.gemeindenebikon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.nebikon.ch CNAME → selector2-nebikon-ch._domainkey.gemeindenebikon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "scrape":[ + "nebikon.ch" + ], + "redirect":[], + "wikidata":[ + "nebikon.ch" + ], + "guess":[ + "nebikon.ch" + ] + }, + "resolve_flags":[] }, "1139":{ "bfs":"1139", "name":"Pfaffnau", - "canton":"", + "canton":"Kanton Luzern", "domain":"pfaffnau.ch", "mx":[ "pfaffnau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a ip4:91.194.196.10 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a ip4:91.194.196.10 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"mail.gict.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pfaffnau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pfaffnau.ch" + ], + "redirect":[], + "wikidata":[ + "pfaffnau.ch" + ], + "guess":[ + "pfaffnau.ch" + ] + }, + "resolve_flags":[] }, "1140":{ "bfs":"1140", "name":"Reiden", - "canton":"", + "canton":"Kanton Luzern", "domain":"reiden.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 include:spf.abacuscity.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "reiden.ch" + ], + "redirect":[], + "wikidata":[ + "reiden.ch" + ], + "guess":[ + "reiden.ch" + ] + }, + "resolve_flags":[] }, "1142":{ "bfs":"1142", @@ -10359,18 +35683,82 @@ ], "spf":"v=spf1 mx a:mail1.rzobt.ch a:mail2.rzobt.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail1.rzobt.ch a:mail2.rzobt.ch include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX roggliswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "roggliswil.ch" + ], + "redirect":[], + "wikidata":[ + "roggliswil.ch" + ], + "guess":[ + "roggliswil.ch" + ] + }, + "resolve_flags":[] }, "1143":{ "bfs":"1143", "name":"Schötz", - "canton":"", + "canton":"Kanton Luzern", "domain":"schoetz.ch", "mx":[ "mail.format-ag.ch", @@ -10380,13 +35768,41 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schoetz.ch" + ], + "redirect":[], + "wikidata":[ + "schoetz.ch" + ], + "guess":[ + "schoetz.ch" + ] + }, + "resolve_flags":[] }, "1145":{ "bfs":"1145", @@ -10398,12 +35814,22 @@ ], "spf":"v=spf1 mx ip4:185.35.28.68 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "ufhusen.ch" + ], + "redirect":[], + "wikidata":[ + "ufhusen.ch" + ], + "guess":[ + "ufhusen.ch" + ] + }, + "resolve_flags":[] }, "1146":{ "bfs":"1146", @@ -10415,72 +35841,190 @@ ], "spf":"v=spf1 ip4:194.150.248.38 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +ip4:193.135.56.6 +include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.150.248.38 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +ip4:193.135.56.6 +include:spf.protection.outlook.com ~all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"us-cloud", + "classification_confidence":89.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wauwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wauwil.ch" + ], + "redirect":[], + "wikidata":[ + "wauwil.ch" + ], + "guess":[ + "gemeinde-wauwil.ch", + "wauwil.ch" + ] + }, + "resolve_flags":[] }, "1147":{ "bfs":"1147", "name":"Wikon", - "canton":"", + "canton":"Kanton Luzern", "domain":"wikon.ch", "mx":[ "mail.wikon.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_cname":"mail.wikon.ch", - "autodiscover_srv":"mail.wikon.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wikon.ch" + ], + "redirect":[], + "wikidata":[ + "wikon.ch" + ], + "guess":[ + "wikon.ch" + ] + }, + "resolve_flags":[] }, "1150":{ "bfs":"1150", - "name":"Zell", - "canton":"", + "name":"Zell (LU)", + "canton":"Kanton Luzern", "domain":"zell-lu.ch", "mx":[ "mail.zell-lu.ch" ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965 - ], - "autodiscover":{ - "autodiscover_srv":"mail.gict.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "zell-lu.ch" + ], + "redirect":[], + "wikidata":[ + "zell-lu.ch" + ], + "guess":[ + "zell.ch" + ] + }, + "resolve_flags":[] }, "1151":{ "bfs":"1151", "name":"Willisau", - "canton":"", + "canton":"Kanton Luzern", "domain":"willisau.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 a include:_spf.rzobt.ch ip4:185.35.28.16 ip4:185.35.28.13 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a include:_spf.rzobt.ch ip4:185.35.28.16 ip4:185.35.28.13 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "willisau.ch" + ], + "redirect":[], + "wikidata":[ + "willisau.ch" + ], + "guess":[ + "willisau.ch" + ] + }, + "resolve_flags":[] }, "1201":{ "bfs":"1201", - "name":"Altdorf", + "name":"Altdorf (UR)", "canton":"Kanton Uri", "domain":"altdorf.ch", "mx":[ @@ -10488,25 +36032,96 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.rz-altdorf.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "altdorf.ch" + ], + "redirect":[], + "wikidata":[ + "altdorf.ch" + ], + "guess":[ + "altdorf.ch" + ] + }, + "resolve_flags":[] }, "1202":{ "bfs":"1202", "name":"Andermatt", "canton":"Kanton Uri", - "domain":"gemeinde-andermatt.ch", + "domain":"andermatt.ch", "mx":[ - "smtp.backslash.ch" + "mail1.ur.ch", + "mail2.ur.ch" ], - "spf":"v=spf1 ip4:193.135.56.0/24 -all", - "provider":"independent", - "mx_asns":[ - 207143 + "spf":"v=spf1 mx a:mail.ur.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "andermatt.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-andermatt.ch" + ], + "guess":[ + "andermatt.ch", + "gemeinde-andermatt.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "1203":{ @@ -10519,16 +36134,33 @@ ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", "provider":"independent", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.rz-altdorf.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "attinghausen.ch" + ], + "redirect":[], + "wikidata":[ + "attinghausen.ch" + ], + "guess":[ + "attinghausen.ch" + ] + }, + "resolve_flags":[] }, "1205":{ "bfs":"1205", - "name":"Bürglen", + "name":"Bürglen (UR)", "canton":"Kanton Uri", "domain":"buerglen.ch", "mx":[ @@ -10536,13 +36168,29 @@ ], "spf":"v=spf1 mx include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.rz-altdorf.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "buerglen.ch" + ], + "redirect":[], + "wikidata":[ + "buerglen.ch" + ], + "guess":[ + "buerglen.ch" + ] + }, + "resolve_flags":[] }, "1206":{ "bfs":"1206", @@ -10554,28 +36202,81 @@ "mx2.erstfeld.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "erstfeld.ch", + "ubiq.swiss" + ], + "redirect":[], + "wikidata":[ + "erstfeld.ch" + ], + "guess":[ + "erstfeld.ch" + ] + }, + "resolve_flags":[] }, "1207":{ "bfs":"1207", "name":"Flüelen", "canton":"Kanton Uri", - "domain":"fluelen.ch", + "domain":"flueelen.ch", "mx":[ - "mail.fluelen.ch" + "mail.flueelen.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", "provider":"independent", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "flueelen.ch" + ], + "redirect":[ + "flueelen.ch" + ], + "wikidata":[ + "fluelen.ch" + ], + "guess":[ + "flueelen.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "1208":{ "bfs":"1208", @@ -10587,11 +36288,42 @@ "mail2.ur.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "goeschenen.ch" + ], + "redirect":[], + "wikidata":[ + "goeschenen.ch" + ], + "guess":[ + "goeschenen.ch" + ] + }, + "resolve_flags":[] }, "1209":{ "bfs":"1209", @@ -10603,25 +36335,95 @@ "mx2.gurtnellen.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "gurtnellen.ch", + "ubiq.swiss" + ], + "redirect":[], + "wikidata":[ + "gurtnellen.ch" + ], + "guess":[ + "gurtnellen.ch" + ] + }, + "resolve_flags":[] }, "1210":{ "bfs":"1210", "name":"Hospental", "canton":"Kanton Uri", - "domain":"hospental.ch", + "domain":"andermatt.ch", "mx":[ - "smtp.backslash.ch" + "mail1.ur.ch", + "mail2.ur.ch" ], - "spf":"v=spf1 ip4:193.135.56.0/24 ip4:193.135.58.0/24 ~all", - "provider":"independent", - "mx_asns":[ - 207143 - ] + "spf":"v=spf1 mx a:mail.ur.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "andermatt.ch" + ] + }, + "resolve_flags":[] }, "1211":{ "bfs":"1211", @@ -10633,11 +36435,36 @@ "mail2.ur.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "isenthal.ch" + ], + "redirect":[], + "wikidata":[ + "isenthal.ch" + ], + "guess":[ + "isenthal.ch" + ] + }, + "resolve_flags":[] }, "1212":{ "bfs":"1212", @@ -10649,13 +36476,78 @@ ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX realp-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "realp.ch", + "ubiq.swiss" + ], + "redirect":[], + "wikidata":[ + "realp.ch" + ], + "guess":[ + "realp.ch" + ] + }, + "resolve_flags":[] }, "1213":{ "bfs":"1213", @@ -10667,16 +36559,39 @@ ], "spf":"v=spf1 +mx -all", "provider":"independent", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.rz-altdorf.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schattdorf.ch" + ], + "redirect":[], + "wikidata":[ + "schattdorf.ch" + ], + "guess":[ + "schattdorf.ch" + ] + }, + "resolve_flags":[] }, "1214":{ "bfs":"1214", - "name":"Seedorf", + "name":"Seedorf (UR)", "canton":"Kanton Uri", "domain":"seedorf-uri.ch", "mx":[ @@ -10684,12 +36599,35 @@ ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", "provider":"independent", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "seedorf-uri.ch" + ], + "redirect":[], + "wikidata":[ + "seedorf-uri.ch" + ], + "guess":[ + "seedorf.ch" + ] + }, + "resolve_flags":[] }, "1215":{ "bfs":"1215", @@ -10701,13 +36639,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:agenturserver.de -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:agenturserver.de -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:188.94.249.240/28 ip4:188.94.250.248/29 ip4:188.94.251.248/29 ip4:188.94.252.252/30 ip4:185.15.192.32/27 ip4:178.16.56.32/27 ip4:185.15.192.32/28 ip4:153.92.196.160/28 ip4:37.202.1.52/30 ip4:37.202.6.52/30 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX seelisberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "seelisberg.ch" + ], + "redirect":[], + "wikidata":[ + "seelisberg.ch" + ], + "guess":[ + "seelisberg.ch" + ] + }, + "resolve_flags":[] }, "1216":{ "bfs":"1216", @@ -10719,14 +36721,96 @@ ], "spf":"v=spf1 a mx a:mx.cmd.activeguard.cloud ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:146.4.12.134 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mx.cmd.activeguard.cloud ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:146.4.12.134 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"exchange.silenen.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX silenen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "silenen.ch", + "ubiq.swiss" + ], + "redirect":[], + "wikidata":[ + "silenen.ch" + ], + "guess":[ + "silenen.ch" + ] + }, + "resolve_flags":[] }, "1217":{ "bfs":"1217", @@ -10738,13 +36822,29 @@ ], "spf":"v=spf1 mx include:_spf.blk.ymc.swiss include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.blk.ymc.swiss include:_spf.i-web.ch -all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 198433 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.rz-altdorf.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "sisikon.ch" + ], + "redirect":[], + "wikidata":[ + "sisikon.ch" + ], + "guess":[ + "sisikon.ch" + ] + }, + "resolve_flags":[] }, "1218":{ "bfs":"1218", @@ -10756,11 +36856,49 @@ "mail2.ur.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "spiringen.ch", + "ubiq.swiss" + ], + "redirect":[], + "wikidata":[ + "spiringen.ch" + ], + "guess":[ + "spiringen.ch" + ] + }, + "resolve_flags":[] }, "1219":{ "bfs":"1219", @@ -10772,11 +36910,42 @@ "mail2.ur.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "unterschaechen.ch" + ], + "redirect":[], + "wikidata":[ + "unterschaechen.ch" + ], + "guess":[ + "unterschaechen.ch" + ] + }, + "resolve_flags":[] }, "1220":{ "bfs":"1220", @@ -10788,68 +36957,223 @@ "mail2.ur.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.sui-inter.net a:mail.ur.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.sui-inter.net a:mail.ur.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 1836 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wassen.ch" + ], + "redirect":[], + "wikidata":[ + "wassen.ch" + ], + "guess":[ + "wassen.ch" + ] + }, + "resolve_flags":[] }, "1301":{ "bfs":"1301", "name":"Einsiedeln", - "canton":"", - "domain":"einsiedeln.ch", + "canton":"Kanton Schwyz", + "domain":"bezirkeinsiedeln.ch", "mx":[ "mr01a.rzeins.ch", "mr02b.rzeins.ch" ], - "spf":"", + "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "override":[ + "bezirkeinsiedeln.ch" + ] + }, + "resolve_flags":[] }, "1311":{ "bfs":"1311", "name":"Gersau", - "canton":"", + "canton":"Kanton Schwyz", "domain":"gersau.ch", "mx":[ "gersau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.101.10.158 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.101.10.158 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gersau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gersau.ch CNAME → selector1-gersau-ch._domainkey.bvgersau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gersau.ch CNAME → selector2-gersau-ch._domainkey.bvgersau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gersau.ch" + ], + "guess":[ + "gersau.ch" + ] + }, + "resolve_flags":[] }, "1321":{ "bfs":"1321", "name":"Feusisberg", - "canton":"", + "canton":"Kanton Schwyz", "domain":"feusisberg.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:193.135.56.6 ip4:62.65.133.1/24 include:spf.iway.ch include:spf.entex.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ip4:193.135.56.6 ip4:62.65.133.1/24 include:spf.iway.ch include:spf.entex.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:185.41.78.16/28 ip4:185.41.79.96/27 ip4:62.2.43.208/28 ip4:62.2.174.0/24 ip4:185.89.147.96/28 ip4:185.41.78.16/28 ip4:81.221.30.0/27 ip4:185.41.79.96/27 ip4:51.107.24.6 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "feusisberg.ch" + ], + "guess":[ + "feusisberg.ch" + ] + }, + "resolve_flags":[] }, "1322":{ "bfs":"1322", "name":"Freienbach", - "canton":"", + "canton":"Kanton Schwyz", "domain":"freienbach.ch", "mx":[ "freienbach1.cleanmail.ch", @@ -10857,16 +37181,53 @@ ], "spf":"v=spf1 a mx ip4:52.157.149.216 mx mx:hin.ch include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.mailjet.com -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:52.157.149.216 mx mx:hin.ch include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.mailjet.com -all v=spf1 ip4:91.208.173.0/24 ip4:91.212.152.0/24 ip4:195.141.89.0/24 ip4:185.188.196.0/24 ip4:83.145.109.0/24 ip4:31.172.161.0/24 ip4:80.83.63.195/32 ip4:80.83.63.196/32 a:outbound.appriver.com ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], "gateway":"cleanmail", - "mx_asns":[ - 15547 - ] + "sources_detail":{ + "scrape":[ + "freienbach.ch" + ], + "redirect":[], + "wikidata":[ + "freienbach.ch" + ], + "guess":[ + "freienbach.ch" + ] + }, + "resolve_flags":[] }, "1323":{ "bfs":"1323", "name":"Wollerau", - "canton":"", + "canton":"Kanton Schwyz", "domain":"wollerau.ch", "mx":[ "wollerau1.cleanmail.ch", @@ -10874,56 +37235,176 @@ ], "spf":"v=spf1 a mx ip4:195.130.218.0/24 ip4:195.141.81.67 ip4:185.41.76.99/27 include:_spf.i-web.ch include:_cmspf.cleanmail.ch include:turbo-smtp.com include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:195.130.218.0/24 ip4:195.141.81.67 ip4:185.41.76.99/27 include:_spf.i-web.ch include:_cmspf.cleanmail.ch include:turbo-smtp.com include:spf.abacuscity.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:91.208.173.0/24 ip4:91.212.152.0/24 ip4:195.141.89.0/24 ip4:185.188.196.0/24 ip4:83.145.109.0/24 ip4:31.172.161.0/24 ip4:80.83.63.195/32 ip4:80.83.63.196/32 a:outbound.appriver.com ~all v=spf1 a mx ip4:199.187.172.0/22 ip4:199.244.72.0/22 ip4:185.228.36.0/22 ip4:78.46.210.192/27 ip4:5.83.159.0/24 ip4:89.144.43.0/24 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "gateway":"cleanmail", - "mx_asns":[ - 15547 + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.wollerau.ch" - } + "gateway":"cleanmail", + "sources_detail":{ + "scrape":[ + "wollerau.ch" + ], + "redirect":[], + "wikidata":[ + "wollerau.ch" + ], + "guess":[ + "wollerau.ch" + ] + }, + "resolve_flags":[] }, "1331":{ "bfs":"1331", - "name":"Küssnacht", - "canton":"", + "name":"Küssnacht (SZ)", + "canton":"Kanton Schwyz", "domain":"kuessnacht.ch", "mx":[ "kuessnacht-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:mail.ostendis.ch ip4:82.136.86.149 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf.sz.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mail.ostendis.ch ip4:82.136.86.149 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf.sz.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.privasphere.com ip4:193.247.107.56 ip4:193.247.111.57 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kuessnacht-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kuessnacht.ch CNAME → elector1-kuessnacht-ch._domainkey.kuessnacht.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kuessnacht.ch CNAME → elector2-kuessnacht-ch._domainkey.kuessnacht.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kuessnacht.ch" + ], + "redirect":[], + "wikidata":[ + "kuessnacht.ch" + ], + "guess":[ + "kuessnacht.ch" + ] + }, + "resolve_flags":[] }, "1341":{ "bfs":"1341", "name":"Altendorf", - "canton":"", + "canton":"Kanton Schwyz", "domain":"altendorf.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf.abacuscity.ch include:communication.backslash.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf.abacuscity.ch include:communication.backslash.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 a -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "altendorf.ch" + ], + "redirect":[], + "wikidata":[ + "altendorf.ch" + ], + "guess":[ + "altendorf.ch" + ] + }, + "resolve_flags":[] }, "1342":{ "bfs":"1342", "name":"Galgenen", - "canton":"", + "canton":"Kanton Schwyz", "domain":"galgenen.ch", "mx":[ "mr01a.rzeins.ch", @@ -10931,16 +37412,27 @@ ], "spf":"v=spf1 mx include:asmtp.mail.hostpoint.ch include:mailomat.cloud -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:asmtp.mail.hostpoint.ch include:mailomat.cloud -all v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 include:spf.protection.cyon.net include:_spf.mailomat.cloud ~all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:91.233.182.0/25 ~all", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "galgenen.ch" + ], + "redirect":[], + "wikidata":[ + "galgenen.ch" + ], + "guess":[ + "galgenen.ch" + ] + }, + "resolve_flags":[] }, "1343":{ "bfs":"1343", "name":"Innerthal", - "canton":"", + "canton":"Kanton Schwyz", "domain":"innerthal.ch", "mx":[ "mr01a.rzeins.ch", @@ -10948,15 +37440,32 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "innerthal.ch" + ], + "guess":[ + "innerthal.ch" + ] + }, + "resolve_flags":[] }, "1344":{ "bfs":"1344", "name":"Lachen", - "canton":"", + "canton":"Kanton Schwyz", "domain":"lachen.ch", "mx":[ "mr01a.rzeins.ch", @@ -10964,70 +37473,234 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "lachen.ch" + ], + "redirect":[], + "wikidata":[ + "lachen.ch" + ], + "guess":[ + "lachen.ch" + ] + }, + "resolve_flags":[] }, "1345":{ "bfs":"1345", "name":"Reichenburg", - "canton":"", + "canton":"Kanton Schwyz", "domain":"reichenburg.ch", "mx":[ "gemeindereichenburg.in.tmes.trendmicro.eu" ], "spf":"v=spf1 a mx ip4:93.174.184.0/21 ~a", "provider":"independent", - "gateway":"trendmicro", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"mail.cloudfor.ch" - } + "gateway":"trendmicro", + "sources_detail":{ + "scrape":[ + "reichenburg.ch" + ], + "redirect":[], + "wikidata":[ + "reichenburg.ch" + ], + "guess":[ + "reichenburg.ch" + ] + }, + "resolve_flags":[] }, "1346":{ "bfs":"1346", "name":"Schübelbach", - "canton":"", + "canton":"Kanton Schwyz", "domain":"schuebelbach.ch", "mx":[ "schuebelbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schuebelbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schuebelbach.ch" + ], + "redirect":[], + "wikidata":[ + "schuebelbach.ch" + ], + "guess":[ + "schuebelbach.ch" + ] + }, + "resolve_flags":[] }, "1347":{ "bfs":"1347", "name":"Tuggen", - "canton":"", + "canton":"Kanton Schwyz", "domain":"tuggen.ch", "mx":[ "tuggen.in.tmes.trendmicro.eu" ], "spf":"v=spf1 a mx ip4:93.174.184.0/21 include:spf1.egeko.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:93.174.184.0/21 include:spf1.egeko.ch ~all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "gateway":"trendmicro", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"mail.cloudfor.ch" - } + "gateway":"trendmicro", + "sources_detail":{ + "scrape":[ + "tuggen.ch" + ], + "redirect":[], + "wikidata":[ + "tuggen.ch" + ], + "guess":[ + "tuggen.ch" + ] + }, + "resolve_flags":[] }, "1348":{ "bfs":"1348", "name":"Vorderthal", - "canton":"", + "canton":"Kanton Schwyz", "domain":"vorderthal.ch", "mx":[ "mr01a.rzeins.ch", @@ -11035,34 +37708,89 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "vorderthal.ch" + ], + "redirect":[], + "wikidata":[ + "vorderthal.ch" + ], + "guess":[ + "vorderthal.ch" + ] + }, + "resolve_flags":[] }, "1349":{ "bfs":"1349", - "name":"Wangen", - "canton":"", + "name":"Wangen (SZ)", + "canton":"Kanton Schwyz", "domain":"wangensz.ch", "mx":[ "wangensz.in.tmes.trendmicro.eu" ], "spf":"v=spf1 include:spf.abacuscity.ch a mx ptr ip4:93.174.184.0/21 ip4:193.135.56.6 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.abacuscity.ch a mx ptr ip4:93.174.184.0/21 ip4:193.135.56.6 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "gateway":"trendmicro", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"mail.cloudfor.ch" - } + "gateway":"trendmicro", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wangensz.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "1361":{ "bfs":"1361", "name":"Alpthal", - "canton":"", + "canton":"Kanton Schwyz", "domain":"alpthal.ch", "mx":[ "mr01a.rzeins.ch", @@ -11070,29 +37798,61 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "alpthal.ch" + ], + "redirect":[], + "wikidata":[ + "alpthal.ch" + ], + "guess":[ + "alpthal.ch" + ] + }, + "resolve_flags":[] }, "1362":{ "bfs":"1362", "name":"Arth", - "canton":"", + "canton":"Kanton Schwyz", "domain":"arth.ch", "mx":[ "mr01.arth.ch" ], "spf":"v=spf1 mx ip4:185.244.253.254/32 -all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "arth.ch" + ], + "redirect":[], + "wikidata":[ + "arth.ch" + ], + "guess":[ + "arth.ch" + ] + }, + "resolve_flags":[] }, "1363":{ "bfs":"1363", "name":"Illgau", - "canton":"", + "canton":"Kanton Schwyz", "domain":"illgau.ch", "mx":[ "mr01a.rzeins.ch", @@ -11100,31 +37860,77 @@ ], "spf":"v=spf1 mx include:mailomat.cloud include:spf.mailpro.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:mailomat.cloud include:spf.mailpro.com -all v=spf1 include:spf.protection.cyon.net include:_spf.mailomat.cloud ~all v=spf1 ip4:178.239.38.0/24 ip4:62.133.56.0/24 ip4:62.50.74.80/28 ip4:62.50.73.144/28 ip4:62.50.76.40/29 ip4:62.50.76.16/28 ip4:195.81.131.64/27 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip6:2a06:fa00::/29 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:91.233.182.0/25 ~all", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "illgau.ch" + ], + "guess":[ + "illgau.ch" + ] + }, + "resolve_flags":[] }, "1364":{ "bfs":"1364", "name":"Ingenbohl", - "canton":"", + "canton":"Kanton Schwyz", "domain":"ingenbohl.ch", "mx":[ "mail.ingenbohl.ch" ], "spf":"v=spf1 +a +mx include:relay.mailchannels.net include:spf.privasphere.com include:agenturserver.de include:_spf.google.com ~all", - "provider":"independent", - "spf_resolved":"v=spf1 +a +mx include:relay.mailchannels.net include:spf.privasphere.com include:agenturserver.de include:_spf.google.com ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:188.94.249.240/28 ip4:188.94.250.248/29 ip4:188.94.251.248/29 ip4:188.94.252.252/30 ip4:185.15.192.32/27 ip4:178.16.56.32/27 ip4:185.15.192.32/28 ip4:153.92.196.160/28 ip4:37.202.1.52/30 ip4:37.202.6.52/30 ~all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 60016 - ] + "provider":"google", + "category":"us-cloud", + "classification_confidence":52.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "ingenbohl.ch" + ], + "redirect":[], + "wikidata":[ + "ingenbohl.ch" + ], + "guess":[ + "ingenbohl.ch" + ] + }, + "resolve_flags":[] }, "1365":{ "bfs":"1365", "name":"Lauerz", - "canton":"", + "canton":"Kanton Schwyz", "domain":"lauerz.ch", "mx":[ "mr01a.rzeins.ch", @@ -11132,15 +37938,27 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "lauerz.ch" + ], + "redirect":[], + "wikidata":[ + "lauerz.ch" + ], + "guess":[ + "lauerz.ch" + ] + }, + "resolve_flags":[] }, "1366":{ "bfs":"1366", "name":"Morschach", - "canton":"", + "canton":"Kanton Schwyz", "domain":"morschach.ch", "mx":[ "mr01a.rzeins.ch", @@ -11148,15 +37966,27 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "morschach.ch" + ], + "redirect":[], + "wikidata":[ + "morschach.ch" + ], + "guess":[ + "morschach.ch" + ] + }, + "resolve_flags":[] }, "1367":{ "bfs":"1367", "name":"Muotathal", - "canton":"", + "canton":"Kanton Schwyz", "domain":"muotathal.ch", "mx":[ "mr01a.rzeins.ch", @@ -11164,15 +37994,32 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muotathal.ch" + ], + "guess":[ + "muotathal.ch" + ] + }, + "resolve_flags":[] }, "1368":{ "bfs":"1368", "name":"Oberiberg", - "canton":"", + "canton":"Kanton Schwyz", "domain":"oberiberg.ch", "mx":[ "mr01a.rzeins.ch", @@ -11180,33 +38027,54 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "oberiberg.ch" + ], + "redirect":[], + "wikidata":[ + "oberiberg.ch" + ], + "guess":[ + "oberiberg.ch" + ] + }, + "resolve_flags":[] }, "1369":{ "bfs":"1369", "name":"Riemenstalden", - "canton":"", + "canton":"Kanton Schwyz", "domain":"riemenstalden.ch", "mx":[ "mail.riemenstalden.ch" ], "spf":"v=spf1 include:spf.mail.webland.ch include:_spf.blk.ymc.swiss -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mail.webland.ch include:_spf.blk.ymc.swiss -all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 25563 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.riemenstalden.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "riemenstalden.ch" + ], + "redirect":[], + "wikidata":[ + "riemenstalden.ch" + ], + "guess":[ + "riemenstalden.ch" + ] + }, + "resolve_flags":[] }, "1370":{ "bfs":"1370", "name":"Rothenthurm", - "canton":"", + "canton":"Kanton Schwyz", "domain":"rothenthurm.ch", "mx":[ "mr01a.rzeins.ch", @@ -11214,15 +38082,25 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rothenthurm.ch" + ], + "guess":[ + "rothenthurm.ch" + ] + }, + "resolve_flags":[] }, "1371":{ "bfs":"1371", "name":"Sattel", - "canton":"", + "canton":"Kanton Schwyz", "domain":"sattel.ch", "mx":[ "mr01a.rzeins.ch", @@ -11230,15 +38108,34 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "sattel.ch" + ], + "redirect":[], + "wikidata":[ + "sattel.ch" + ], + "guess":[ + "sattel.ch" + ] + }, + "resolve_flags":[] }, "1372":{ "bfs":"1372", "name":"Schwyz", - "canton":"", + "canton":"Kanton Schwyz", "domain":"gemeindeschwyz.ch", "mx":[ "mr01a.rzeins.ch", @@ -11246,15 +38143,34 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "gemeindeschwyz.ch" + ], + "redirect":[], + "wikidata":[ + "gemeindeschwyz.ch" + ], + "guess":[ + "schwyz.ch" + ] + }, + "resolve_flags":[] }, "1373":{ "bfs":"1373", "name":"Steinen", - "canton":"", + "canton":"Kanton Schwyz", "domain":"steinen.ch", "mx":[ "mr01a.rzeins.ch", @@ -11262,15 +38178,34 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "steinen.ch" + ], + "redirect":[], + "wikidata":[ + "steinen.ch" + ], + "guess":[ + "steinen.ch" + ] + }, + "resolve_flags":[] }, "1374":{ "bfs":"1374", "name":"Steinerberg", - "canton":"", + "canton":"Kanton Schwyz", "domain":"steinerberg.ch", "mx":[ "mr01a.rzeins.ch", @@ -11278,15 +38213,25 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "steinerberg.ch" + ], + "guess":[ + "steinerberg.ch" + ] + }, + "resolve_flags":[] }, "1375":{ "bfs":"1375", "name":"Unteriberg", - "canton":"", + "canton":"Kanton Schwyz", "domain":"unteriberg.ch", "mx":[ "mr01a.rzeins.ch", @@ -11294,31 +38239,66 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 33965, - 41872 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "unteriberg.ch" + ], + "guess":[ + "unteriberg.ch" + ] + }, + "resolve_flags":[] }, "1401":{ "bfs":"1401", "name":"Alpnach", "canton":"Kanton Obwalden", - "domain":"alpnach.ch", + "domain":"alpnach.ow.ch", "mx":[ "ktvmx01.mail.admin.ch", "ktvmx02.mail.admin.ch", "ktvmx03.mail.admin.ch", "ktvmx04.mail.admin.ch" ], - "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", + "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "alpnach.ow.ch" + ], + "redirect":[], + "wikidata":[ + "alpnach.ch" + ], + "guess":[ + "alpnach.ch", + "alpnach.ow.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "1402":{ "bfs":"1402", @@ -11330,13 +38310,96 @@ ], "spf":"v=spf1 a mx a:mx.cmd.activeguard.cloud include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mx.cmd.activeguard.cloud include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gdeengelberg-ch0i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gde-engelberg.ch" + ], + "redirect":[], + "wikidata":[ + "gde-engelberg.ch" + ], + "guess":[ + "engelberg.ch", + "engelberg.ow.ch" + ] + }, + "resolve_flags":[] }, "1403":{ "bfs":"1403", @@ -11351,26 +38414,78 @@ ], "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "giswil.ow.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "giswil.ow.ch" + ] + }, + "resolve_flags":[] }, "1404":{ "bfs":"1404", "name":"Kerns", "canton":"Kanton Obwalden", - "domain":"kerns.ch", + "domain":"kerns.ow.ch", "mx":[ - "mail.kerns.ch" + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "spf":"", - "provider":"swiss-isp", - "mx_asns":[ - 3303 + "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kerns.ow.ch" + ], + "redirect":[], + "wikidata":[ + "kerns.ch" + ], + "guess":[ + "kerns.ch", + "kerns.ow.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "1405":{ @@ -11386,13 +38501,36 @@ ], "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lungern.ch" + ], + "redirect":[], + "wikidata":[ + "lungern.ch" + ], + "guess":[ + "lungern.ch", + "lungern.ow.ch" + ] + }, + "resolve_flags":[] }, "1406":{ "bfs":"1406", @@ -11407,13 +38545,33 @@ ], "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sachseln.ow.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "sachseln.ow.ch" + ] + }, + "resolve_flags":[] }, "1407":{ "bfs":"1407", @@ -11428,31 +38586,78 @@ ], "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sarnen.ch" + ], + "redirect":[], + "wikidata":[ + "sarnen.ch" + ], + "guess":[ + "sarnen.ch", + "sarnen.ow.ch" + ] + }, + "resolve_flags":[] }, "1501":{ "bfs":"1501", "name":"Beckenried", "canton":"Kanton Nidwalden", - "domain":"beckenried.ch", + "domain":"gv.beckenried.ch", "mx":[ - "mail.beckenried.ch" - ], - "spf":"v=spf1 ip4:185.7.213.20 a:smtp.beckenried.ch include:spf.hostfactory.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 a:smtp.beckenried.ch include:spf.hostfactory.ch include:spf.protection.outlook.com -all v=spf1 ip4:185.117.170.1 ip4:185.117.170.2 ip4:217.150.252.154 ip4:217.150.252.155 ip4:185.16.174.135 ip4:185.16.174.139 ip4:185.117.169.5 ip4:185.117.168.45 ip4:185.117.169.100 ip4:185.117.168.143 ip4:185.117.168.144 ip4:185.117.168.141 ip4:185.117.168.142 ip4:185.117.170.5 ip4:185.117.170.6 ip4:185.117.170.3 ip4:185.117.170.4 ip4:185.117.170.7 ip4:185.117.170.8 ip4:185.117.168.252 ip4:185.117.168.253 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 200713 + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gv.beckenried.ch" + ] + }, + "resolve_flags":[] }, "1502":{ "bfs":"1502", @@ -11465,33 +38670,91 @@ "ktvmx03.mail.admin.ch", "ktvmx04.mail.admin.ch" ], - "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buochs.ch" + ], + "redirect":[], + "wikidata":[ + "buochs.ch" + ], + "guess":[ + "buochs.ch" + ] + }, + "resolve_flags":[] }, "1503":{ "bfs":"1503", "name":"Dallenwil", "canton":"Kanton Nidwalden", - "domain":"dallenwil.ch", + "domain":"nw.ch", "mx":[ - "dallenwil-ch.mail.protection.outlook.com" + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", + "spf":"v=spf1 ip4:185.7.213.20 ip4:62.12.130.234 a:smtp.trainingplus.ch include:_spfgroupa.admin.ch include:_spf.tivian.com include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "nw.ch" + ] + }, + "resolve_flags":[] }, "1504":{ "bfs":"1504", @@ -11505,11 +38768,42 @@ "ktvmx04.mail.admin.ch" ], "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "emmetten.ch" + ], + "redirect":[], + "wikidata":[ + "emmetten.ch" + ], + "guess":[ + "emmetten.ch" + ] + }, + "resolve_flags":[] }, "1505":{ "bfs":"1505", @@ -11524,13 +38818,35 @@ ], "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ennetbuergen.ch" + ], + "redirect":[], + "wikidata":[ + "ennetbuergen.ch" + ], + "guess":[ + "ennetbuergen.ch" + ] + }, + "resolve_flags":[] }, "1506":{ "bfs":"1506", @@ -11545,17 +38861,39 @@ ], "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ennetmoos.ch" + ], + "redirect":[], + "wikidata":[ + "ennetmoos.ch" + ], + "guess":[ + "ennetmoos.ch" + ] + }, + "resolve_flags":[] }, "1507":{ "bfs":"1507", - "name":"Hergiswil", + "name":"Hergiswil (NW)", "canton":"Kanton Nidwalden", "domain":"hergiswil.ch", "mx":[ @@ -11565,18 +38903,47 @@ "ktvmx04.mail.admin.ch" ], "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hergiswil.ch" + ], + "redirect":[], + "wikidata":[ + "hergiswil.ch" + ], + "guess":[ + "gemeinde-hergiswil.ch", + "hergiswil.ch" + ] + }, + "resolve_flags":[] }, "1508":{ "bfs":"1508", - "name":"Oberdorf NW", + "name":"Oberdorf (NW)", "canton":"Kanton Nidwalden", "domain":"nw.ch", "mx":[ @@ -11586,33 +38953,92 @@ "ktvmx04.mail.admin.ch" ], "spf":"v=spf1 ip4:185.7.213.20 ip4:62.12.130.234 a:smtp.trainingplus.ch include:_spfgroupa.admin.ch include:_spf.tivian.com include:_spf.i-web.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 ip4:62.12.130.234 a:smtp.trainingplus.ch include:_spfgroupa.admin.ch include:_spf.tivian.com include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:91.217.141.0/24 ip4:87.79.30.0/25 ip4:193.66.190.13 ip4:89.250.60.42 ip4:5.250.160.26 ip4:89.250.48.136 ip4:194.116.128.11 ip4:82.147.60.210 ip4:169.51.68.39 ip4:169.61.69.9 ip4:50.31.156.96/27 ip4:104.245.209.192/26 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "nw.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "oberdorf.ch" + ] + }, + "resolve_flags":[] }, "1509":{ "bfs":"1509", "name":"Stans", "canton":"Kanton Nidwalden", - "domain":"stans.ch", + "domain":"stans.nw.ch", "mx":[ - "mailgate1.admin.ch", - "mailgate2.admin.ch" - ], - "spf":"v=spf1 ip4:162.23.32.11 ip4:162.23.32.12 ip4:162.23.32.13 ip4:162.23.32.14 ip4:162.23.32.19 ip4:162.23.32.21 ip4:162.23.32.22 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_spf.i-web.ch ~all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:162.23.32.11 ip4:162.23.32.12 ip4:162.23.32.13 ip4:162.23.32.14 ip4:162.23.32.19 ip4:162.23.32.21 ip4:162.23.32.22 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_spf.i-web.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 33845 + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:_spf.talus.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stans.nw.ch" + ], + "redirect":[], + "wikidata":[ + "stans.ch" + ], + "guess":[ + "stans.ch", + "stans.nw.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "1510":{ "bfs":"1510", @@ -11625,16 +39051,37 @@ "ktvmx03.mail.admin.ch", "ktvmx04.mail.admin.ch" ], - "spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch ipv4:193.135.56.6 include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch ipv4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.ilz.info", - "autodiscover_srv":"autodiscover.ilz.info" - } + "spf":"v=spf1 include:_spfgroupa.admin.ch ipv4:193.135.56.6 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "stansstad.ch" + ], + "redirect":[], + "wikidata":[ + "stansstad.ch" + ], + "guess":[ + "stansstad.ch" + ] + }, + "resolve_flags":[] }, "1511":{ "bfs":"1511", @@ -11649,13 +39096,35 @@ ], "spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch ~all v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf2.privasphere.com include:spf.weaver.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:185.90.37.63 ip4:185.90.37.64 ip4:185.90.37.65 ip4:185.90.37.107 ip4:185.90.37.108 ip4:185.90.37.132 ip4:185.90.37.247 ip4:185.90.37.249 ip4:185.90.37.250 ip4:185.90.37.253 ip4:185.90.37.251 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ilz.info" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wolfenschiessen.ch" + ], + "redirect":[], + "wikidata":[ + "wolfenschiessen.ch" + ], + "guess":[ + "wolfenschiessen.ch" + ] + }, + "resolve_flags":[] }, "1630":{ "bfs":"1630", @@ -11667,14 +39136,53 @@ "ip18.gl.ch" ], "spf":"v=spf1 include:spf.smtp2go.com include:_spf.i-web.ch include:spf.abacuscity.ch ip4:217.192.170.97 ip4:217.192.170.98 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.smtp2go.com include:_spf.i-web.ch include:spf.abacuscity.ch ip4:217.192.170.97 ip4:217.192.170.98 -all v=spf1 ip4:207.58.147.64/28 ip4:216.22.15.224/27 ip4:43.228.184.0/22 ip4:103.47.204.0/22 ip4:103.2.140.0/22 ip4:203.31.36.0/22 ip4:170.10.68.0/22 ip4:158.120.80.0/21 ip4:66.235.120.0/21 ip4:194.195.251.175 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.gl.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "glarus-nord.ch" + ], + "guess":[ + "glarus-nord.ch", + "glarusnord.ch" + ] + }, + "resolve_flags":[] }, "1631":{ "bfs":"1631", @@ -11686,14 +39194,52 @@ "ip18.gl.ch" ], "spf":"v=spf1 include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.smtp2go.com include:spf.nl2go.com ip4:193.135.56.6 ip4:217.192.170.97 ip4:217.192.170.98 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.smtp2go.com include:spf.nl2go.com ip4:193.135.56.6 ip4:217.192.170.97 ip4:217.192.170.98 -all v=spf1 ip4:91.208.173.0/24 ip4:91.212.152.0/24 ip4:195.141.89.0/24 ip4:185.188.196.0/24 ip4:83.145.109.0/24 ip4:31.172.161.0/24 ip4:80.83.63.195/32 ip4:80.83.63.196/32 a:outbound.appriver.com ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:207.58.147.64/28 ip4:216.22.15.224/27 ip4:43.228.184.0/22 ip4:103.47.204.0/22 ip4:103.2.140.0/22 ip4:203.31.36.0/22 ip4:170.10.68.0/22 ip4:158.120.80.0/21 ip4:66.235.120.0/21 ip4:194.195.251.175 ~all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.gl.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "glarus-sued.ch" + ], + "guess":[ + "glarus-sued.ch" + ] + }, + "resolve_flags":[] }, "1632":{ "bfs":"1632", @@ -11705,14 +39251,52 @@ "ip18.gl.ch" ], "spf":"v=spf1 include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.smtp2go.com ip4:217.192.170.97 ip4:217.192.170.98 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.smtp2go.com ip4:217.192.170.97 ip4:217.192.170.98 -all v=spf1 ip4:91.208.173.0/24 ip4:91.212.152.0/24 ip4:195.141.89.0/24 ip4:185.188.196.0/24 ip4:83.145.109.0/24 ip4:31.172.161.0/24 ip4:80.83.63.195/32 ip4:80.83.63.196/32 a:outbound.appriver.com ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:207.58.147.64/28 ip4:216.22.15.224/27 ip4:43.228.184.0/22 ip4:103.47.204.0/22 ip4:103.2.140.0/22 ip4:203.31.36.0/22 ip4:170.10.68.0/22 ip4:158.120.80.0/21 ip4:66.235.120.0/21 ip4:194.195.251.175 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.gl.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "glarus.ch" + ], + "guess":[ + "glarus.ch" + ] + }, + "resolve_flags":[] }, "1701":{ "bfs":"1701", @@ -11720,16 +39304,46 @@ "canton":"Kanton Zug", "domain":"baar.ch", "mx":[ - "mail.zg.ch", "mail1.zg.ch", "mail2.zg.ch" ], "spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.protection.outlook.com include:spf.zg.ch include:_spf.i-web.ch include:privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.protection.outlook.com include:spf.zg.ch include:_spf.i-web.ch include:privasphere.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx:zg.ch mx:admin.ch/24 mx:ag.ch/24 ip6:2a10:8244:4:600::/64 ip4:193.134.14.50/32 v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:spf.privasphere.com ip4:83.150.2.35/32 ip4:83.150.7.191/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "baar.ch" + ], + "redirect":[], + "wikidata":[ + "baar.ch" + ], + "guess":[ + "baar.ch" + ] + }, + "resolve_flags":[] }, "1702":{ "bfs":"1702", @@ -11737,48 +39351,114 @@ "canton":"Kanton Zug", "domain":"cham.ch", "mx":[ - "mail.zg.ch", "mail1.zg.ch", "mail2.zg.ch" ], "spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all v=spf1 mx:zg.ch mx:admin.ch/24 mx:ag.ch/24 ip6:2a10:8244:4:600::/64 ip4:193.134.14.50/32 v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.privasphere.com ip4:83.150.2.35/32 ip4:83.150.7.191/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "cham.ch" + ], + "redirect":[], + "wikidata":[ + "cham.ch" + ], + "guess":[ + "cham.ch" + ] + }, + "resolve_flags":[] }, "1703":{ "bfs":"1703", "name":"Hünenberg", "canton":"Kanton Zug", - "domain":"zg.ch", + "domain":"huenenberg.ch", "mx":[ "mail1.zg.ch", "mail2.zg.ch" ], - "spf":"v=spf1 mx ip6:2a10:8244:1000:1800::5001/128 ip6:2a10:8244:1000:1800::5002/128 ip6:2a10:8244:4:600::/64 ip4:159.144.81.1 ip4:159.144.81.2 ip4:193.134.14.50/32 include:spf.secemail.ch include:spf.protection.outlook.com include:spf.privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip6:2a10:8244:1000:1800::5001/128 ip6:2a10:8244:1000:1800::5002/128 ip6:2a10:8244:4:600::/64 ip4:159.144.81.1 ip4:159.144.81.2 ip4:193.134.14.50/32 include:spf.secemail.ch include:spf.protection.outlook.com include:spf.privasphere.com -all v=spf1 ip4:159.144.36.106 ip4:159.144.218.143 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "spf":"v=spf1 include:_spf.i-web.ch include:spf.zg.ch include:_spf.senders.scnem.com include:_spf.tophost.ch a ip4:94.130.72.240 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "huenenberg.ch" + ] + }, + "resolve_flags":[] }, "1704":{ "bfs":"1704", "name":"Menzingen", "canton":"Kanton Zug", - "domain":"zg.ch", + "domain":"menzingen.ch", "mx":[ "mail1.zg.ch", "mail2.zg.ch" ], - "spf":"v=spf1 mx ip6:2a10:8244:1000:1800::5001/128 ip6:2a10:8244:1000:1800::5002/128 ip6:2a10:8244:4:600::/64 ip4:159.144.81.1 ip4:159.144.81.2 ip4:193.134.14.50/32 include:spf.secemail.ch include:spf.protection.outlook.com include:spf.privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip6:2a10:8244:1000:1800::5001/128 ip6:2a10:8244:1000:1800::5002/128 ip6:2a10:8244:4:600::/64 ip4:159.144.81.1 ip4:159.144.81.2 ip4:193.134.14.50/32 include:spf.secemail.ch include:spf.protection.outlook.com include:spf.privasphere.com -all v=spf1 ip4:159.144.36.106 ip4:159.144.218.143 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "spf":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "override":[ + "menzingen.ch" + ] + }, + "resolve_flags":[] }, "1705":{ "bfs":"1705", @@ -11786,16 +39466,40 @@ "canton":"Kanton Zug", "domain":"neuheim.ch", "mx":[ - "mail.zg.ch", "mail1.zg.ch", "mail2.zg.ch" ], "spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all v=spf1 mx:zg.ch mx:admin.ch/24 mx:ag.ch/24 ip6:2a10:8244:4:600::/64 ip4:193.134.14.50/32 v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.privasphere.com ip4:83.150.2.35/32 ip4:83.150.7.191/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "neuheim.ch" + ], + "redirect":[], + "wikidata":[ + "neuheim.ch" + ], + "guess":[ + "neuheim.ch" + ] + }, + "resolve_flags":[] }, "1706":{ "bfs":"1706", @@ -11807,27 +39511,64 @@ "mail2.zg.ch" ], "spf":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.server-he.de -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.server-he.de -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:80.237.130.0/24 ip4:80.237.132.0/23 ip4:80.237.137.0/24 ip4:80.237.138.0/24 ip4:83.169.24.0/21 ip4:87.230.40.0/21 ip4:87.230.60.0/22 ip4:87.230.104.0/22 ip4:91.250.64.0/21 include:spfb.server-he.de -all v=spf1 ip4:5.35.225.0/24 ip4:5.35.226.0/24 ip4:5.35.232.0/22 ip4:5.175.14.0/24 ip4:176.28.32.0/21 ip4:178.77.80.0/21 include:spfc.server-he.de include:secureserver.net -all v=spf1 ip4:178.77.104.0/21 ip4:92.51.170.64/27 ip4:178.77.112.0/21 ip4:80.67.16.0/20 ip4:134.119.228.0/19 ip6:2a00:1158:400:1::/120 ip6:2a01:488::/32 ip4:91.216.90.0/24 -all v=spf1 include:spf-0.secureserver.net -all v=spf1 ip4:64.202.168.0/24 ip4:97.74.135.0/24 ip4:72.167.238.0/24 ip4:72.167.234.0/24 ip4:72.167.218.0/24 ip4:68.178.252.0/24 ip4:68.178.213.0/24 ip4:216.69.139.0/24 ip4:208.109.80.0/24 ip4:92.204.81.0/24 ip4:198.71.224.0/19 ip4:184.168.224.0/24 ip4:184.168.200.0/24 ip4:184.168.131.0/24 ip4:184.168.128.0/24 ip4:92.204.65.0/28 ip4:182.50.132.0/24 ip4:173.201.192.0/23 ip4:72.167.168.0/24 ip4:92.204.71.0/24 ip4:132.148.124.0/24 ip4:72.167.172.0/24 ip4:188.121.52.0/24 ip4:188.121.53.0/24 ip4:52.89.65.132 ip4:54.214.222.76 ip4:54.184.82.65 ip4:52.26.164.15 ip4:68.178.181.0/24 ip4:50.63.8.0/22 ip4:208.109.194.0/24 ip4:80.237.138.192/26 include:spf.protection.outlook.com -all", - "mx_asns":[ - 51907 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "oberaegeri.ch" + ], + "redirect":[], + "wikidata":[ + "oberaegeri.ch" + ], + "guess":[ + "oberaegeri.ch" + ] + }, + "resolve_flags":[] }, "1707":{ "bfs":"1707", "name":"Risch", "canton":"Kanton Zug", - "domain":"zg.ch", + "domain":"rischrotkreuz.ch", "mx":[ "mail1.zg.ch", "mail2.zg.ch" ], - "spf":"v=spf1 mx ip6:2a10:8244:1000:1800::5001/128 ip6:2a10:8244:1000:1800::5002/128 ip6:2a10:8244:4:600::/64 ip4:159.144.81.1 ip4:159.144.81.2 ip4:193.134.14.50/32 include:spf.secemail.ch include:spf.protection.outlook.com include:spf.privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip6:2a10:8244:1000:1800::5001/128 ip6:2a10:8244:1000:1800::5002/128 ip6:2a10:8244:4:600::/64 ip4:159.144.81.1 ip4:159.144.81.2 ip4:193.134.14.50/32 include:spf.secemail.ch include:spf.protection.outlook.com include:spf.privasphere.com -all v=spf1 ip4:159.144.36.106 ip4:159.144.218.143 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "spf":"v=spf1 a mx include:spf.taginet.com ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "override":[ + "rischrotkreuz.ch" + ] + }, + "resolve_flags":[] }, "1708":{ "bfs":"1708", @@ -11835,16 +39576,33 @@ "canton":"Kanton Zug", "domain":"steinhausen.ch", "mx":[ - "mail.zg.ch", "mail1.zg.ch", "mail2.zg.ch" ], "spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 ip4:193.134.13.61 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 ip4:193.134.13.61 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all v=spf1 mx:zg.ch mx:admin.ch/24 mx:ag.ch/24 ip6:2a10:8244:4:600::/64 ip4:193.134.14.50/32 v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.privasphere.com ip4:83.150.2.35/32 ip4:83.150.7.191/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "override":[ + "steinhausen.ch" + ] + }, + "resolve_flags":[] }, "1709":{ "bfs":"1709", @@ -11857,10 +39615,35 @@ ], "spf":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:_spf.i-web.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 51907 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "unteraegeri.ch" + ], + "redirect":[], + "wikidata":[ + "unteraegeri.ch" + ], + "guess":[ + "unteraegeri.ch" + ] + }, + "resolve_flags":[] }, "1710":{ "bfs":"1710", @@ -11873,10 +39656,29 @@ ], "spf":"v=spf1 a:mail.zg.ch a:mail1.zg.ch a:mail2.zg.ch ip4:193.134.12.15 ip4:193.134.26.182 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 ip4:193.134.26.181 include:spf.zg.ch include:privasphere.com -all", "provider":"independent", - "spf_resolved":"v=spf1 a:mail.zg.ch a:mail1.zg.ch a:mail2.zg.ch ip4:193.134.12.15 ip4:193.134.26.182 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 ip4:193.134.26.181 include:spf.zg.ch include:privasphere.com -all v=spf1 mx:zg.ch mx:admin.ch/24 mx:ag.ch/24 ip6:2a10:8244:4:600::/64 ip4:193.134.14.50/32 v=spf1 include:spf.privasphere.com ip4:83.150.2.35/32 ip4:83.150.7.191/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "walchwil.ch" + ], + "redirect":[], + "wikidata":[ + "walchwil.ch" + ], + "guess":[ + "walchwil.ch" + ] + }, + "resolve_flags":[] }, "1711":{ "bfs":"1711", @@ -11884,73 +39686,208 @@ "canton":"Kanton Zug", "domain":"stadtzug.ch", "mx":[ - "mail.zg.ch", "mail1.zg.ch", "mail2.zg.ch" ], "spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 ip4:193.134.13.61 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf.zg.ch include:_spf.senders.scnem.com include:privasphere.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 ip4:193.134.13.61 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf.zg.ch include:_spf.senders.scnem.com include:privasphere.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx:zg.ch mx:admin.ch/24 mx:ag.ch/24 ip6:2a10:8244:4:600::/64 ip4:193.134.14.50/32 v=spf1 ip4:80.190.118.0/24 ip4:80.190.129.128/25 ip4:80.190.157.128/25 -all v=spf1 include:spf.privasphere.com ip4:83.150.2.35/32 ip4:83.150.7.191/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 51907 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "stadtzug.ch" + ], + "redirect":[], + "wikidata":[ + "stadtzug.ch" + ], + "guess":[ + "zug.ch" + ] + }, + "resolve_flags":[] }, "2008":{ "bfs":"2008", - "name":"Châtillon", - "canton":"", + "name":"Châtillon (FR)", + "canton":"Kanton Freiburg", "domain":"chatillon-broye.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chatillon-broye.ch" + ], + "redirect":[], + "wikidata":[ + "chatillon-broye.ch" + ], + "guess":[ + "chatillon.ch" + ] + }, + "resolve_flags":[] }, "2011":{ "bfs":"2011", - "name":"Cugy", - "canton":"", - "domain":"cugy-fr.ch", + "name":"Cugy (FR)", + "canton":"Kanton Freiburg", + "domain":"hemmer.ch", "mx":[ "mx1.spamvor.com", "mx2.spamvor.com" ], - "spf":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 +mx +a -all", + "spf":"v=spf1 include:_spf.ch-dns.net ip4:185.151.164.55 +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], "gateway":"spamvor", - "mx_asns":[ - 29222 + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "cugy-fr.ch" + ], + "guess":[ + "cugy.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2022":{ "bfs":"2022", "name":"Gletterens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"gletterens.ch", "mx":[ "gletterens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gletterens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gletterens.ch" + ], + "guess":[ + "gletterens.ch" + ] + }, + "resolve_flags":[] }, "2025":{ "bfs":"2025", - "name":"Lully FR", + "name":"Lully (FR)", "canton":"Kanton Freiburg", "domain":"lully-fr.ch", "mx":[ @@ -11958,86 +39895,361 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lullyfr-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "lully-fr.ch" + ], + "redirect":[], + "wikidata":[ + "lully-fr.ch" + ], + "guess":[ + "lully.ch" + ] + }, + "resolve_flags":[] }, "2029":{ "bfs":"2029", - "name":"Montagny", - "canton":"", + "name":"Montagny (FR)", + "canton":"Kanton Freiburg", "domain":"montagny-fr.ch", "mx":[ "montagnyfr-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:evok.ch include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:evok.ch include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"exchange.evok.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX montagnyfr-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.montagny-fr.ch CNAME → selector1-montagnyfr-ch02b._domainkey.communedemontagnyfr.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.montagny-fr.ch CNAME → selector2-montagnyfr-ch02b._domainkey.communedemontagnyfr.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "montagny-fr.ch" + ], + "redirect":[], + "wikidata":[ + "montagny-fr.ch" + ], + "guess":[ + "montagny.ch" + ] + }, + "resolve_flags":[] }, "2035":{ "bfs":"2035", "name":"Nuvilly", - "canton":"", + "canton":"Kanton Freiburg", "domain":"nuvilly.ch", "mx":[ "nuvilly-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nuvilly-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.nuvilly.ch CNAME → selector1-nuvilly-ch._domainkey.nuvilly.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.nuvilly.ch CNAME → selector2-nuvilly-ch._domainkey.nuvilly.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "nuvilly.ch" + ], + "redirect":[], + "wikidata":[ + "nuvilly.ch" + ], + "guess":[ + "nuvilly.ch" + ] + }, + "resolve_flags":[] }, "2038":{ "bfs":"2038", "name":"Prévondavaux", - "canton":"", + "canton":"Kanton Freiburg", "domain":"prevondavaux.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "prevondavaux.ch" + ], + "guess":[ + "prevondavaux.ch" + ] + }, + "resolve_flags":[] }, "2041":{ "bfs":"2041", - "name":"Saint-Aubin", - "canton":"", - "domain":"st-aubin.ch", + "name":"Saint-Aubin (FR)", + "canton":"Kanton Freiburg", + "domain":"saint-aubin.ch", "mx":[ - "mx1.spamvor.com", - "mx2.spamvor.com" + "mailfilter.evok.ch" ], - "spf":"", - "provider":"independent", - "gateway":"spamvor", - "mx_asns":[ - 29222 + "spf":"v=spf1 a mx ip4:193.108.54.58 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "saint-aubin.ch" + ], + "redirect":[ + "saint-aubin.ch" + ], + "wikidata":[ + "st-aubin.ch" + ], + "guess":[ + "saint-aubin.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2043":{ "bfs":"2043", "name":"Sévaz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"sevaz.ch", "mx":[ "mx1.spamvor.com", @@ -12045,52 +40257,157 @@ ], "spf":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], "gateway":"spamvor", - "mx_asns":[ - 29222 + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "sevaz.ch" + ], + "guess":[ + "sevaz.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2044":{ "bfs":"2044", "name":"Surpierre", - "canton":"", + "canton":"Kanton Freiburg", "domain":"surpierre-fr.ch", "mx":[ "surpierrefr-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX surpierrefr-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "surpierre-fr.ch" + ], + "redirect":[], + "wikidata":[ + "surpierre-fr.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2045":{ "bfs":"2045", "name":"Vallon", - "canton":"", + "canton":"Kanton Freiburg", "domain":"vallon.ch", "mx":[ "mta-gw.infomaniak.ch" ], - "spf":"v=spf1 include:spf.infomaniak.ch ?all", + "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "vallon.ch" + ], + "redirect":[], + "wikidata":[ + "vallon.ch" + ], + "guess":[ + "vallon.ch" + ] + }, + "resolve_flags":[] }, "2050":{ "bfs":"2050", "name":"Les Montets", - "canton":"", + "canton":"Kanton Freiburg", "domain":"les-montets.ch", "mx":[ "mx1.spamvor.com", @@ -12098,29 +40415,60 @@ ], "spf":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], "gateway":"spamvor", - "mx_asns":[ - 29222 + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "les-montets.ch" + ], + "guess":[ + "les-montets.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2051":{ "bfs":"2051", "name":"Delley-Portalban", - "canton":"", + "canton":"Kanton Freiburg", "domain":"delley-portalban.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:evok.ch include:_spf.ch-dns.net -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch include:_spf.ch-dns.net -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "delley-portalban.ch", + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "delley-portalban.ch" + ], + "guess":[ + "delley-portalban.ch" + ] + }, + "resolve_flags":[] }, "2053":{ "bfs":"2053", @@ -12132,116 +40480,318 @@ ], "spf":"v=spf1 a mx include:evok.ch include:_spf.ch-dns.net -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch include:_spf.ch-dns.net -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "belmont-broye.ch" + ], + "redirect":[], + "wikidata":[ + "belmont-broye.ch" + ], + "guess":[ + "belmont-broye.ch" + ] + }, + "resolve_flags":[] }, "2054":{ "bfs":"2054", "name":"Estavayer", - "canton":"", + "canton":"Kanton Freiburg", "domain":"estavayer.ch", "mx":[ "mps.telecomservices.ch" ], "spf":"v=spf1 ip4:94.126.16.46 ip4:84.253.32.226 ip4:94.126.16.47 ip4:94.126.16.48 ip4:212.71.120.144/28 a:mail.estavayer.ch a:mps.telecomservices.ch include:spf.protection.outlook.com include:smtproutes.com include:smtpout.com include:_spf.ch-dns.net include:spf.brevo.com mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:94.126.16.46 ip4:84.253.32.226 ip4:94.126.16.47 ip4:94.126.16.48 ip4:212.71.120.144/28 a:mail.estavayer.ch a:mps.telecomservices.ch include:spf.protection.outlook.com include:smtproutes.com include:smtpout.com include:_spf.ch-dns.net include:spf.brevo.com mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 redirect=spf.mtaroutes.com v=spf1 redirect=spf.mtaroutes.com v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 include:spf.antispamcloud.com -all v=spf1 ip4:130.117.251.9 ip4:130.117.251.10 ip6:2001:978:2:6::20:10 ip6:2001:978:2:6::20:a ip4:94.75.244.176/27 ip4:94.75.192.139/27 ip4:95.211.2.195/26 ip4:95.211.2.198/26 ip4:95.211.2.199/26 ip4:95.211.2.201/26 ip4:95.211.2.202/26 ip4:95.211.2.204/26 ip4:94.75.244.183/27 ip4:94.75.244.184/27 ip6:2001:1af8:4400:a047:6::1 ip4:37.58.58.55/27 ip4:199.115.117.7/27 ip4:199.115.117.10/27 ip4:199.115.117.11/27 ip6:2604:9a00:2010:a024:21::1 ip4:185.201.16.0/22 ip4:192.69.18.0/24 ip4:208.70.90.0/24 ip4:45.91.121.0/24 ip4:45.93.148.0/24 ip4:45.131.180.0/24 ip4:45.140.132.0/24 ip4:193.41.32.0/24 ip4:185.225.27.0/24 ip4:80.91.219.0/24 ip4:188.190.113.0/24 ip4:45.147.95.0/24 ip4:46.229.240.0/24 ip4:87.236.163.0/24 ip4:188.190.112.0/24 ip4:192.69.19.0/24 ip4:208.70.91.0/24 ip4:185.209.51.0/24 ip4:185.218.226.0/24 -all", - "mx_asns":[ - 43800 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "estavayer.ch" + ], + "guess":[ + "estavayer.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2055":{ "bfs":"2055", "name":"Cheyres-Châbles", - "canton":"", + "canton":"Kanton Freiburg", "domain":"cheyres-chables.ch", "mx":[ "cheyreschables-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cheyreschables-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cheyres-chables.ch CNAME → selector1-cheyreschables-ch01i._domainkey.cheyreschablesfr.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cheyres-chables.ch CNAME → selector2-cheyreschables-ch01i._domainkey.cheyreschablesfr.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cheyres-chables.ch" + ], + "redirect":[], + "wikidata":[ + "cheyres-chables.ch" + ], + "guess":[ + "cheyres-chables.ch" + ] + }, + "resolve_flags":[] }, "2056":{ "bfs":"2056", "name":"Fétigny-Ménières", "canton":"Kanton Freiburg", "domain":"fetigny-menieres.ch", - "mx":[], - "spf":"", - "provider":"microsoft" - }, - "2061":{ - "bfs":"2061", - "name":"Auboranges", - "canton":"", - "domain":"auboranges.ch", "mx":[ - "auboranges-ch.mail.protection.outlook.com" + "fetignymenieres-ch01i.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", + "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fetignymenieres-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "fetigny-menieres.ch" + ] + }, + "resolve_flags":[] }, "2063":{ "bfs":"2063", "name":"Billens-Hennens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"billens-hennens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } - }, - "2066":{ - "bfs":"2066", - "name":"Chapelle", - "canton":"Kanton Freiburg", - "domain":"chapelle.ch", - "mx":[ - "chapelle-ch.mail.protection.outlook.com" - ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "billens-hennens.ch" + ], + "guess":[ + "billens-hennens.ch" + ] + }, + "resolve_flags":[] }, "2067":{ "bfs":"2067", - "name":"Le Châtelard FR", + "name":"Le Châtelard", "canton":"Kanton Freiburg", "domain":"le-chatelard.ch", "mx":[ @@ -12249,13 +40799,71 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lechatelard-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "le-chatelard.ch" + ], + "redirect":[], + "wikidata":[ + "le-chatelard.ch" + ], + "guess":[ + "le-chatelard.ch" + ] + }, + "resolve_flags":[] }, "2068":{ "bfs":"2068", @@ -12267,226 +40875,815 @@ ], "spf":"v=spf1 a mx include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } - }, - "2072":{ - "bfs":"2072", - "name":"Ecublens", - "canton":"Kanton Freiburg", - "domain":"ecublens.ch", - "mx":[ - "ecublens-ch.mail.protection.outlook.com" - ], - "spf":"v=spf1 ip4:62.2.153.110 include:spf.ganesh-hosting.ch include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mailjet.com include:spf-eu.emailsignatures365.com a:c.spf.service-now.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:62.2.153.110 include:spf.ganesh-hosting.ch include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mailjet.com include:spf-eu.emailsignatures365.com a:c.spf.service-now.com -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:13.74.137.176 ip4:52.138.216.130 ip4:40.114.221.220 ip4:40.113.3.253 ip4:23.100.56.64 ip4:137.116.240.241 ip4:13.74.144.83 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chatonnaye-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chatonnaye.ch" + ], + "redirect":[], + "wikidata":[ + "chatonnaye.ch" + ], + "guess":[ + "chatonnaye.ch" + ] + }, + "resolve_flags":[] }, "2079":{ "bfs":"2079", "name":"Grangettes", - "canton":"", + "canton":"Kanton Freiburg", "domain":"grangettes-pres-romont.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "grangettes-pres-romont.ch" + ], + "redirect":[], + "wikidata":[ + "grangettes-pres-romont.ch" + ], + "guess":[ + "grangettes.ch" + ] + }, + "resolve_flags":[] }, "2086":{ "bfs":"2086", "name":"Massonnens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"massonnens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "massonnens.ch" + ], + "redirect":[], + "wikidata":[ + "massonnens.ch" + ], + "guess":[ + "massonnens.ch" + ] + }, + "resolve_flags":[] }, "2087":{ "bfs":"2087", - "name":"Mézières", - "canton":"", - "domain":"mezieres-fr.ch", - "mx":[ - "mezieresfr-ch02b.mail.protection.outlook.com" - ], - "spf":"v=spf1 include:spf.protection.outlook.com mx a a:mail.senselan.ch a:mailcustom.infosynergie.ch -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com mx a a:mail.senselan.ch a:mailcustom.infosynergie.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } - }, - "2089":{ - "bfs":"2089", - "name":"Montet", - "canton":"", - "domain":"montet.ch", + "name":"Mézières (FR)", + "canton":"Kanton Freiburg", + "domain":"mezieres-fr.ch", "mx":[ - "mail.montet.ch" - ], - "spf":"v=spf1 include:spf.mail.webland.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mail.webland.ch -all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all", - "mx_asns":[ - 25563 + "mezieresfr-ch02b.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.montet.ch" - } + "spf":"v=spf1 include:spf.protection.outlook.com mx a a:mail.senselan.ch a:mailcustom.infosynergie.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mezieresfr-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mezieres-fr.ch", + "romontregion.ch", + "sante-glane.ch", + "torny2025.ch" + ], + "redirect":[], + "wikidata":[ + "mezieres-fr.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2096":{ "bfs":"2096", - "name":"Romont", - "canton":"", + "name":"Romont (FR)", + "canton":"Kanton Freiburg", "domain":"romont.ch", "mx":[ "romont-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.62.202.194 ip4:46.16.202.90 include:spf.infomaniak.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.202.194 ip4:46.16.202.90 include:spf.infomaniak.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX romont-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "romont.ch" + ], + "redirect":[], + "wikidata":[ + "romont.ch" + ], + "guess":[ + "romont.ch" + ] + }, + "resolve_flags":[] }, "2097":{ "bfs":"2097", "name":"Rue", - "canton":"", + "canton":"Kanton Freiburg", "domain":"rue.ch", "mx":[ "rue-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:212.71.120.144/28 ip4:128.65.195.91/32 include:communederue.roomingit.fr include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ip4:212.71.120.144/28 ip4:128.65.195.91/32 include:communederue.roomingit.fr include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rue-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rue.ch CNAME → selector1-rue-ch._domainkey.communerue.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rue.ch CNAME → selector2-rue-ch._domainkey.communerue.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rue.ch" + ], + "redirect":[], + "wikidata":[ + "rue.ch" + ], + "guess":[ + "rue.ch" + ] + }, + "resolve_flags":[] }, "2099":{ "bfs":"2099", "name":"Siviriez", - "canton":"", + "canton":"Kanton Freiburg", "domain":"siviriez.ch", "mx":[ "siviriez-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 ip4:212.90.219.210 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 ip4:212.90.219.210 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX siviriez-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.siviriez.ch CNAME → selector1-siviriez-ch._domainkey.siviriez.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.siviriez.ch CNAME → selector2-siviriez-ch._domainkey.siviriez.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "siviriez.ch" + ], + "redirect":[], + "wikidata":[ + "siviriez.ch" + ], + "guess":[ + "siviriez.ch" + ] + }, + "resolve_flags":[] }, "2102":{ "bfs":"2102", "name":"Ursy", - "canton":"", + "canton":"Kanton Freiburg", "domain":"ursy.ch", "mx":[ "ursy-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ursy-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ursy.ch CNAME → selector1-ursy-ch._domainkey.ursyfr.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ursy.ch CNAME → selector2-ursy-ch._domainkey.ursyfr.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ursy.ch" + ], + "redirect":[], + "wikidata":[ + "ursy.ch" + ], + "guess":[ + "ursy.ch" + ] + }, + "resolve_flags":[] }, "2113":{ "bfs":"2113", "name":"Vuisternens-devant-Romont", - "canton":"", + "canton":"Kanton Freiburg", "domain":"vuisternens-devant-romont.ch", "mx":[ "vuisternens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vuisternens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[ + "vuisternens.ch" + ], + "wikidata":[ + "vuisternens-devant-romont.ch" + ], + "guess":[ + "vuisternens-devant-romont.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2114":{ "bfs":"2114", "name":"Villorsonnens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"villorsonnens.ch", "mx":[ "villorsonnens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villorsonnens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "villorsonnens.ch" + ] + }, + "resolve_flags":[] }, "2115":{ "bfs":"2115", "name":"Torny", - "canton":"", + "canton":"Kanton Freiburg", "domain":"torny.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 ip4:80.74.154.186 ip4:80.74.153.24 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 ip4:80.74.154.186 ip4:80.74.153.24 -all v=spf1 ip4:193.33.30.81/32 ip4:193.33.30.87/32 ip4:193.33.30.91/32 ip4:193.33.30.92/32 ip4:193.33.30.124/32 ip4:193.33.30.125/32 ip4:185.122.238.197/32 ip4:185.122.238.201/32 ip4:185.122.238.202/32 include:seppmail.evok.ch -all v=spf1 ip4:193.33.30.89/32 ip4:185.122.238.200/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "torny.ch" + ], + "guess":[ + "torny.ch" + ] + }, + "resolve_flags":[] }, "2117":{ "bfs":"2117", @@ -12498,139 +41695,645 @@ ], "spf":"v=spf1 a mx include:evok.ch include:_spf.i-web.ch a:mailgate2.ti-informatique.com ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch include:_spf.i-web.ch a:mailgate2.ti-informatique.com ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "communevillaz.ch" + ], + "redirect":[], + "wikidata":[ + "communevillaz.ch" + ], + "guess":[ + "villaz.ch" + ] + }, + "resolve_flags":[] }, "2121":{ "bfs":"2121", "name":"Haut-Intyamon", - "canton":"", + "canton":"Kanton Freiburg", "domain":"haut-intyamon.ch", "mx":[ "hautintyamon-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hautintyamon-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "haut-intyamon.ch", + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "haut-intyamon.ch" + ], + "guess":[ + "haut-intyamon.ch" + ] + }, + "resolve_flags":[] }, "2122":{ "bfs":"2122", "name":"Pont-en-Ogoz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"pont-en-ogoz.ch", "mx":[ "pontenogoz-ch01j.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.62.149.214 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.149.214 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pontenogoz-ch01j.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.pont-en-ogoz.ch CNAME → selector1-pontenogoz-ch01j._domainkey.communepeo.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.pont-en-ogoz.ch CNAME → selector2-pontenogoz-ch01j._domainkey.communepeo.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "pont-en-ogoz.ch" + ], + "redirect":[], + "wikidata":[ + "pont-en-ogoz.ch" + ], + "guess":[ + "pont-en-ogoz.ch" + ] + }, + "resolve_flags":[] }, "2123":{ "bfs":"2123", "name":"Botterens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"botterens.ch", "mx":[ "botterens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX botterens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "botterens.ch" + ], + "redirect":[], + "wikidata":[ + "botterens.ch" + ], + "guess":[ + "botterens.ch" + ] + }, + "resolve_flags":[] }, "2124":{ "bfs":"2124", "name":"Broc", - "canton":"", + "canton":"Kanton Freiburg", "domain":"broc.ch", "mx":[ "broc-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX broc-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.broc.ch CNAME → selector1-broc-ch._domainkey.brocch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.broc.ch CNAME → selector2-broc-ch._domainkey.brocch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "broc.ch" + ], + "guess":[ + "broc.ch" + ] + }, + "resolve_flags":[] }, "2125":{ "bfs":"2125", "name":"Bulle", - "canton":"", + "canton":"Kanton Freiburg", "domain":"bulle.ch", "mx":[ "bulle-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch ip4:85.90.3.67 ip4:195.65.10.12 ip4:128.65.195.12 ip4:194.56.218.154 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch ip4:85.90.3.67 ip4:195.65.10.12 ip4:128.65.195.12 ip4:194.56.218.154 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bulle-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bulle.ch CNAME → selector1-bulle-ch._domainkey.communebulle.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bulle.ch CNAME → selector2-bulle-ch._domainkey.communebulle.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bulle.ch" + ], + "guess":[ + "bulle.ch" + ] + }, + "resolve_flags":[] }, "2128":{ "bfs":"2128", "name":"Châtel-sur-Montsalvens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"chatel-montsalvens.ch", "mx":[ "chatelmontsalvens-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chatelmontsalvens-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chatel-montsalvens.ch" + ], + "redirect":[], + "wikidata":[ + "chatel-montsalvens.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2129":{ "bfs":"2129", "name":"Corbières", - "canton":"", + "canton":"Kanton Freiburg", "domain":"corbieres.ch", "mx":[ "corbieres-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corbieres-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corbieres.ch" + ], + "redirect":[], + "wikidata":[ + "corbieres.ch" + ], + "guess":[ + "corbieres.ch" + ] + }, + "resolve_flags":[] }, "2130":{ "bfs":"2130", @@ -12642,143 +42345,552 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.147.132 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.147.132 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cresuz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cresuz.ch" + ], + "redirect":[], + "wikidata":[ + "cresuz.ch" + ], + "guess":[ + "cresuz.ch" + ] + }, + "resolve_flags":[] }, "2131":{ "bfs":"2131", "name":"Echarlens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"echarlens.ch", "mx":[ "echarlens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.google.com include:spf.infomaniak.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.google.com include:spf.infomaniak.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX echarlens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "echarlens.ch" + ], + "redirect":[], + "wikidata":[ + "echarlens.ch" + ], + "guess":[ + "echarlens.ch" + ] + }, + "resolve_flags":[] }, "2134":{ "bfs":"2134", "name":"Grandvillard", - "canton":"", + "canton":"Kanton Freiburg", "domain":"grandvillard.ch", "mx":[ "grandvillard-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.customer.swiss-egov.cloud -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grandvillard-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grandvillard.ch" + ], + "guess":[ + "grandvillard.ch" + ] + }, + "resolve_flags":[] }, "2135":{ "bfs":"2135", - "name":"Greyerz", - "canton":"", + "name":"Gruyères", + "canton":"Kanton Freiburg", "domain":"gruyeres.ch", "mx":[ "gruyeres-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gruyeres-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gruyeres.ch" + ], + "redirect":[], + "wikidata":[ + "gruyeres.ch" + ], + "guess":[ + "gruyeres.ch" + ] + }, + "resolve_flags":[] }, "2137":{ "bfs":"2137", "name":"Hauteville", - "canton":"", + "canton":"Kanton Freiburg", "domain":"hauteville.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "hauteville.ch" + ], + "redirect":[], + "wikidata":[ + "hauteville.ch" + ], + "guess":[ + "hauteville.ch" + ] + }, + "resolve_flags":[] }, "2138":{ "bfs":"2138", "name":"Jaun", - "canton":"", + "canton":"Kanton Freiburg", "domain":"jaun.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "jaun.ch" + ], + "redirect":[], + "wikidata":[ + "jaun.ch" + ], + "guess":[ + "jaun.ch" + ] + }, + "resolve_flags":[] }, "2140":{ "bfs":"2140", "name":"Marsens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"marsens.ch", "mx":[ "mps.telecomservices.ch" ], "spf":"v=spf1 a:email.marsens.ch a:mps.telecomservices.ch ~all", "provider":"independent", - "mx_asns":[ - 43800 - ], - "autodiscover":{ - "autodiscover_cname":"email.marsens.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "marsens.ch" + ], + "redirect":[], + "wikidata":[ + "marsens.ch" + ], + "guess":[ + "marsens.ch" + ] + }, + "resolve_flags":[] }, "2143":{ "bfs":"2143", "name":"Morlon", - "canton":"", + "canton":"Kanton Freiburg", "domain":"morlon.ch", "mx":[ "morlon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX morlon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "morlon.ch" + ], + "redirect":[], + "wikidata":[ + "morlon.ch" + ], + "guess":[ + "morlon.ch" + ] + }, + "resolve_flags":[] }, "2145":{ "bfs":"2145", - "name":"Le Pâquier FR", + "name":"Le Pâquier (FR)", "canton":"Kanton Freiburg", "domain":"lepaquier.ch", "mx":[ @@ -12786,17 +42898,79 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lepaquier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lepaquier.ch" + ], + "guess":[ + "lepaquier.ch" + ] + }, + "resolve_flags":[] }, "2147":{ "bfs":"2147", - "name":"Pont-la-Ville FR", + "name":"Pont-la-Ville", "canton":"Kanton Freiburg", "domain":"pont-la-ville.ch", "mx":[ @@ -12804,49 +42978,206 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "pont-la-ville.ch" + ], + "redirect":[], + "wikidata":[ + "pont-la-ville.ch" + ], + "guess":[ + "pont-la-ville.ch" + ] + }, + "resolve_flags":[] }, "2148":{ "bfs":"2148", "name":"Riaz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"riaz.ch", "mx":[ "riaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX riaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "riaz.ch" + ], + "redirect":[], + "wikidata":[ + "riaz.ch" + ], + "guess":[ + "riaz.ch" + ] + }, + "resolve_flags":[] }, "2149":{ "bfs":"2149", "name":"La Roche", - "canton":"", + "canton":"Kanton Freiburg", "domain":"la-roche.ch", "mx":[ "laroche-ch0e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laroche-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "la-roche.ch" + ], + "redirect":[], + "wikidata":[ + "la-roche.ch" + ], + "guess":[ + "la-roche.ch", + "laroche.ch" + ] + }, + "resolve_flags":[] }, "2152":{ "bfs":"2152", @@ -12858,90 +43189,418 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sales-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sales.ch" + ], + "redirect":[], + "wikidata":[ + "sales.ch" + ], + "guess":[ + "sales.ch" + ] + }, + "resolve_flags":[] }, "2153":{ "bfs":"2153", "name":"Sorens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"sorens.ch", "mx":[ "sorens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.ch-dns.net include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.ch-dns.net include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sorens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.sorens.ch CNAME → selector1-sorens-ch._domainkey.communesorens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.sorens.ch CNAME → selector2-sorens-ch._domainkey.communesorens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "sorens.ch" + ], + "guess":[ + "sorens.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2155":{ "bfs":"2155", "name":"Vaulruz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"vaulruz.ch", "mx":[ "vaulruz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:185.48.146.23 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:185.48.146.23 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vaulruz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vaulruz.ch" + ], + "redirect":[], + "wikidata":[ + "vaulruz.ch" + ], + "guess":[ + "vaulruz.ch" + ] + }, + "resolve_flags":[] }, "2160":{ "bfs":"2160", "name":"Vuadens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"vuadens.ch", "mx":[ "vuadens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vuadens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vuadens.ch" + ], + "redirect":[], + "wikidata":[ + "vuadens.ch" + ], + "guess":[ + "vuadens.ch" + ] + }, + "resolve_flags":[] }, "2162":{ "bfs":"2162", "name":"Bas-Intyamon", - "canton":"", + "canton":"Kanton Freiburg", "domain":"bas-intyamon.ch", "mx":[ "basintyamon-ch0i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX basintyamon-ch0i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bas-intyamon.ch" + ], + "redirect":[], + "wikidata":[ + "bas-intyamon.ch" + ], + "guess":[ + "bas-intyamon.ch" + ] + }, + "resolve_flags":[] }, "2163":{ "bfs":"2163", "name":"Val-de-Charmey", - "canton":"", + "canton":"Kanton Freiburg", "domain":"val-de-charmey.ch", "mx":[ "cleanmail.safecenter.ch", @@ -12949,191 +43608,856 @@ ], "spf":"v=spf1 ip4:81.62.232.242/32 a:val-de-charmey.ch a:cleanmail.safecenter.ch include:_spf.i-web.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.232.242/32 a:val-de-charmey.ch a:cleanmail.safecenter.ch include:_spf.i-web.ch include:spf.protection.outlook.com ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"cleanmail", - "mx_asns":[ - 8075, - 31736 + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX valdecharmey-ch0ie.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.val-de-charmey.ch CNAME → selector1-valdecharmey-ch0ie._domainkey.valdecharmey.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.val-de-charmey.ch CNAME → selector2-valdecharmey-ch0ie._domainkey.valdecharmey.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"cleanmail", + "sources_detail":{ + "scrape":[ + "val-de-charmey.ch" + ], + "redirect":[], + "wikidata":[ + "val-de-charmey.ch" + ], + "guess":[ + "val-de-charmey.ch" + ] + }, + "resolve_flags":[] }, "2173":{ "bfs":"2173", "name":"Autigny", - "canton":"", + "canton":"Kanton Freiburg", "domain":"autigny.ch", "mx":[ "autigny-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.14.34.46 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.14.34.46 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX autigny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "autigny.ch" + ], + "guess":[ + "autigny.ch" + ] + }, + "resolve_flags":[] }, "2174":{ "bfs":"2174", "name":"Avry", - "canton":"", + "canton":"Kanton Freiburg", "domain":"avry.ch", "mx":[ "mps.telecomservices.ch" ], - "spf":"v=spf1 a:email.avry.ch a:mps.telecomservices.ch include:telecomservices.ch include:_spf.i-web.ch ~all", - "provider":"independent", - "spf_resolved":"v=spf1 a:email.avry.ch a:mps.telecomservices.ch include:telecomservices.ch include:_spf.i-web.ch ~all v=spf1 include:fwdsc.swisscenter.com a:mail.telecomservices.ch a:mps.telecomservices.ch a:smtp.peoplefone.com a:esg1.ofac.ch a:esg2.ofac.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all", - "mx_asns":[ - 43800 - ], - "autodiscover":{ - "autodiscover_cname":"email.avry.ch" - } + "spf":"v=spf1 a:email.avry.ch a:mps.telecomservices.ch include:telecomservices.ch include:_spf.i-web.ch include:spf.protection.outlook.com ipv4:46.14.47.178 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "avry.ch" + ], + "redirect":[], + "wikidata":[ + "avry.ch" + ], + "guess":[ + "avry.ch" + ] + }, + "resolve_flags":[] }, "2175":{ "bfs":"2175", "name":"Belfaux", - "canton":"", + "canton":"Kanton Freiburg", "domain":"belfaux.ch", "mx":[ "belfaux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX belfaux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "belfaux.ch" + ], + "redirect":[], + "wikidata":[ + "belfaux.ch" + ], + "guess":[ + "belfaux.ch" + ] + }, + "resolve_flags":[] }, "2177":{ "bfs":"2177", "name":"Chénens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"chenens.ch", "mx":[ "chenens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net include:ti-informatique.com +mx +a ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net include:ti-informatique.com +mx +a ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chenens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "chenens.ch" + ], + "guess":[ + "chenens.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2183":{ "bfs":"2183", "name":"Corminboeuf", - "canton":"", + "canton":"Kanton Freiburg", "domain":"corminboeuf.ch", "mx":[ "corminboeuf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:94.126.17.132 ip4:46.14.29.162 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:94.126.17.132 ip4:46.14.29.162 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corminboeuf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.corminboeuf.ch CNAME → selector1-corminboeuf-ch._domainkey.corminboeufcommune.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.corminboeuf.ch CNAME → selector2-corminboeuf-ch._domainkey.corminboeufcommune.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "corminboeuf.ch", + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "corminboeuf.ch" + ], + "guess":[ + "corminboeuf.ch" + ] + }, + "resolve_flags":[] }, "2186":{ "bfs":"2186", - "name":"Cottens", - "canton":"", + "name":"Cottens (FR)", + "canton":"Kanton Freiburg", "domain":"cottens-fr.ch", "mx":[ "cottensfr-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cottensfr-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cottens-fr.ch CNAME → selector1-cottensfr-ch01i._domainkey.admincottens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cottens-fr.ch CNAME → selector2-cottensfr-ch01i._domainkey.admincottens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "cottens-fr.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2194":{ "bfs":"2194", "name":"Ferpicloz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"ferpicloz.ch", "mx":[ "mail.ferpicloz.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch include:_spf.blk.ymc.swiss ip4:212.71.120.144/28 ip4:212.71.120.28 +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch include:_spf.blk.ymc.swiss ip4:212.71.120.144/28 ip4:212.71.120.28 +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ferpicloz.ch" + ], + "redirect":[], + "wikidata":[ + "ferpicloz.ch" + ], + "guess":[ + "ferpicloz.ch" + ] + }, + "resolve_flags":[] }, "2196":{ "bfs":"2196", - "name":"Freiburg im Üechtland", - "canton":"", - "domain":"ville-fribourg.ch", + "name":"Fribourg", + "canton":"Kanton Freiburg", + "domain":"ville-fr.ch", "mx":[ "mail.ville-fr.ch" ], - "spf":"v=spf1 include:spf.infomaniak.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 3303 + "spf":"v=spf1 mx ip4:217.193.211.0/24 ip4:156.25.4.0/24 include:spf1.ne.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ville-fr.ch" + ], + "redirect":[], + "wikidata":[ + "ville-fribourg.ch" + ], + "guess":[ + "fribourg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2197":{ "bfs":"2197", "name":"Givisiez", - "canton":"", + "canton":"Kanton Freiburg", "domain":"givisiez.ch", "mx":[ "givisiez-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX givisiez-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "givisiez.ch" + ], + "guess":[ + "givisiez.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2198":{ "bfs":"2198", "name":"Granges-Paccot", - "canton":"", + "canton":"Kanton Freiburg", "domain":"granges-paccot.ch", "mx":[ "grangespaccot-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grangespaccot-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "granges-paccot.ch" + ], + "redirect":[], + "wikidata":[ + "granges-paccot.ch" + ], + "guess":[ + "granges-paccot.ch" + ] + }, + "resolve_flags":[] }, "2206":{ "bfs":"2206", "name":"Marly", - "canton":"", + "canton":"Kanton Freiburg", "domain":"marly.ch", "mx":[ "marly-ch-1.fortimailcloud.com", @@ -13141,125 +44465,546 @@ ], "spf":"v=spf1 include:_spf.fortimailcloud.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.fortimailcloud.com -all v=spf1 ip4:66.35.19.192/26 ip4:204.101.161.204 ip4:154.52.2.128/27 ip4:154.52.2.224/27 ip4:154.52.3.128/27 ip4:154.52.14.128/27 ip4:154.52.29.128/27 ip4:154.52.16.128/27 ip4:154.52.13.0/25 ip4:209.52.38.228 ip4:154.52.20.191 ip4:154.52.20.193 ip4:154.52.22.128/27 ip4:154.52.23.160/27 ip4:23.249.57.128/27 ip4:38.21.198.128/27 ip4:38.21.201.128/27 ip4:212.119.11.128/27 ip4:38.150.20.128/27 ip4:209.40.107.0/24 ip4:154.52.23.224/27 ip4:154.52.3.192/27 ip4:69.167.119.141 ip4:69.167.119.142 ip4:148.230.56.0/24 ip4:148.230.57.0/24 ip4:38.21.198.192/27 ip4:159.48.178.0/24 ip4:159.48.185.0/24 ip4:159.48.188.0/24 -all", - "mx_asns":[ - 40934 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "marly.ch" + ], + "redirect":[], + "wikidata":[ + "marly.ch" + ], + "guess":[ + "marly.ch" + ] + }, + "resolve_flags":[] }, "2208":{ "bfs":"2208", "name":"Matran", - "canton":"", + "canton":"Kanton Freiburg", "domain":"matran.ch", "mx":[ "matran-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net include:icarus2.ch-dns.net ip4:80.74.159.66 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net include:icarus2.ch-dns.net ip4:80.74.159.66 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX matran-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "matran.ch" + ], + "redirect":[], + "wikidata":[ + "matran.ch" + ], + "guess":[ + "matran.ch" + ] + }, + "resolve_flags":[] }, "2211":{ "bfs":"2211", - "name":"Neyruz", - "canton":"", + "name":"Neyruz (FR)", + "canton":"Kanton Freiburg", "domain":"neyruz.ch", "mx":[ "neyruz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com ip4:62.202.1.53 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com ip4:62.202.1.53 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neyruz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "neyruz.ch" + ], + "redirect":[], + "wikidata":[ + "neyruz.ch" + ], + "guess":[ + "neyruz.ch" + ] + }, + "resolve_flags":[] }, "2216":{ "bfs":"2216", "name":"Pierrafortscha", - "canton":"", + "canton":"Kanton Freiburg", "domain":"pierrafortscha.ch", "mx":[ "pierrafortscha-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pierrafortscha-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "pierrafortscha.ch" + ], + "redirect":[], + "wikidata":[ + "pierrafortscha.ch" + ], + "guess":[ + "pierrafortscha.ch" + ] + }, + "resolve_flags":[] }, "2220":{ "bfs":"2220", "name":"Le Mouret", - "canton":"", + "canton":"Kanton Freiburg", "domain":"le-mouret.ch", "mx":[ "lemouret-ch0e.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:83.222.141.163 ip4:83.173.228.17 +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:83.222.141.163 ip4:83.173.228.17 +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lemouret-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.le-mouret.ch CNAME → selector1-lemouret-ch0e._domainkey.gdelemouret.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.le-mouret.ch CNAME → selector2-lemouret-ch0e._domainkey.gdelemouret.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "le-mouret.ch" + ], + "redirect":[], + "wikidata":[ + "le-mouret.ch" + ], + "guess":[ + "le-mouret.ch", + "lemouret.ch" + ] + }, + "resolve_flags":[] }, "2226":{ "bfs":"2226", "name":"Treyvaux", - "canton":"", + "canton":"Kanton Freiburg", "domain":"treyvaux.ch", "mx":[ "mps.telecomservices.ch" ], "spf":"v=spf1 a:mail.treyvaux.ch a:mps.telecomservices.ch ~all", "provider":"independent", - "mx_asns":[ - 43800 - ], - "autodiscover":{ - "autodiscover_cname":"mail.treyvaux.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "treyvaux.ch" + ], + "guess":[ + "treyvaux.ch" + ] + }, + "resolve_flags":[] }, "2228":{ "bfs":"2228", "name":"Villars-sur-Glâne", - "canton":"", + "canton":"Kanton Freiburg", "domain":"villars-sur-glane.ch", "mx":[ "villarssurglane-ch01ii.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:mail.villars-sur-glane.ch a:mps.telecomservices.ch a:smtpzh.witecom.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:mail.villars-sur-glane.ch a:mps.telecomservices.ch a:smtpzh.witecom.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villarssurglane-ch01ii.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.villars-sur-glane.ch CNAME → selector1-villarssurglane-ch01ii._domainkey.adminvillarssurglane.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.villars-sur-glane.ch CNAME → selector2-villarssurglane-ch01ii._domainkey.adminvillarssurglane.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "villars-sur-glane.ch" + ], + "redirect":[], + "wikidata":[ + "villars-sur-glane.ch" + ], + "guess":[ + "villars-sur-glane.ch" + ] + }, + "resolve_flags":[] }, "2230":{ "bfs":"2230", "name":"Villarsel-sur-Marly", - "canton":"", + "canton":"Kanton Freiburg", "domain":"villarsel-sur-marly.ch", "mx":[ "mx01.senselan.ch", @@ -13268,188 +45013,790 @@ ], "spf":"", "provider":"independent", - "mx_asns":[ - 31736 + "category":"swiss-based", + "classification_confidence":60.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "le-mouret.ch", + "sochs.ch" + ], + "redirect":[], + "wikidata":[ + "villarsel-sur-marly.ch" + ], + "guess":[ + "villarsel-sur-marly.ch", + "villarselsurmarly.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2233":{ "bfs":"2233", - "name":"Hauterive", - "canton":"", + "name":"Hauterive (FR)", + "canton":"Kanton Freiburg", "domain":"hauterivefr.ch", "mx":[ "hauterivefr-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hauterivefr-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hauterivefr.ch CNAME → selector1-hauterivefr-ch._domainkey.communehauterive.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hauterivefr.ch CNAME → selector2-hauterivefr-ch._domainkey.communehauterive.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hauterivefr.ch", + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "hauterivefr.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2234":{ "bfs":"2234", "name":"La Brillaz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"labrillaz.ch", "mx":[ "cleanmail.safecenter.ch" ], "spf":"v=spf1 ip4:195.186.136.1/24 include:spf.protection.outlook.com include:spf.infomaniak.ch a:cleanmail.safecenter.ch ip4:83.222.130.150 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.186.136.1/24 include:spf.protection.outlook.com include:spf.infomaniak.ch a:cleanmail.safecenter.ch ip4:83.222.130.150 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "gateway":"cleanmail", - "mx_asns":[ - 31736 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"cleanmail", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "labrillaz.ch" + ], + "guess":[ + "labrillaz.ch" + ] + }, + "resolve_flags":[] }, "2235":{ "bfs":"2235", "name":"La Sonnaz", - "canton":"", + "canton":"Kanton Freiburg", "domain":"lasonnaz.ch", "mx":[ "lasonnaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lasonnaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lasonnaz.ch" + ], + "redirect":[], + "wikidata":[ + "lasonnaz.ch" + ], + "guess":[ + "lasonnaz.ch" + ] + }, + "resolve_flags":[] }, "2236":{ "bfs":"2236", "name":"Gibloux", - "canton":"", + "canton":"Kanton Freiburg", "domain":"commune-gibloux.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_cname":"webgate.xpertcloud.ch", - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "commune-gibloux.ch", + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "commune-gibloux.ch" + ], + "guess":[ + "commune-de-gibloux.ch", + "gibloux.ch" + ] + }, + "resolve_flags":[] }, "2237":{ "bfs":"2237", "name":"Prez", - "canton":"", + "canton":"Kanton Freiburg", "domain":"prez.ch", "mx":[ "prez-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.159.65 ip4:213.180.180.30 +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.159.65 ip4:213.180.180.30 +mx +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX prez-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch", + "prez.ch" + ], + "redirect":[], + "wikidata":[ + "prez.ch" + ], + "guess":[ + "prez.ch" + ] + }, + "resolve_flags":[] }, "2238":{ "bfs":"2238", - "name":"Bois-d’Amont", - "canton":"", + "name":"Bois-d'Amont", + "canton":"Kanton Freiburg", "domain":"bois-damont.ch", "mx":[ "boisdamont-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spfcloud.letsignit.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spfcloud.letsignit.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:spf-us.letsignit.com include:spf-ca.letsignit.com ip4:40.66.63.89/32 ip4:40.66.63.90/32 ip4:40.66.63.91/32 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:52.226.140.66 ip4:52.185.66.245 ip4:13.86.124.154 ip4:40.90.242.172 ip4:104.45.169.33 ~all v=spf1 ip4:40.80.240.101/32 ip4:52.155.24.145 ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boisdamont-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bois-damont.ch" + ], + "redirect":[], + "wikidata":[ + "bois-damont.ch" + ], + "guess":[ + "bois-damont.ch", + "boisdamont.ch" + ] + }, + "resolve_flags":[] }, "2239":{ "bfs":"2239", "name":"Grolley-Ponthaux", - "canton":"", + "canton":"Kanton Freiburg", "domain":"grolley-ponthaux.ch", "mx":[ "grolleyponthaux-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grolleyponthaux-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.grolley-ponthaux.ch CNAME → selector1-grolleyponthaux-ch01i._domainkey.communedegrolley.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.grolley-ponthaux.ch CNAME → selector2-grolleyponthaux-ch01i._domainkey.communedegrolley.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grolley-ponthaux.ch" + ], + "redirect":[], + "wikidata":[ + "grolley-ponthaux.ch" + ], + "guess":[ + "grolley-ponthaux.ch" + ] + }, + "resolve_flags":[] }, "2250":{ "bfs":"2250", - "name":"Gurwolf", - "canton":"", - "domain":"courgevaux-gurwolf.ch", + "name":"Courgevaux", + "canton":"Kanton Freiburg", + "domain":"courgevaux.ch", "mx":[ - "mail.courgevaux-gurwolf.ch" + "courgevaux-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 + "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX courgevaux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.courgevaux.ch CNAME → selector1-courgevaux-ch._domainkey.courgevauxfr.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.courgevaux.ch CNAME → selector2-courgevaux-ch._domainkey.courgevauxfr.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[ + "courgevaux.ch" + ], + "wikidata":[ + "courgevaux-gurwolf.ch" + ], + "guess":[ + "courgevaux.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2254":{ "bfs":"2254", "name":"Courtepin", - "canton":"", + "canton":"Kanton Freiburg", "domain":"courtepin.ch", "mx":[ "courtepin-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:s064.cyon.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:s064.cyon.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX courtepin-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "courtepin.ch" + ], + "redirect":[], + "wikidata":[ + "courtepin.ch" + ], + "guess":[ + "courtepin.ch" + ] + }, + "resolve_flags":[] }, "2257":{ "bfs":"2257", - "name":"Cressier", - "canton":"", + "name":"Cressier (FR)", + "canton":"Kanton Freiburg", "domain":"cressier.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "cressier.ch", + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "cressier.ch" + ], + "guess":[ + "cressier.ch" + ] + }, + "resolve_flags":[] }, "2258":{ "bfs":"2258", @@ -13461,13 +45808,75 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fraeschels-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fraeschels.ch" + ], + "guess":[ + "fraeschels.ch" + ] + }, + "resolve_flags":[] }, "2261":{ "bfs":"2261", @@ -13479,50 +45888,212 @@ ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf.sesamnet.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf.sesamnet.ch -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:83.222.130.50 ip4:185.64.116.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX greng-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.greng.ch CNAME → selector1-greng-ch._domainkey.gemeindegreng.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.greng.ch CNAME → selector2-greng-ch._domainkey.gemeindegreng.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "greng.ch" + ], + "redirect":[], + "wikidata":[ + "greng.ch" + ], + "guess":[ + "greng.ch" + ] + }, + "resolve_flags":[] }, "2262":{ "bfs":"2262", "name":"Gurmels", - "canton":"", + "canton":"Kanton Freiburg", "domain":"gurmels.ch", "mx":[ "gurmels-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gurmels-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gurmels.ch" + ], + "redirect":[], + "wikidata":[ + "gurmels.ch" + ], + "guess":[ + "gurmels.ch" + ] + }, + "resolve_flags":[] }, "2265":{ "bfs":"2265", "name":"Kerzers", - "canton":"", + "canton":"Kanton Freiburg", "domain":"kerzers.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx ip4:77.59.194.34 ip4:194.126.200.0/24 ip4:149.126.0.0/21 include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:77.59.194.34 ip4:194.126.200.0/24 ip4:149.126.0.0/21 include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "kerzers.ch" + ], + "redirect":[], + "wikidata":[ + "kerzers.ch" + ], + "guess":[ + "kerzers.ch" + ] + }, + "resolve_flags":[] }, "2266":{ "bfs":"2266", @@ -13534,113 +46105,428 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kleinboesingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kleinboesingen.ch" + ], + "redirect":[], + "wikidata":[ + "kleinboesingen.ch" + ], + "guess":[ + "kleinboesingen.ch" + ] + }, + "resolve_flags":[] }, "2271":{ "bfs":"2271", - "name":"Merlach", - "canton":"", - "domain":"merlach.ch", + "name":"Meyriez", + "canton":"Kanton Freiburg", + "domain":"meyriez.ch", "mx":[ - "mail.merlach.ch", - "mail2.merlach.ch" + "mx1.rufcloud.ch", + "mx2.rufcloud.ch" ], - "spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch -all", - "provider":"swiss-isp", - "mx_cnames":{ - "mail.merlach.ch":"mx1.rufcloud.ch", - "mail2.merlach.ch":"mx2.rufcloud.ch" + "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "meyriez.ch" + ], + "redirect":[], + "wikidata":[ + "merlach.ch" + ], + "guess":[ + "meyriez.ch" + ] }, - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "resolve_flags":[ + "sources_disagree", + "website_mismatch" + ] }, "2272":{ "bfs":"2272", "name":"Misery-Courtion", - "canton":"", + "canton":"Kanton Freiburg", "domain":"misery-courtion.ch", "mx":[ "miserycourtion-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX miserycourtion-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "misery-courtion.ch" + ], + "redirect":[ + "miserycourtion.ch" + ], + "wikidata":[ + "misery-courtion.ch" + ], + "guess":[ + "misery-courtion.ch", + "miserycourtion.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2274":{ "bfs":"2274", "name":"Muntelier", - "canton":"", + "canton":"Kanton Freiburg", "domain":"muntelier.ch", "mx":[ "muntelier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muntelier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muntelier.ch" + ], + "redirect":[], + "wikidata":[ + "muntelier.ch" + ], + "guess":[ + "muntelier.ch" + ] + }, + "resolve_flags":[] }, "2275":{ "bfs":"2275", "name":"Murten", - "canton":"", + "canton":"Kanton Freiburg", "domain":"murten-morat.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "murten-morat.ch" + ], + "redirect":[], + "wikidata":[ + "murten-morat.ch" + ], + "guess":[ + "murten.ch" + ] + }, + "resolve_flags":[] }, "2276":{ "bfs":"2276", "name":"Ried bei Kerzers", - "canton":"", + "canton":"Kanton Freiburg", "domain":"ried.ch", "mx":[ "ried-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ried-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ried.ch" + ], + "redirect":[], + "wikidata":[ + "ried.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2284":{ "bfs":"2284", "name":"Mont-Vully", - "canton":"", + "canton":"Kanton Freiburg", "domain":"mont-vully.ch", "mx":[ "montvully-ch01b.mail.protection.outlook.com", @@ -13649,18 +46535,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.149.192 +mx +a ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.149.192 +mx +a ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX montvully-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mont-vully.ch" + ], + "redirect":[], + "wikidata":[ + "mont-vully.ch" + ], + "guess":[ + "mont-vully.ch", + "montvully.ch" + ] + }, + "resolve_flags":[] }, "2292":{ "bfs":"2292", "name":"Brünisried", - "canton":"", + "canton":"Kanton Freiburg", "domain":"bruenisried.ch", "mx":[ "mx01.senselan.ch", @@ -13669,141 +46614,499 @@ ], "spf":"", "provider":"independent", - "mx_asns":[ - 31736 - ] + "category":"swiss-based", + "classification_confidence":62.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bruenisried.ch" + ], + "guess":[ + "bruenisried.ch" + ] + }, + "resolve_flags":[] }, "2293":{ "bfs":"2293", "name":"Düdingen", - "canton":"", + "canton":"Kanton Freiburg", "domain":"duedingen.ch", "mx":[ "duedingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX duedingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "duedingen.ch" + ], + "redirect":[], + "wikidata":[ + "duedingen.ch" + ], + "guess":[ + "duedingen.ch" + ] + }, + "resolve_flags":[] }, "2294":{ "bfs":"2294", "name":"Giffers", - "canton":"", + "canton":"Kanton Freiburg", "domain":"giffers.ch", "mx":[ "giffers-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX giffers-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "giffers.ch" + ], + "redirect":[], + "wikidata":[ + "giffers.ch" + ], + "guess":[ + "giffers.ch" + ] + }, + "resolve_flags":[] }, "2295":{ "bfs":"2295", "name":"Bösingen", - "canton":"", + "canton":"Kanton Freiburg", "domain":"boesingen.ch", "mx":[ "boesingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:mx.dvbern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:mx.dvbern.ch -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boesingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "boesingen.ch" + ], + "redirect":[], + "wikidata":[ + "boesingen.ch" + ], + "guess":[ + "boesingen.ch" + ] + }, + "resolve_flags":[] }, "2296":{ "bfs":"2296", "name":"Heitenried", - "canton":"", + "canton":"Kanton Freiburg", "domain":"heitenried.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "heitenried.ch" + ], + "redirect":[], + "wikidata":[ + "heitenried.ch" + ], + "guess":[ + "heitenried.ch" + ] + }, + "resolve_flags":[] }, "2299":{ "bfs":"2299", "name":"Plaffeien", - "canton":"", + "canton":"Kanton Freiburg", "domain":"plaffeien.ch", "mx":[ "plaffeien-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX plaffeien-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "plaffeien.ch" + ], + "redirect":[], + "wikidata":[ + "plaffeien.ch" + ], + "guess":[ + "plaffeien.ch" + ] + }, + "resolve_flags":[] }, "2300":{ "bfs":"2300", "name":"Plasselb", - "canton":"", + "canton":"Kanton Freiburg", "domain":"plasselb.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "plasselb.ch" + ], + "redirect":[], + "wikidata":[ + "plasselb.ch" + ], + "guess":[ + "plasselb.ch" + ] + }, + "resolve_flags":[] }, "2301":{ "bfs":"2301", "name":"Rechthalten", - "canton":"", + "canton":"Kanton Freiburg", "domain":"rechthalten.ch", "mx":[ "rechthalten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rechthalten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rechthalten.ch" + ], + "redirect":[], + "wikidata":[ + "rechthalten.ch" + ], + "guess":[ + "rechthalten.ch" + ] + }, + "resolve_flags":[] }, "2303":{ "bfs":"2303", - "name":"St. Silvester FR", + "name":"St. Silvester", "canton":"Kanton Freiburg", "domain":"stsilvester.ch", "mx":[ @@ -13811,215 +47114,799 @@ ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stsilvester-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stsilvester.ch" + ], + "redirect":[], + "wikidata":[ + "stsilvester.ch" + ], + "guess":[ + "stsilvester.ch" + ] + }, + "resolve_flags":[] }, "2304":{ "bfs":"2304", "name":"St. Ursen", - "canton":"", + "canton":"Kanton Freiburg", "domain":"stursen.ch", "mx":[ "stursen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stursen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stursen.ch" + ], + "redirect":[], + "wikidata":[ + "stursen.ch" + ], + "guess":[ + "stursen.ch" + ] + }, + "resolve_flags":[] }, "2305":{ "bfs":"2305", - "name":"Schmitten", - "canton":"", + "name":"Schmitten (FR)", + "canton":"Kanton Freiburg", "domain":"schmitten.ch", "mx":[ "schmitten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schmitten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schmitten.ch" + ], + "redirect":[], + "wikidata":[ + "schmitten.ch" + ], + "guess":[ + "schmitten.ch" + ] + }, + "resolve_flags":[] }, "2306":{ "bfs":"2306", "name":"Tafers", - "canton":"", + "canton":"Kanton Freiburg", "domain":"tafers.ch", "mx":[ "tafers-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tafers-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "tafers.ch" + ], + "redirect":[], + "wikidata":[ + "tafers.ch" + ], + "guess":[ + "tafers.ch" + ] + }, + "resolve_flags":[] }, "2307":{ "bfs":"2307", "name":"Tentlingen", - "canton":"", + "canton":"Kanton Freiburg", "domain":"tentlingen.ch", "mx":[ "tentlingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tentlingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "tentlingen.ch" + ], + "redirect":[], + "wikidata":[ + "tentlingen.ch" + ], + "guess":[ + "tentlingen.ch" + ] + }, + "resolve_flags":[] }, "2308":{ "bfs":"2308", "name":"Ueberstorf", - "canton":"", + "canton":"Kanton Freiburg", "domain":"ueberstorf.ch", "mx":[ "ueberstorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ueberstorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ueberstorf.ch" + ], + "redirect":[], + "wikidata":[ + "ueberstorf.ch" + ], + "guess":[ + "ueberstorf.ch" + ] + }, + "resolve_flags":[] }, "2309":{ "bfs":"2309", "name":"Wünnewil-Flamatt", - "canton":"", + "canton":"Kanton Freiburg", "domain":"wuennewil-flamatt.ch", "mx":[ "wuennewilflamatt-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wuennewilflamatt-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wuennewil-flamatt.ch" + ], + "redirect":[], + "wikidata":[ + "wuennewil-flamatt.ch" + ], + "guess":[ + "wuennewil-flamatt.ch" + ] + }, + "resolve_flags":[] }, "2321":{ "bfs":"2321", "name":"Attalens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"attalens.ch", "mx":[ "attalens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX attalens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "attalens.ch" + ], + "redirect":[], + "wikidata":[ + "attalens.ch" + ], + "guess":[ + "attalens.ch" + ] + }, + "resolve_flags":[] }, "2323":{ "bfs":"2323", "name":"Bossonnens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"bossonnens.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "bossonnens.ch" + ], + "redirect":[], + "wikidata":[ + "bossonnens.ch" + ], + "guess":[ + "bossonnens.ch" + ] + }, + "resolve_flags":[] }, "2325":{ "bfs":"2325", "name":"Châtel-Saint-Denis", - "canton":"", + "canton":"Kanton Freiburg", "domain":"chatel-st-denis.ch", "mx":[ "chatelstdenis-ch01ec.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf1.ne.ch ip4:81.63.156.66 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf1.ne.ch ip4:81.63.156.66 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"mail.chatel-st-denis.ch" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chatelstdenis-ch01ec.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chatel-st-denis.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2328":{ "bfs":"2328", - "name":"Granges", - "canton":"", + "name":"Granges (Veveyse)", + "canton":"Kanton Freiburg", "domain":"granges-veveyse.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.81/32 ip4:193.33.30.87/32 ip4:193.33.30.91/32 ip4:193.33.30.92/32 ip4:193.33.30.124/32 ip4:193.33.30.125/32 ip4:185.122.238.197/32 ip4:185.122.238.201/32 ip4:185.122.238.202/32 include:seppmail.evok.ch -all v=spf1 ip4:193.33.30.89/32 ip4:185.122.238.200/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "granges-veveyse.ch" + ], + "redirect":[], + "wikidata":[ + "granges-veveyse.ch" + ], + "guess":[ + "granges.ch" + ] + }, + "resolve_flags":[] }, "2333":{ "bfs":"2333", "name":"Remaufens", - "canton":"", + "canton":"Kanton Freiburg", "domain":"remaufens.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 include:evok.ch include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:evok.ch include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "remaufens.ch" + ], + "redirect":[], + "wikidata":[ + "remaufens.ch" + ], + "guess":[ + "remaufens.ch" + ] + }, + "resolve_flags":[] }, "2335":{ "bfs":"2335", - "name":"Saint-Martin FR", + "name":"Saint-Martin (FR)", "canton":"Kanton Freiburg", "domain":"saint-martin-fr.ch", "mx":[ @@ -14027,31 +47914,119 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX saintmartinfr-ch01c1b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "croix-rouge-fr.ch", + "saint-martin-fr.ch" + ], + "redirect":[], + "wikidata":[ + "saint-martin-fr.ch" + ], + "guess":[ + "saint-martin.ch", + "saintmartin.ch" + ] + }, + "resolve_flags":[] }, "2336":{ "bfs":"2336", "name":"Semsales", - "canton":"", + "canton":"Kanton Freiburg", "domain":"semsales.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 ip4:80.74.159.118/32 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 ip4:80.74.159.118/32 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "semsales.ch" + ], + "redirect":[], + "wikidata":[ + "semsales.ch" + ], + "guess":[ + "semsales.ch" + ] + }, + "resolve_flags":[] }, "2337":{ "bfs":"2337", @@ -14061,110 +48036,513 @@ "mx":[ "leflon-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 +a +mx -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 +a +mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 ip4:193.108.54.58 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 +a +mx -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leflon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "leflon.ch" + ], + "guess":[ + "leflon.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2338":{ "bfs":"2338", "name":"La Verrerie", "canton":"Kanton Freiburg", - "domain":"laverrerie.ch", + "domain":"la-verrerie.ch", "mx":[ - "laverrerie-ch.mail.protection.outlook.com" + "laverrerie-ch0e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laverrerie-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "la-verrerie.ch" + ], + "redirect":[ + "la-verrerie.ch" + ], + "wikidata":[ + "laverrerie.ch" + ], + "guess":[ + "la-verrerie.ch", + "laverrerie.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2401":{ "bfs":"2401", "name":"Egerkingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"egerkingen.ch", "mx":[ "egerkingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:46.14.41.126 include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:46.14.41.126 include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX egerkingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.egerkingen.ch CNAME → selector1-egerkingen-ch._domainkey.gemeindeegerkingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.egerkingen.ch CNAME → selector2-egerkingen-ch._domainkey.gemeindeegerkingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "egerkingen.ch" + ], + "redirect":[], + "wikidata":[ + "egerkingen.ch" + ], + "guess":[ + "egerkingen.ch" + ] + }, + "resolve_flags":[] }, "2402":{ "bfs":"2402", "name":"Härkingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"haerkingen.ch", "mx":[ "haerkingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX haerkingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "haerkingen.ch" + ], + "redirect":[], + "wikidata":[ + "haerkingen.ch" + ], + "guess":[ + "haerkingen.ch" + ] + }, + "resolve_flags":[] }, "2403":{ "bfs":"2403", "name":"Kestenholz", - "canton":"", + "canton":"Kanton Solothurn", "domain":"kestenholz.ch", "mx":[ "kestenholz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kestenholz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kestenholz.ch" + ], + "redirect":[], + "wikidata":[ + "kestenholz.ch" + ], + "guess":[ + "kestenholz.ch" + ] + }, + "resolve_flags":[] }, "2404":{ "bfs":"2404", "name":"Neuendorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"neuendorf.ch", "mx":[ "neuendorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.it64.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.it64.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:176.10.107.100 ip4:176.10.107.102 ip4:46.140.44.30 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX neuendorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "neuendorf.ch" + ], + "redirect":[], + "wikidata":[ + "neuendorf.ch" + ], + "guess":[ + "neuendorf.ch" + ] + }, + "resolve_flags":[] }, "2405":{ "bfs":"2405", "name":"Niederbuchsiten", - "canton":"", + "canton":"Kanton Solothurn", "domain":"niederbuchsiten.ch", "mx":[ "mail.format-ag.ch", @@ -14174,36 +48552,122 @@ ], "spf":"v=spf1 a mx include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "niederbuchsiten.ch" + ], + "redirect":[], + "wikidata":[ + "niederbuchsiten.ch" + ], + "guess":[ + "niederbuchsiten.ch" + ] + }, + "resolve_flags":[] }, "2406":{ "bfs":"2406", "name":"Oberbuchsiten", - "canton":"", + "canton":"Kanton Solothurn", "domain":"oberbuchsiten.ch", "mx":[ "oberbuchsiten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberbuchsiten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberbuchsiten.ch" + ], + "redirect":[], + "wikidata":[ + "oberbuchsiten.ch" + ], + "guess":[ + "oberbuchsiten.ch" + ] + }, + "resolve_flags":[] }, "2407":{ "bfs":"2407", "name":"Oensingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"oensingen.ch", "mx":[ "mx01.hornetsecurity.com", @@ -14213,39 +48677,123 @@ ], "spf":"v=spf1 mx a include:spf.protection.outlook.com include:spf.hornetsecurity.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:spf.protection.outlook.com include:spf.hornetsecurity.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "oensingen.ch" + ], + "redirect":[], + "wikidata":[ + "oensingen.ch" + ], + "guess":[ + "oensingen.ch" + ] + }, + "resolve_flags":[] }, "2408":{ "bfs":"2408", "name":"Wolfwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"wolfwil.ch", "mx":[ "wolfwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wolfwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wolfwil.ch" + ], + "redirect":[], + "wikidata":[ + "wolfwil.ch" + ], + "guess":[ + "wolfwil.ch" + ] + }, + "resolve_flags":[] }, "2421":{ "bfs":"2421", "name":"Aedermannsdorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"aedermannsdorf.ch", "mx":[ "mail.format-ag.ch", @@ -14255,18 +48803,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aedermannsdorf.ch" + ], + "redirect":[], + "wikidata":[ + "aedermannsdorf.ch" + ], + "guess":[ + "aedermannsdorf.ch" + ] + }, + "resolve_flags":[] }, "2422":{ "bfs":"2422", "name":"Balsthal", - "canton":"", + "canton":"Kanton Solothurn", "domain":"balsthal.ch", "mx":[ "mail.format-ag.ch", @@ -14274,54 +48844,204 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "balsthal.ch" + ], + "redirect":[], + "wikidata":[ + "balsthal.ch" + ], + "guess":[ + "balsthal.ch" + ] + }, + "resolve_flags":[] }, "2424":{ "bfs":"2424", "name":"Herbetswil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"herbetswil.ch", "mx":[ "herbetswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX herbetswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.herbetswil.ch CNAME → selector1-herbetswil-ch._domainkey.herbetswil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.herbetswil.ch CNAME → selector2-herbetswil-ch._domainkey.herbetswil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "herbetswil.ch" + ], + "redirect":[], + "wikidata":[ + "herbetswil.ch" + ], + "guess":[ + "herbetswil.ch" + ] + }, + "resolve_flags":[] }, "2425":{ "bfs":"2425", - "name":"Holderbank", - "canton":"", + "name":"Holderbank (SO)", + "canton":"Kanton Solothurn", "domain":"holderbank-so.ch", "mx":[ "holderbankso-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX holderbankso-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "holderbank-so.ch" + ], + "redirect":[], + "wikidata":[ + "holderbank-so.ch" + ], + "guess":[ + "holderbank.ch" + ] + }, + "resolve_flags":[] }, "2426":{ "bfs":"2426", "name":"Laupersdorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"laupersdorf.ch", "mx":[ "mail.format-ag.ch", @@ -14331,72 +49051,300 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "laupersdorf.ch" + ], + "guess":[ + "laupersdorf.ch" + ] + }, + "resolve_flags":[] }, "2427":{ "bfs":"2427", "name":"Matzendorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"matzendorf.ch", "mx":[ "matzendorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX matzendorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "matzendorf.ch" + ], + "redirect":[], + "wikidata":[ + "matzendorf.ch" + ], + "guess":[ + "matzendorf.ch" + ] + }, + "resolve_flags":[] }, "2428":{ "bfs":"2428", "name":"Mümliswil-Ramiswil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"muemliswil-ramiswil.ch", "mx":[ "muemliswilramiswil-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muemliswilramiswil-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.muemliswil-ramiswil.ch CNAME → selector1-muemliswilramiswil-ch02e._domainkey.gemeindemuemliswil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.muemliswil-ramiswil.ch CNAME → selector2-muemliswilramiswil-ch02e._domainkey.gemeindemuemliswil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muemliswil-ramiswil.ch" + ], + "redirect":[], + "wikidata":[ + "muemliswil-ramiswil.ch" + ], + "guess":[ + "muemliswil-ramiswil.ch" + ] + }, + "resolve_flags":[] }, "2430":{ "bfs":"2430", "name":"Welschenrohr-Gänsbrunnen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"welschenrohr.ch", "mx":[ "welschenrohr-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.221.233.0/23 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.221.233.0/23 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX welschenrohr-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "welschenrohr.ch" + ], + "redirect":[], + "wikidata":[ + "welschenrohr.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2445":{ "bfs":"2445", "name":"Biezwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"biezwil.ch", "mx":[ "mx1.jimdo.com", @@ -14404,69 +49352,236 @@ ], "spf":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 ip4:108.166.43.0/24 ip4:146.20.86.8 ip4:146.20.161.0/25 ip4:161.47.34.7 ip4:173.203.187.0/25 ip4:184.106.54.0/25 ip4:204.232.172.40 ~all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "mx_asns":[ - 19994, - 27357 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.emailsrvr.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "biezwil.ch" + ], + "guess":[ + "biezwil.ch" + ] + }, + "resolve_flags":[] }, "2455":{ "bfs":"2455", "name":"Lüterkofen-Ichertswil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"lueterkofen-ichertswil.ch", "mx":[ "lueterkofenichertswil-ch02i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lueterkofenichertswil-ch02i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lueterkofen-ichertswil.ch" + ], + "redirect":[], + "wikidata":[ + "lueterkofen-ichertswil.ch" + ], + "guess":[ + "lueterkofen-ichertswil.ch" + ] + }, + "resolve_flags":[] }, "2457":{ "bfs":"2457", "name":"Messen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"messen.ch", "mx":[ "messen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:mail.tcnet.ch ip4:195.48.58.75 ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:_spf.talus.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mail.tcnet.ch ip4:195.48.58.75 ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:_spf.talus.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX messen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.messen.ch CNAME → selector1-messen-ch._domainkey.messen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.messen.ch CNAME → selector2-messen-ch._domainkey.messen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "messen.ch" + ], + "redirect":[], + "wikidata":[ + "messen.ch" + ], + "guess":[ + "messen.ch" + ] + }, + "resolve_flags":[] }, "2461":{ "bfs":"2461", "name":"Schnottwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"schnottwil.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "override":[ + "schnottwil.ch" + ] + }, + "resolve_flags":[] }, "2463":{ "bfs":"2463", @@ -14478,86 +49593,302 @@ ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "unterramsern.ch" + ], + "redirect":[], + "wikidata":[ + "unterramsern.ch" + ], + "guess":[ + "unterramsern.ch" + ] + }, + "resolve_flags":[] }, "2464":{ "bfs":"2464", "name":"Lüsslingen-Nennigkofen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"luesslingen-nennigkofen.ch", "mx":[ "luesslingennennigkofen-ch02i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX luesslingennennigkofen-ch02i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "luesslingen-nennigkofen.ch" + ], + "redirect":[], + "wikidata":[ + "luesslingen-nennigkofen.ch" + ], + "guess":[ + "luesslingen-nennigkofen.ch" + ] + }, + "resolve_flags":[] }, "2465":{ "bfs":"2465", "name":"Buchegg", - "canton":"", + "canton":"Kanton Solothurn", "domain":"buchegg-so.ch", "mx":[ "bucheggso-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bucheggso-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buchegg-so.ch" + ], + "redirect":[], + "wikidata":[ + "buchegg-so.ch" + ], + "guess":[ + "buchegg.ch" + ] + }, + "resolve_flags":[] }, "2471":{ "bfs":"2471", "name":"Bättwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"baettwil.ch", "mx":[ "mail.baettwil.ch" ], "spf":"v=spf1 a mx a:msscript1.webland.ch ~all", "provider":"independent", - "mx_asns":[ - 25563 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.baettwil.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "baettwil.ch" + ], + "redirect":[], + "wikidata":[ + "baettwil.ch" + ], + "guess":[ + "baettwil.ch" + ] + }, + "resolve_flags":[] }, "2472":{ "bfs":"2472", - "name":"Büren", - "canton":"", + "name":"Büren (SO)", + "canton":"Kanton Solothurn", "domain":"bueren-so.ch", "mx":[ "buerenso-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:tiberius2.sui-inter.net a:tiberius.sui-inter.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:tiberius2.sui-inter.net a:tiberius.sui-inter.net include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buerenso-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bueren-so.ch" + ], + "redirect":[], + "wikidata":[ + "bueren-so.ch" + ], + "guess":[ + "bren.ch", + "bueren.ch" + ] + }, + "resolve_flags":[] }, "2473":{ "bfs":"2473", "name":"Dornach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"dornach.ch", "mx":[ "mail.format-ag.ch", @@ -14567,304 +49898,1223 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dornach.ch" + ], + "redirect":[], + "wikidata":[ + "dornach.ch" + ], + "guess":[ + "dornach.ch" + ] + }, + "resolve_flags":[] }, "2474":{ "bfs":"2474", "name":"Gempen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"gempen.ch", "mx":[ "gempen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gempen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gempen.ch" + ], + "redirect":[], + "wikidata":[ + "gempen.ch" + ], + "guess":[ + "gempen.ch" + ] + }, + "resolve_flags":[] }, "2475":{ "bfs":"2475", "name":"Hochwald", - "canton":"", + "canton":"Kanton Solothurn", "domain":"hochwald.ch", "mx":[ "hochwald-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud a:genf.alixon.ch a:goldau.alixon.ch include:rzmail.hi-ag.ch include:spf.iway.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud a:genf.alixon.ch a:goldau.alixon.ch include:rzmail.hi-ag.ch include:spf.iway.ch include:spf.protection.outlook.com ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hochwald-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch" + } + ], + "sources_detail":{ + "scrape":[ + "hochwald.ch" + ], + "redirect":[], + "wikidata":[ + "hochwald.ch" + ], + "guess":[ + "hochwald.ch" + ] + }, + "resolve_flags":[] }, "2476":{ "bfs":"2476", "name":"Hofstetten-Flüh", - "canton":"", - "domain":"hofstettenflueh.ch", + "canton":"Kanton Solothurn", + "domain":"hofstetten-flueh.ch", "mx":[ - "mail.hofstettenflueh.ch" + "mail.hofstetten-flueh.ch", + "mail2.hofstetten-flueh.ch" ], - "spf":"", + "spf":"v=spf1 mx include:_spf.i-web.ch -all", "provider":"independent", - "mx_asns":[ - 1836 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "hofstetten-flueh.ch" + ], + "redirect":[], + "wikidata":[ + "hofstettenflueh.ch" + ], + "guess":[ + "hofstetten-flueh.ch", + "hofstettenflueh.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "2477":{ "bfs":"2477", "name":"Metzerlen-Mariastein", - "canton":"", + "canton":"Kanton Solothurn", "domain":"metzerlen.ch", "mx":[ "metzerlen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud include:_spf.blk.ymc.swiss -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud include:_spf.blk.ymc.swiss -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX metzerlen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "metzerlen.ch" + ], + "redirect":[], + "wikidata":[ + "metzerlen.ch" + ], + "guess":[ + "metzerlen-mariastein.ch" + ] + }, + "resolve_flags":[] }, "2478":{ "bfs":"2478", "name":"Nuglar-St. Pantaleon", - "canton":"", + "canton":"Kanton Solothurn", "domain":"nuglar.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 include:spf1.egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 include:spf1.egeko.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "nuglar.ch" + ], + "redirect":[], + "wikidata":[ + "nuglar.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2479":{ "bfs":"2479", "name":"Rodersdorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"rodersdorf.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.blk.ymc.swiss include:_spf.kreativmedia.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.blk.ymc.swiss include:_spf.kreativmedia.ch include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "rodersdorf.ch" + ], + "redirect":[], + "wikidata":[ + "rodersdorf.ch" + ], + "guess":[ + "rodersdorf.ch" + ] + }, + "resolve_flags":[] }, "2480":{ "bfs":"2480", "name":"Seewen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"seewen.ch", "mx":[ "seewen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:mail.asp.ruf.ch a:mta1.asp.ruf.ch a:mta2.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail.asp.ruf.ch a:mta1.asp.ruf.ch a:mta2.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX seewen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "seewen.ch" + ], + "redirect":[], + "wikidata":[ + "seewen.ch" + ], + "guess":[ + "seewen.ch" + ] + }, + "resolve_flags":[] }, "2481":{ "bfs":"2481", "name":"Witterswil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"witterswil.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "witterswil.ch" + ], + "redirect":[], + "wikidata":[ + "witterswil.ch" + ], + "guess":[ + "witterswil.ch" + ] + }, + "resolve_flags":[] }, "2491":{ "bfs":"2491", "name":"Hauenstein-Ifenthal", - "canton":"", + "canton":"Kanton Solothurn", "domain":"hauenstein-ifenthal.ch", "mx":[ "hauensteinifenthal-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hauensteinifenthal-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hauenstein-ifenthal.ch" + ], + "redirect":[], + "wikidata":[ + "hauenstein-ifenthal.ch" + ], + "guess":[ + "hauenstein-ifenthal.ch" + ] + }, + "resolve_flags":[] }, "2492":{ "bfs":"2492", "name":"Kienberg", - "canton":"", + "canton":"Kanton Solothurn", "domain":"kienberg.ch", "mx":[ "mail.kienberg.ch" ], "spf":"v=spf1 include:spf.mail.webland.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mail.webland.ch -all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all", - "mx_asns":[ - 25563 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.kienberg.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "kienberg.ch" + ], + "redirect":[], + "wikidata":[ + "kienberg.ch" + ], + "guess":[ + "kienberg.ch" + ] + }, + "resolve_flags":[] }, "2493":{ "bfs":"2493", "name":"Lostorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"lostorf.ch", "mx":[ "lostorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lostorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.lostorf.ch CNAME → selector1-lostorf-ch._domainkey.einwohnergemeindelostorf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.lostorf.ch CNAME → selector2-lostorf-ch._domainkey.einwohnergemeindelostorf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lostorf.ch" + ], + "redirect":[], + "wikidata":[ + "lostorf.ch" + ], + "guess":[ + "lostorf.ch" + ] + }, + "resolve_flags":[] }, "2495":{ "bfs":"2495", "name":"Niedergösgen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"niedergoesgen.ch", "mx":[ "niedergoesgen-ch.mail.eo.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"exchange.mtfcloud.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.niedergoesgen.ch CNAME → selector1-niedergoesgen-ch._domainkey.niedergoesgench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.niedergoesgen.ch CNAME → selector2-niedergoesgen-ch._domainkey.niedergoesgench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "niedergoesgen.ch" + ], + "redirect":[], + "wikidata":[ + "niedergoesgen.ch" + ], + "guess":[ + "niedergoesgen.ch" + ] + }, + "resolve_flags":[] }, "2497":{ "bfs":"2497", "name":"Obergösgen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"obergoesgen.ch", "mx":[ "obergoesgen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX obergoesgen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "obergoesgen.ch" + ], + "redirect":[], + "wikidata":[ + "obergoesgen.ch" + ], + "guess":[ + "obergoesgen.ch" + ] + }, + "resolve_flags":[] }, "2499":{ "bfs":"2499", "name":"Stüsslingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"stuesslingen.ch", "mx":[ "stuesslingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stuesslingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stuesslingen.ch" + ], + "redirect":[], + "wikidata":[ + "stuesslingen.ch" + ], + "guess":[ + "stuesslingen.ch" + ] + }, + "resolve_flags":[] }, "2500":{ "bfs":"2500", "name":"Trimbach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"trimbach.ch", "mx":[ "trimbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX trimbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.trimbach.ch CNAME → selector1-trimbach-ch._domainkey.gemeindetrimbach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.trimbach.ch CNAME → selector2-trimbach-ch._domainkey.gemeindetrimbach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "trimbach.ch" + ], + "redirect":[], + "wikidata":[ + "trimbach.ch" + ], + "guess":[ + "trimbach.ch" + ] + }, + "resolve_flags":[] }, "2501":{ "bfs":"2501", "name":"Winznau", - "canton":"", + "canton":"Kanton Solothurn", "domain":"winznau.ch", "mx":[ "winznau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:mail.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:mail.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX winznau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.winznau.ch CNAME → selector1-winznau-ch._domainkey.winznau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.winznau.ch CNAME → selector2-winznau-ch._domainkey.winznau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "winznau.ch" + ], + "redirect":[], + "wikidata":[ + "winznau.ch" + ], + "guess":[ + "winznau.ch" + ] + }, + "resolve_flags":[] }, "2502":{ "bfs":"2502", - "name":"Wisen", + "name":"Wisen (SO)", "canton":"Kanton Solothurn", "domain":"wisen.ch", "mx":[ @@ -14872,18 +51122,27 @@ ], "spf":"v=spf1 +a +mx +a:node7.nhost.ch include:spf.lanpool.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 +a +mx +a:node7.nhost.ch include:spf.lanpool.ch include:_spf.i-web.ch -all v=spf1 ip4:5.57.206.42 ip4:93.174.184.0/21 ip4:213.193.111.66 ip4:213.193.98.98 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 47506 - ], - "autodiscover":{ - "autodiscover_srv":"node7.mxconfig.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "wisen.ch" + ], + "redirect":[], + "wikidata":[ + "wisen.ch" + ], + "guess":[ + "wisen.ch" + ] + }, + "resolve_flags":[] }, "2503":{ "bfs":"2503", - "name":"Erlinsbach", - "canton":"", + "name":"Erlinsbach (SO)", + "canton":"Kanton Solothurn", "domain":"erlinsbach-so.ch", "mx":[ "erlinsbach-so.ch.1.0001.arsmtp.com", @@ -14891,37 +51150,110 @@ ], "spf":"v=spf1 include:edgepilot.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:edgepilot.com ~all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com ~all v=spf1 ip4:204.232.250.0/24 ip4:5.152.185.0/24 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:72.3.212.195 ip4:5.152.188.0/24 ip4:174.37.170.192/27 ~all v=spf1 ip4:75.126.84.128/26 ip4:67.228.8.0/25 ip4:67.227.149.19 ip4:64.56.208.32/27 ip4:67.228.91.90 ip4:67.228.158.174 ip4:174.36.44.116/30 ip4:50.201.66.168 ip4:63.71.8.0/21 ip4:199.30.232.0/21 ip4:74.203.184.0/23 ip4:207.195.176.0/20 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 59519, - 203160 - ], - "autodiscover":{ - "autodiscover_cname":"adr.exghost.com" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "erlinsbach-so.ch" + ], + "redirect":[], + "wikidata":[ + "erlinsbach-so.ch" + ], + "guess":[ + "erlinsbach.ch" + ] + }, + "resolve_flags":[] }, "2511":{ "bfs":"2511", - "name":"Aeschi", - "canton":"", + "name":"Aeschi (SO)", + "canton":"Kanton Solothurn", "domain":"aeschi-so.ch", "mx":[ "aeschiso-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aeschiso-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aeschi-so.ch" + ], + "redirect":[], + "wikidata":[ + "aeschi-so.ch" + ], + "guess":[ + "aeschi.ch" + ] + }, + "resolve_flags":[] }, "2513":{ "bfs":"2513", "name":"Biberist", - "canton":"", + "canton":"Kanton Solothurn", "domain":"biberist.ch", "mx":[ "mail.format-ag.ch", @@ -14931,13 +51263,41 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "biberist.ch" + ], + "redirect":[], + "wikidata":[ + "biberist.ch" + ], + "guess":[ + "biberist.ch" + ] + }, + "resolve_flags":[] }, "2514":{ "bfs":"2514", @@ -14949,46 +51309,198 @@ ], "spf":"v=spf1 a mx ~all", "provider":"independent", - "mx_asns":[ - 24940 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "bolken.ch" + ], + "redirect":[], + "wikidata":[ + "bolken.ch" + ], + "guess":[ + "bolken.ch" + ] + }, + "resolve_flags":[] }, "2516":{ "bfs":"2516", "name":"Deitingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"deitingen.ch", "mx":[ "deitingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:93.174.18.97 include:spf.hstex.comp-sys.net include:spf.nl2go.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:93.174.18.97 include:spf.hstex.comp-sys.net include:spf.nl2go.com include:spf.protection.outlook.com -all v=spf1 ip4:93.174.16.0/23 ip6:2a04:a2c0:2::/48 -all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"ex.hstex.comp-sys.net" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX deitingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "deitingen.ch" + ], + "redirect":[], + "wikidata":[ + "deitingen.ch" + ], + "guess":[ + "deitingen.ch" + ] + }, + "resolve_flags":[] }, "2517":{ "bfs":"2517", "name":"Derendingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"derendingen.ch", "mx":[ "derendingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:turbo-smtp.com include:_spf.talus.ch include:_spf.sui-inter.net ip4:199.187.173.138 ip4:185.227.39.122 ip4:212.60.62.49 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:turbo-smtp.com include:_spf.talus.ch include:_spf.sui-inter.net ip4:199.187.173.138 ip4:185.227.39.122 ip4:212.60.62.49 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a mx ip4:199.187.172.0/22 ip4:199.244.72.0/22 ip4:185.228.36.0/22 ip4:78.46.210.192/27 ip4:5.83.159.0/24 ip4:89.144.43.0/24 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX derendingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.derendingen.ch CNAME → selector1-derendingen-ch._domainkey.derendingench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.derendingen.ch CNAME → selector2-derendingen-ch._domainkey.derendingench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "derendingen.ch" + ], + "redirect":[], + "wikidata":[ + "derendingen.ch" + ], + "guess":[ + "derendingen.ch" + ] + }, + "resolve_flags":[] }, "2518":{ "bfs":"2518", @@ -15000,32 +51512,124 @@ "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "etziken.ch" + ], + "redirect":[], + "wikidata":[ + "etziken.ch" + ], + "guess":[ + "etziken.ch" + ] + }, + "resolve_flags":[] }, "2519":{ "bfs":"2519", "name":"Gerlafingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"gerlafingen.ch", "mx":[ "gerlafingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gerlafingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gerlafingen.ch" + ], + "redirect":[], + "wikidata":[ + "gerlafingen.ch" + ], + "guess":[ + "gerlafingen.ch" + ] + }, + "resolve_flags":[] }, "2523":{ "bfs":"2523", @@ -15037,84 +51641,310 @@ "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "horriwil.ch" + ], + "redirect":[], + "wikidata":[ + "horriwil.ch" + ], + "guess":[ + "horriwil.ch" + ] + }, + "resolve_flags":[] }, "2524":{ "bfs":"2524", "name":"Hüniken", - "canton":"", + "canton":"Kanton Solothurn", "domain":"hueniken.ch", "mx":[ "elara.kreativmedia.ch" ], "spf":"v=spf1 +mx +a include:_spf.mail.hostserv.eu include:_spf.kreativmedia.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 +mx +a include:_spf.mail.hostserv.eu include:_spf.kreativmedia.ch ~all v=spf1 a:mailhost.hostserv.eu a:mailhost.hosttech.eu include:_spf.v4.hosttech.eu include:_spf.v6.1.hosttech.eu include:_spf.v6.2.hosttech.eu ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:193.203.253.22 ip4:193.203.253.23 ip4:193.203.253.24 ip4:193.203.253.25 ip4:193.203.253.26 ip4:193.203.253.27 ip4:45.131.252.247 ip4:45.131.252.248 ip4:45.131.252.249 ip4:45.131.253.4 ip4:45.131.253.5 ip4:45.131.253.7 ~all v=spf1 ip6:2001:1680:101:83a::79 ip6:2001:1680:101:83a::8f ip6:2001:1680:101:83a::91 ip6:2001:1680:101:83a::95 ip6:2001:1680:101:83a::9d ip6:2001:1680:101:83a::d6 ~all v=spf1 ip6:2a11:8b80:1000:1::46 ip6:2a11:8b80:1000:1::47 ip6:2a11:8b80:1000:1::48 ip6:2a11:8b80:1000:1::49 ip6:2a11:8b80:1000:1::4a ip6:2a11:8b80:1000:1::4b ~all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "hueniken.ch" + ], + "redirect":[], + "wikidata":[ + "hueniken.ch" + ], + "guess":[ + "hueniken.ch" + ] + }, + "resolve_flags":[] }, "2525":{ "bfs":"2525", "name":"Kriegstetten", - "canton":"", + "canton":"Kanton Solothurn", "domain":"kriegstetten.ch", "mx":[ "kriegstetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kriegstetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kriegstetten.ch" + ], + "redirect":[], + "wikidata":[ + "kriegstetten.ch" + ], + "guess":[ + "kriegstetten.ch" + ] + }, + "resolve_flags":[] }, "2526":{ "bfs":"2526", "name":"Lohn-Ammannsegg", - "canton":"", + "canton":"Kanton Solothurn", "domain":"lohn-ammannsegg.ch", "mx":[ "lohnammannsegg-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lohnammannsegg-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lohn-ammannsegg.ch" + ], + "redirect":[], + "wikidata":[ + "lohn-ammannsegg.ch" + ], + "guess":[ + "lohn-ammannsegg.ch" + ] + }, + "resolve_flags":[] }, "2527":{ "bfs":"2527", "name":"Luterbach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"luterbach.ch", "mx":[ "luterbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX luterbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "luterbach.ch" + ], + "redirect":[], + "wikidata":[ + "luterbach.ch" + ], + "guess":[ + "luterbach.ch" + ] + }, + "resolve_flags":[] }, "2528":{ "bfs":"2528", @@ -15126,56 +51956,212 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX obergerlafingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "obergerlafingen.ch", + "tim-gatzky.de" + ], + "redirect":[], + "wikidata":[ + "obergerlafingen.ch" + ], + "guess":[ + "obergerlafingen.ch" + ] + }, + "resolve_flags":[] }, "2530":{ "bfs":"2530", "name":"Recherswil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"recherswil.ch", "mx":[ "recherswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX recherswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "recherswil.ch" + ], + "redirect":[], + "wikidata":[ + "recherswil.ch" + ], + "guess":[ + "recherswil.ch" + ] + }, + "resolve_flags":[] }, "2532":{ "bfs":"2532", "name":"Subingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"subingen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], - "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud a:webcms.ruf.ch include:spf.cloudrexx.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud a:webcms.ruf.ch include:spf.cloudrexx.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:80.74.136.182 ip4:80.74.128.231 ip4:80.74.128.204 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch a:webcms.ruf.ch include:spf.cloudrexx.com -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "subingen.ch" + ], + "redirect":[], + "wikidata":[ + "subingen.ch" + ], + "guess":[ + "subingen.ch" + ] + }, + "resolve_flags":[] }, "2534":{ "bfs":"2534", "name":"Zuchwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"zuchwil.ch", "mx":[ "mail.format-ag.ch", @@ -15185,33 +52171,126 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:146483490.spf03.hubspotemail.net -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:146483490.spf03.hubspotemail.net -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:3.93.157.0/24 ip4:3.210.190.0/24 ip4:18.208.124.128/25 ip4:54.174.52.0/24 ip4:54.174.57.0/24 ip4:54.174.59.0/24 ip4:54.174.60.0/23 ip4:54.174.63.0/24 ip4:108.179.144.0/20 ip4:139.180.17.0/24 ip4:141.193.184.32/27 ip4:141.193.184.64/26 ip4:141.193.184.128/25 ip4:141.193.185.32/27 ip4:141.193.185.64/26 ip4:141.193.185.128/25 ip4:143.244.80.0/20 ip4:158.247.16.0/20 ip4:216.139.64.0/19 -all", - "mx_asns":[ - 202035 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "zuchwil.ch" + ], + "guess":[ + "zuchwil.ch" + ] + }, + "resolve_flags":[] }, "2535":{ "bfs":"2535", "name":"Drei Höfe", - "canton":"", + "canton":"Kanton Solothurn", "domain":"dreihoefe.ch", "mx":[ "dreihoefe-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dreihoefe-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dreihoefe.ch" + ], + "redirect":[], + "wikidata":[ + "dreihoefe.ch" + ], + "guess":[ + "dreihoefe.ch" + ] + }, + "resolve_flags":[] }, "2541":{ "bfs":"2541", "name":"Balm bei Günsberg", - "canton":"", + "canton":"Kanton Solothurn", "domain":"balm-balmberg.ch", "mx":[ "mx03.solnet.ch", @@ -15219,33 +52298,107 @@ ], "spf":"v=spf1 include:solnet.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:solnet.ch -all v=spf1 include:_spf.solnet.ch include:_spf-cust.solnet.ch include:spf.protection.outlook.com -all v=spf1 ip4:82.220.4.128/25 ip4:212.101.4.128/25 ip6:2001:1680:2::/64 -all v=spf1 ip4:82.220.17.64/27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 9044 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "balm-balmberg.ch" + ], + "redirect":[], + "wikidata":[ + "balm-balmberg.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2542":{ "bfs":"2542", "name":"Bellach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"bellach.ch", "mx":[ "bellach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +a:mailsrv.dynabyte.ch +ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +a:mailsrv.dynabyte.ch +ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bellach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bellach.ch" + ], + "redirect":[], + "wikidata":[ + "bellach.ch" + ], + "guess":[ + "bellach.ch" + ] + }, + "resolve_flags":[] }, "2543":{ "bfs":"2543", "name":"Bettlach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"bettlach.ch", "mx":[ "bettlach.ch.1.0001.arsmtp.com", @@ -15253,86 +52406,353 @@ ], "spf":"v=spf1 include:exghost.com include:appriver.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:exghost.com include:appriver.com ~all v=spf1 ip4:204.232.236.0/23 ip4:204.232.250.0/24 ip4:207.97.230.0/24 ip4:5.152.185.0/24 ip4:50.56.144.0/24 ip4:72.32.253.64/26 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:92.52.89.64/26 ip4:72.3.212.195 ip4:198.37.147.129 include:stspg-customer.com ~all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com include:rnmk.com ~all v=spf1 ip4:23.253.182.103 ip4:23.253.183.145 ip4:23.253.183.146 ip4:23.253.183.147 ip4:23.253.183.148 ip4:23.253.183.150 ip4:166.78.68.221 ip4:167.89.46.159 ip4:167.89.64.9 ip4:167.89.65.0 ip4:167.89.65.53 ip4:167.89.65.100 ip4:167.89.74.233 ip4:167.89.75.33 ip4:167.89.75.126 ip4:167.89.75.136 ip4:167.89.75.164 ip4:192.237.159.42 ip4:192.237.159.43 ip4:159.112.242.162 ip4:159.135.228.10 ip4:198.244.56.107 ip4:198.244.56.108 ip4:198.244.56.109 ip4:198.244.56.111 ip4:198.244.56.112 ip4:198.244.56.113 ip4:198.244.56.114 ip4:198.244.56.115 ip4:204.220.181.105 ~all v=spf1 ip4:204.232.250.0/24 ip4:5.152.185.0/24 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:72.3.212.195 ip4:5.152.188.0/24 ip4:174.37.170.192/27 ~all v=spf1 ip4:75.126.84.128/26 ip4:67.228.8.0/25 ip4:67.227.149.19 ip4:64.56.208.32/27 ip4:67.228.91.90 ip4:67.228.158.174 ip4:174.36.44.116/30 ip4:50.201.66.168 ip4:63.71.8.0/21 ip4:199.30.232.0/21 ip4:74.203.184.0/23 ip4:207.195.176.0/20 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf-a.rnmk.com exists:%{i}.spf.rnmk.com -all v=spf1 ip4:129.148.164.0/25 ip4:129.148.215.0/25 ip4:129.149.6.0/25 ip4:129.149.38.0/25 ip4:138.1.170.0/24 ip4:147.154.32.0/25 ip4:147.154.63.0/24 ip4:147.154.126.0/24 ip4:147.154.191.0/24 ip4:162.88.24.0/23 ip4:192.29.72.0/25 ip4:192.29.88.0/25 ip4:192.29.103.128/25 ip4:192.29.134.0/25 ip4:155.248.148.0/25 ip4:131.186.12.0/25 ip4:139.177.108.0/25 ip4:162.88.4.0/23 ip4:162.88.8.0/24 ip4:162.88.36.0/24 ip4:208.76.62.0/23 ip4:216.146.32.0/23 ip4:207.211.132.0/25 ip4:165.1.100.0/25 ip4:158.247.100.0/25 ip4:192.29.172.0/25 ip4:192.29.24.0/25 ip4:192.29.232.0/25 ip4:192.29.248.0/25 ip4:192.29.216.0/25 ip4:192.29.44.0/25 ip4:192.29.151.128/25 ip4:129.148.135.0/25 ip4:129.148.148.0/25 ip4:129.149.126.0/25 ip4:129.148.180.0/25 ip4:129.149.52.0/25 ip4:159.13.4.0/25 ip4:84.8.68.0/25 ip4:192.29.200.0/25 ip4:138.1.108.0/25 ip4:130.35.116.0/25 ip4:192.29.178.0/25 ip4:129.149.22.0/25 ip4:129.149.118.0/25 ip4:129.149.100.0/25 ip4:129.149.84.0/25 ip4:129.149.68.0/25 ip4:155.248.135.128/25 ip4:155.248.140.0/25 -all", - "mx_asns":[ - 59519, - 203160 - ], - "autodiscover":{ - "autodiscover_cname":"adr.exghost.com" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bettlach.ch" + ], + "guess":[ + "bettlach.ch" + ] + }, + "resolve_flags":[] }, "2544":{ "bfs":"2544", "name":"Feldbrunnen-St. Niklaus", - "canton":"", + "canton":"Kanton Solothurn", "domain":"feldbrunnen.ch", "mx":[ "feldbrunnen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:93.174.20.41 include:spf.protection.outlook.com include:spf.hstex.comp-sys.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:93.174.20.41 include:spf.protection.outlook.com include:spf.hstex.comp-sys.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:93.174.16.0/23 ip6:2a04:a2c0:2::/48 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX feldbrunnen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "feldbrunnen.ch" + ], + "redirect":[], + "wikidata":[ + "feldbrunnen.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2545":{ "bfs":"2545", "name":"Flumenthal", - "canton":"", + "canton":"Kanton Solothurn", "domain":"flumenthal.ch", "mx":[ "flumenthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX flumenthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "flumenthal.ch" + ], + "redirect":[], + "wikidata":[ + "flumenthal.ch" + ], + "guess":[ + "flumenthal.ch" + ] + }, + "resolve_flags":[] }, "2546":{ "bfs":"2546", "name":"Grenchen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"grenchen.ch", "mx":[ "grenchen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grenchen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.grenchen.ch CNAME → selector1-grenchen-ch._domainkey.stadtgrenchen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.grenchen.ch CNAME → selector2-grenchen-ch._domainkey.stadtgrenchen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grenchen.ch" + ], + "redirect":[], + "wikidata":[ + "grenchen.ch" + ], + "guess":[ + "grenchen.ch" + ] + }, + "resolve_flags":[] }, "2547":{ "bfs":"2547", "name":"Günsberg", - "canton":"", + "canton":"Kanton Solothurn", "domain":"guensberg.ch", "mx":[ "guensberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX guensberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "guensberg.ch" + ], + "redirect":[], + "wikidata":[ + "guensberg.ch" + ], + "guess":[ + "guensberg.ch" + ] + }, + "resolve_flags":[] }, "2548":{ "bfs":"2548", @@ -15344,90 +52764,446 @@ ], "spf":"v=spf1 a mx ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hubersdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hubersdorf.ch CNAME → selector1-hubersdorf-ch._domainkey.hubersdorf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hubersdorf.ch CNAME → selector2-hubersdorf-ch._domainkey.hubersdorf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ggs.ch", + "hubersdorf.ch", + "vd.so.ch" + ], + "redirect":[], + "wikidata":[ + "hubersdorf.ch" + ], + "guess":[ + "hubersdorf.ch" + ] + }, + "resolve_flags":[] }, "2549":{ "bfs":"2549", "name":"Kammersrohr", - "canton":"", - "domain":"kammersrohr.ch", - "mx":[ - "mx1.hostfactory.ch", - "mx2.hostfactory.swiss", - "mx3.hostfactory.ch", - "mx4.hostfactory.swiss" - ], - "spf":"v=spf1 a:spf.hostfactory.ch -all", - "provider":"swiss-isp", - "mx_asns":[ - 29691, - 58222 - ] + "canton":"Kanton Solothurn", + "domain":"bluewin.ch", + "mx":[ + "mx01.p.bluenet.ch", + "mx02.p.bluenet.ch" + ], + "spf":"v=spf1 redirect=_spf.bluewin.ch", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "bluewin.ch" + ] + }, + "resolve_flags":[] }, "2550":{ "bfs":"2550", "name":"Langendorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"langendorf-so.ch", "mx":[ "langendorfso-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:78.46.6.166 ip6:2a01:4f8:d0a:309a::2 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:78.46.6.166 ip6:2a01:4f8:d0a:309a::2 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX langendorfso-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "langendorf-so.ch" + ], + "guess":[ + "langendorf.ch" + ] + }, + "resolve_flags":[] }, "2551":{ "bfs":"2551", "name":"Lommiswil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"lommiswil.ch", "mx":[ "lommiswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:_spf.sui-inter.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:_spf.sui-inter.net -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lommiswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lommiswil.ch" + ], + "redirect":[], + "wikidata":[ + "lommiswil.ch" + ], + "guess":[ + "lommiswil.ch" + ] + }, + "resolve_flags":[] }, "2553":{ "bfs":"2553", - "name":"Oberdorf", - "canton":"", + "name":"Oberdorf (SO)", + "canton":"Kanton Solothurn", "domain":"oberdorf.ch", "mx":[ "oberdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberdorf.ch" + ], + "redirect":[], + "wikidata":[ + "oberdorf.ch" + ], + "guess":[ + "oberdorf.ch" + ] + }, + "resolve_flags":[] }, "2554":{ "bfs":"2554", "name":"Riedholz", - "canton":"", + "canton":"Kanton Solothurn", "domain":"riedholz.ch", "mx":[ "mail.format-ag.ch", @@ -15437,220 +53213,968 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "riedholz.ch" + ], + "guess":[ + "riedholz.ch" + ] + }, + "resolve_flags":[] }, "2555":{ "bfs":"2555", "name":"Rüttenen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"ruettenen.ch", "mx":[ "ruettenen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:141207667.spf10.hubspotemail.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:141207667.spf10.hubspotemail.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:3.93.157.0/24 ip4:3.210.190.0/24 ip4:18.208.124.128/25 ip4:54.174.52.0/24 ip4:54.174.57.0/24 ip4:54.174.59.0/24 ip4:54.174.60.0/23 ip4:54.174.63.0/24 ip4:108.179.144.0/20 ip4:139.180.17.0/24 ip4:141.193.184.32/27 ip4:141.193.184.64/26 ip4:141.193.184.128/25 ip4:141.193.185.32/27 ip4:141.193.185.64/26 ip4:141.193.185.128/25 ip4:143.244.80.0/20 ip4:158.247.16.0/20 ip4:216.139.64.0/19 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ruettenen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ruettenen.ch CNAME → selector1-ruettenen-ch._domainkey.ruettenench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ruettenen.ch CNAME → selector2-ruettenen-ch._domainkey.ruettenench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ruettenen.ch" + ], + "redirect":[], + "wikidata":[ + "ruettenen.ch" + ], + "guess":[ + "ruettenen.ch" + ] + }, + "resolve_flags":[] }, "2556":{ "bfs":"2556", "name":"Selzach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"selzach.ch", "mx":[ "selzach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX selzach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.selzach.ch CNAME → selector1-selzach-ch._domainkey.selzach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.selzach.ch CNAME → selector2-selzach-ch._domainkey.selzach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "selzach.ch" + ], + "guess":[ + "selzach.ch" + ] + }, + "resolve_flags":[] }, "2571":{ "bfs":"2571", "name":"Boningen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"boningen.ch", "mx":[ "boningen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boningen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.boningen.ch CNAME → selector1-boningen-ch._domainkey.gemeindeboningen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.boningen.ch CNAME → selector2-boningen-ch._domainkey.gemeindeboningen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "boningen.ch" + ], + "redirect":[], + "wikidata":[ + "boningen.ch" + ], + "guess":[ + "boningen.ch" + ] + }, + "resolve_flags":[] }, "2572":{ "bfs":"2572", "name":"Däniken", - "canton":"", + "canton":"Kanton Solothurn", "domain":"daeniken.ch", "mx":[ "daeniken-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.exclaimer.net include:_spf.talus.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.exclaimer.net include:_spf.talus.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:104.40.229.156 ip4:52.169.0.179 ip4:191.237.4.149 ip4:104.209.35.28 ip4:104.210.80.79 ip4:13.70.157.244 ip4:51.140.37.132 ip4:51.141.5.228 ip4:52.233.37.155 ip4:52.242.32.10 ip4:20.233.10.24 ip4:20.74.156.16 ip4:20.52.124.58 ip4:20.113.192.118 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.daeniken.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX daeniken-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "daeniken.ch" + ], + "redirect":[], + "wikidata":[ + "daeniken.ch" + ], + "guess":[ + "daeniken.ch" + ] + }, + "resolve_flags":[] }, "2573":{ "bfs":"2573", "name":"Dulliken", - "canton":"", + "canton":"Kanton Solothurn", "domain":"dulliken.ch", "mx":[ "dulliken-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dulliken-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dulliken.ch" + ], + "redirect":[], + "wikidata":[ + "dulliken.ch" + ], + "guess":[ + "dulliken.ch" + ] + }, + "resolve_flags":[] }, "2574":{ "bfs":"2574", "name":"Eppenberg-Wöschnau", - "canton":"", + "canton":"Kanton Solothurn", "domain":"eppenberg-woeschnau.ch", "mx":[ "eppenbergwoeschnau-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"hostcenter.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eppenbergwoeschnau-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eppenberg-woeschnau.ch" + ], + "redirect":[], + "wikidata":[ + "eppenberg-woeschnau.ch" + ], + "guess":[ + "eppenberg-woeschnau.ch" + ] + }, + "resolve_flags":[] }, "2575":{ "bfs":"2575", "name":"Fulenbach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"fulenbach.ch", "mx":[ "fulenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fulenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fulenbach.ch" + ], + "redirect":[], + "wikidata":[ + "fulenbach.ch" + ], + "guess":[ + "fulenbach.ch" + ] + }, + "resolve_flags":[] }, "2576":{ "bfs":"2576", "name":"Gretzenbach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"gretzenbach.ch", "mx":[ "gretzenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gretzenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gretzenbach.ch" + ], + "redirect":[], + "wikidata":[ + "gretzenbach.ch" + ], + "guess":[ + "gretzenbach.ch" + ] + }, + "resolve_flags":[] }, "2578":{ "bfs":"2578", "name":"Gunzgen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"gunzgen.ch", "mx":[ "gunzgen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gunzgen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "gunzgen.ch" + ], + "redirect":[], + "wikidata":[ + "gunzgen.ch" + ], + "guess":[ + "gunzgen.ch" + ] + }, + "resolve_flags":[] }, "2579":{ "bfs":"2579", "name":"Hägendorf", - "canton":"", + "canton":"Kanton Solothurn", "domain":"haegendorf.ch", "mx":[ "haegendorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.tophost.ch include:_spf.tophost.ch include:relay.mailchannels.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.tophost.ch include:_spf.tophost.ch include:relay.mailchannels.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX haegendorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "haegendorf.ch" + ], + "redirect":[], + "wikidata":[ + "haegendorf.ch" + ], + "guess":[ + "haegendorf.ch" + ] + }, + "resolve_flags":[] }, "2580":{ "bfs":"2580", - "name":"Kappel", - "canton":"", + "name":"Kappel (SO)", + "canton":"Kanton Solothurn", "domain":"kappel-so.ch", "mx":[ "kappelso-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.smtp.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.smtp.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kappelso-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kappel-so.ch CNAME → selector1-kappelso-ch01e._domainkey.gemeindekappel.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kappel-so.ch CNAME → selector2-kappelso-ch01e._domainkey.gemeindekappel.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kappel-so.ch" + ], + "redirect":[], + "wikidata":[ + "kappel-so.ch" + ], + "guess":[ + "kappel.ch" + ] + }, + "resolve_flags":[] }, "2581":{ "bfs":"2581", "name":"Olten", - "canton":"", + "canton":"Kanton Solothurn", "domain":"olten.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -15658,16 +54182,47 @@ ], "spf":"v=spf1 mx ip4:164.128.174.20 ip4:193.135.131.203 a:dispatch-eu.ppe-hosted.com include:_spf.i-web.ch include:spf1.egeko.ch include:spf.protection.outlook.com include:psm.knowbe4.com include:mx.dvbern.ch include:spf.omcomputer.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:164.128.174.20 ip4:193.135.131.203 a:dispatch-eu.ppe-hosted.com include:_spf.i-web.ch include:spf1.egeko.ch include:spf.protection.outlook.com include:psm.knowbe4.com include:mx.dvbern.ch include:spf.omcomputer.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:34.199.159.209 ip4:34.197.134.60 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 ip4:34.251.106.174 -all v=spf1 ip4:185.125.165.24/31 -all v=spf1 ip4:194.56.218.154 -all", + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], "gateway":"proofpoint", - "mx_asns":[ - 52129 - ] + "sources_detail":{ + "scrape":[ + "olten.ch" + ], + "redirect":[], + "wikidata":[ + "olten.ch" + ], + "guess":[ + "olten.ch" + ] + }, + "resolve_flags":[] }, "2582":{ "bfs":"2582", - "name":"Rickenbach", - "canton":"", + "name":"Rickenbach (SO)", + "canton":"Kanton Solothurn", "domain":"rickenbachso.ch", "mx":[ "mail.format-ag.ch", @@ -15677,54 +54232,216 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "rickenbachso.ch" + ], + "redirect":[], + "wikidata":[ + "rickenbachso.ch" + ], + "guess":[ + "rickenbach.ch" + ] + }, + "resolve_flags":[] }, "2583":{ "bfs":"2583", "name":"Schönenwerd", - "canton":"", + "canton":"Kanton Solothurn", "domain":"schoenenwerd.ch", "mx":[ "schoenenwerd-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schoenenwerd-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.schoenenwerd.ch CNAME → selector1-schoenenwerd-ch._domainkey.gemeindeschoenenwerd.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.schoenenwerd.ch CNAME → selector2-schoenenwerd-ch._domainkey.gemeindeschoenenwerd.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schoenenwerd.ch" + ], + "redirect":[], + "wikidata":[ + "schoenenwerd.ch" + ], + "guess":[ + "schoenenwerd.ch" + ] + }, + "resolve_flags":[] }, "2584":{ "bfs":"2584", "name":"Starrkirch-Wil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"starrkirch-wil.ch", "mx":[ "starrkirchwil-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:217.148.4.244 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:217.148.4.244 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX starrkirchwil-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.starrkirch-wil.ch CNAME → selector1-starrkirchwil-ch02e._domainkey.starrkirchwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.starrkirch-wil.ch CNAME → selector2-starrkirchwil-ch02e._domainkey.starrkirchwilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "starrkirch-wil.ch" + ], + "redirect":[], + "wikidata":[ + "starrkirch-wil.ch" + ], + "guess":[ + "starrkirch-wil.ch" + ] + }, + "resolve_flags":[] }, "2585":{ "bfs":"2585", - "name":"Walterswil", - "canton":"", + "name":"Walterswil (SO)", + "canton":"Kanton Solothurn", "domain":"walterswil.ch", "mx":[ "mx01.servicehoster.ch", @@ -15732,56 +54449,171 @@ ], "spf":"v=spf1 include:servicehoster.ch a ip4:193.135.56.6 mx ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:servicehoster.ch a ip4:193.135.56.6 mx ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 1836 - ], - "autodiscover":{ - "autodiscover_cname":"redirect-autodiscover.cloudpit.io" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "walterswil.ch" + ], + "redirect":[], + "wikidata":[ + "walterswil.ch" + ], + "guess":[ + "walterswil.ch" + ] + }, + "resolve_flags":[] }, "2586":{ "bfs":"2586", "name":"Wangen bei Olten", - "canton":"", + "canton":"Kanton Solothurn", "domain":"wangenbo.ch", "mx":[ "wangenbo-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.mail.hostpoint.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.mail.hostpoint.ch include:spf.protection.outlook.com ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wangenbo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "wangenbo.ch" + ], + "redirect":[], + "wikidata":[ + "wangenbo.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2601":{ "bfs":"2601", "name":"Solothurn", - "canton":"", + "canton":"Kanton Solothurn", "domain":"solothurn.ch", "mx":[ "solothurn-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx a include:_spf.ch.seppmail.cloud include:spf.nl2go.com include:_spf.i-web.ch include:_spf.zimpel.de include:spf.umantis.com ip4:194.48.244.4 ip4:185.73.240.214 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:_spf.ch.seppmail.cloud include:spf.nl2go.com include:_spf.i-web.ch include:_spf.zimpel.de include:spf.umantis.com ip4:194.48.244.4 ip4:185.73.240.214 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.201.168.38/32 ip4:193.201.168.170/31 v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "solothurn.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "solothurn.ch" + ] + }, + "resolve_flags":[] }, "2611":{ "bfs":"2611", "name":"Bärschwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"baerschwil.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -15789,51 +54621,101 @@ ], "spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch v=spf1 include:spf.mail.hostpoint.ch ?all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "baerschwil.ch" + ], + "redirect":[], + "wikidata":[ + "baerschwil.ch" + ], + "guess":[ + "baerschwil.ch" + ] + }, + "resolve_flags":[] }, "2612":{ "bfs":"2612", - "name":"Beinwil", - "canton":"", + "name":"Beinwil (SO)", + "canton":"Kanton Solothurn", "domain":"beinwil-so.ch", "mx":[ "mail.beinwil-so.ch" ], "spf":"v=spf1 +a +mx +a:rlx1.loginserver.ch -all", "provider":"independent", - "mx_asns":[ - 24940 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "beinwil-so.ch" + ], + "redirect":[], + "wikidata":[ + "beinwil-so.ch" + ], + "guess":[ + "beinwil.ch" + ] + }, + "resolve_flags":[] }, "2613":{ "bfs":"2613", "name":"Breitenbach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"breitenbach.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "breitenbach.ch" + ], + "redirect":[], + "wikidata":[ + "breitenbach.ch" + ], + "guess":[ + "breitenbach.ch" + ] + }, + "resolve_flags":[] }, "2614":{ "bfs":"2614", "name":"Büsserach", - "canton":"", + "canton":"Kanton Solothurn", "domain":"buesserach.ch", "mx":[ "mail.format-ag.ch", @@ -15843,18 +54725,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buesserach.ch" + ], + "redirect":[], + "wikidata":[ + "buesserach.ch" + ], + "guess":[ + "buesserach.ch" + ] + }, + "resolve_flags":[] }, "2615":{ "bfs":"2615", "name":"Erschwil", - "canton":"", + "canton":"Kanton Solothurn", "domain":"erschwil.ch", "mx":[ "erschwil.ch.1.0001.arsmtp.com", @@ -15862,14 +54766,29 @@ ], "spf":"v=spf1 a:erschwil.ch mx include:exghost.com include:appriver.com include:edgepilot.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 a:erschwil.ch mx include:exghost.com include:appriver.com include:edgepilot.com ~all v=spf1 ip4:204.232.236.0/23 ip4:204.232.250.0/24 ip4:207.97.230.0/24 ip4:5.152.185.0/24 ip4:50.56.144.0/24 ip4:72.32.253.64/26 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:92.52.89.64/26 ip4:72.3.212.195 ip4:198.37.147.129 include:stspg-customer.com ~all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com include:rnmk.com ~all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com ~all v=spf1 ip4:23.253.182.103 ip4:23.253.183.145 ip4:23.253.183.146 ip4:23.253.183.147 ip4:23.253.183.148 ip4:23.253.183.150 ip4:166.78.68.221 ip4:167.89.46.159 ip4:167.89.64.9 ip4:167.89.65.0 ip4:167.89.65.53 ip4:167.89.65.100 ip4:167.89.74.233 ip4:167.89.75.33 ip4:167.89.75.126 ip4:167.89.75.136 ip4:167.89.75.164 ip4:192.237.159.42 ip4:192.237.159.43 ip4:159.112.242.162 ip4:159.135.228.10 ip4:198.244.56.107 ip4:198.244.56.108 ip4:198.244.56.109 ip4:198.244.56.111 ip4:198.244.56.112 ip4:198.244.56.113 ip4:198.244.56.114 ip4:198.244.56.115 ip4:204.220.181.105 ~all v=spf1 ip4:204.232.250.0/24 ip4:5.152.185.0/24 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:72.3.212.195 ip4:5.152.188.0/24 ip4:174.37.170.192/27 ~all v=spf1 ip4:75.126.84.128/26 ip4:67.228.8.0/25 ip4:67.227.149.19 ip4:64.56.208.32/27 ip4:67.228.91.90 ip4:67.228.158.174 ip4:174.36.44.116/30 ip4:50.201.66.168 ip4:63.71.8.0/21 ip4:199.30.232.0/21 ip4:74.203.184.0/23 ip4:207.195.176.0/20 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf-a.rnmk.com exists:%{i}.spf.rnmk.com -all v=spf1 ip4:129.148.164.0/25 ip4:129.148.215.0/25 ip4:129.149.6.0/25 ip4:129.149.38.0/25 ip4:138.1.170.0/24 ip4:147.154.32.0/25 ip4:147.154.63.0/24 ip4:147.154.126.0/24 ip4:147.154.191.0/24 ip4:162.88.24.0/23 ip4:192.29.72.0/25 ip4:192.29.88.0/25 ip4:192.29.103.128/25 ip4:192.29.134.0/25 ip4:155.248.148.0/25 ip4:131.186.12.0/25 ip4:139.177.108.0/25 ip4:162.88.4.0/23 ip4:162.88.8.0/24 ip4:162.88.36.0/24 ip4:208.76.62.0/23 ip4:216.146.32.0/23 ip4:207.211.132.0/25 ip4:165.1.100.0/25 ip4:158.247.100.0/25 ip4:192.29.172.0/25 ip4:192.29.24.0/25 ip4:192.29.232.0/25 ip4:192.29.248.0/25 ip4:192.29.216.0/25 ip4:192.29.44.0/25 ip4:192.29.151.128/25 ip4:129.148.135.0/25 ip4:129.148.148.0/25 ip4:129.149.126.0/25 ip4:129.148.180.0/25 ip4:129.149.52.0/25 ip4:159.13.4.0/25 ip4:84.8.68.0/25 ip4:192.29.200.0/25 ip4:138.1.108.0/25 ip4:130.35.116.0/25 ip4:192.29.178.0/25 ip4:129.149.22.0/25 ip4:129.149.118.0/25 ip4:129.149.100.0/25 ip4:129.149.84.0/25 ip4:129.149.68.0/25 ip4:155.248.135.128/25 ip4:155.248.140.0/25 -all", - "mx_asns":[ - 59519, - 203160 - ], - "autodiscover":{ - "autodiscover_cname":"adr.exghost.com" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "erschwil.ch" + ], + "redirect":[], + "wikidata":[ + "erschwil.ch" + ], + "guess":[ + "erschwil.ch" + ] + }, + "resolve_flags":[] }, "2616":{ "bfs":"2616", @@ -15881,103 +54800,501 @@ ], "spf":"v=spf1 ip4:185.66.108.55 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.66.108.55 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fehren-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.fehren.ch CNAME → selector1-fehren-ch._domainkey.fehren.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.fehren.ch CNAME → selector2-fehren-ch._domainkey.fehren.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fehren.ch" + ], + "guess":[ + "fehren.ch" + ] + }, + "resolve_flags":[] }, "2617":{ "bfs":"2617", "name":"Grindel", - "canton":"", + "canton":"Kanton Solothurn", "domain":"grindel.ch", "mx":[ "grindel-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grindel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grindel.ch" + ], + "redirect":[], + "wikidata":[ + "grindel.ch" + ], + "guess":[ + "grindel.ch" + ] + }, + "resolve_flags":[] }, "2618":{ "bfs":"2618", "name":"Himmelried", - "canton":"", + "canton":"Kanton Solothurn", "domain":"himmelried.ch", "mx":[ "himmelried-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX himmelried-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.himmelried.ch CNAME → selector1-himmelried-ch._domainkey.himmelried.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.himmelried.ch CNAME → selector2-himmelried-ch._domainkey.himmelried.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "himmelried.ch" + ], + "redirect":[], + "wikidata":[ + "himmelried.ch" + ], + "guess":[ + "himmelried.ch" + ] + }, + "resolve_flags":[] }, "2619":{ "bfs":"2619", "name":"Kleinlützel", - "canton":"", + "canton":"Kanton Solothurn", "domain":"kleinluetzel.ch", "mx":[ "kleinluetzel-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:195.48.58.75 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.48.58.75 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kleinluetzel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kleinluetzel.ch" + ], + "redirect":[], + "wikidata":[ + "kleinluetzel.ch" + ], + "guess":[ + "kleinluetzel.ch" + ] + }, + "resolve_flags":[] }, "2620":{ "bfs":"2620", "name":"Meltingen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"meltingen.ch", "mx":[ "meltingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX meltingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "meltingen.ch" + ], + "redirect":[], + "wikidata":[ + "meltingen.ch" + ], + "guess":[ + "meltingen.ch" + ] + }, + "resolve_flags":[] }, "2621":{ "bfs":"2621", "name":"Nunningen", - "canton":"", + "canton":"Kanton Solothurn", "domain":"nunningen.ch", "mx":[ "nunningen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nunningen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "nunningen.ch" + ], + "guess":[ + "nunningen.ch" + ] + }, + "resolve_flags":[] }, "2622":{ "bfs":"2622", @@ -15989,13 +55306,75 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zullwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "zullwil.ch" + ], + "guess":[ + "zullwil.ch" + ] + }, + "resolve_flags":[] }, "2701":{ "bfs":"2701", @@ -16008,14 +55387,68 @@ "mail20.swisscom.com" ], "spf":"v=spf1 a:mx.kundenserver.de a:spf.bs.ch include:spf.swisscom.com include:spf.crsend.com include:spf.appmail.swisscom.com include:servers.mcsv.net include:spf.nextron.ch include:_spf.jpberlin.de include:newsmailservice.de include:_spfip.oriented.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:mx.kundenserver.de a:spf.bs.ch include:spf.swisscom.com include:spf.crsend.com include:spf.appmail.swisscom.com include:servers.mcsv.net include:spf.nextron.ch include:_spf.jpberlin.de include:newsmailservice.de include:_spfip.oriented.ch -all v=spf1 ip4:138.188.176.0/26 ip4:138.188.176.128/26 ip4:138.188.166.96/27 ~all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all v=spf1 ip4:138.188.166.160/27 ip4:138.188.163.96/28 ~all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:193.108.137.0/24 ip4:80.74.149.0/24 ip4:194.150.248.30 -all v=spf1 ip4:80.241.56.0/21 ip4:91.198.250.0/24 ip4:195.10.208.0/24 ip6:2001:67c:2050::/48 ~all v=spf1 mx ip4:5.75.140.191 ip4:5.75.240.187 ip4:5.75.240.190 ip4:5.75.170.61 ip4:91.99.17.215 ip4:46.224.113.54 ~all v=spf1 ip4:185.15.230.184 ip4:185.15.230.188 ip4:185.15.230.224 ip4:185.214.155.122 ip4:62.2.197.119 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.bs.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bs.ch" + ], + "redirect":[], + "wikidata":[ + "bs.ch" + ], + "guess":[ + "gemeinde-basel.ch" + ] + }, + "resolve_flags":[ + "website_mismatch" + ] }, "2702":{ "bfs":"2702", @@ -16028,14 +55461,58 @@ "mail20.swisscom.com" ], "spf":"v=spf1 a mx include:spf.swisscom.com ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx include:spf.swisscom.com ~all v=spf1 ip4:138.188.176.0/26 ip4:138.188.176.128/26 ip4:138.188.166.96/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.bs.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bettingen.ch" + ], + "guess":[ + "bettingen.ch" + ] + }, + "resolve_flags":[] }, "2703":{ "bfs":"2703", @@ -16048,18 +55525,68 @@ "mail20.swisscom.com" ], "spf":"v=spf1 include:spf.swisscom.com include:spf.abacus.ch include:spf.amazee.io ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.swisscom.com include:spf.abacus.ch include:spf.amazee.io ~all v=spf1 ip4:138.188.176.0/26 ip4:138.188.176.128/26 ip4:138.188.166.96/27 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 -all v=spf1 ip4:5.102.145.30 ip6:2a06:c01:1:1102::30 ip4:5.102.151.229 ip6:2a06:c00::56fd ?all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.bs.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "riehen.ch" + ], + "guess":[ + "riehen.ch" + ] + }, + "resolve_flags":[] }, "2761":{ "bfs":"2761", - "name":"Aesch", + "name":"Aesch (BL)", "canton":"Kanton Basel-Landschaft", "domain":"aesch.bl.ch", "mx":[ @@ -16069,30 +55596,96 @@ "ktvmx04.mail.admin.ch" ], "spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf.protection.outlook.com include:spf.abacuscity.ch ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf.protection.outlook.com include:spf.abacuscity.ch ~all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.aesch.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "aesch.bl.ch" + ], + "redirect":[], + "wikidata":[ + "aesch.bl.ch" + ], + "guess":[ + "aesch.bl.ch", + "aesch.ch" + ] + }, + "resolve_flags":[] }, "2762":{ "bfs":"2762", "name":"Allschwil", - "canton":"", - "domain":"allschwil.ch", + "canton":"Kanton Basel-Landschaft", + "domain":"allschwil.bl.ch", "mx":[ - "212.120.53.8" + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "spf":"", - "provider":"independent" + "spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:_spf.talus.ch ip4:178.174.17.194 a:smtp-inca.allschwil.bl.ch include:spf.protection.outlook.com ~all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "override":[ + "allschwil.bl.ch" + ] + }, + "resolve_flags":[] }, "2763":{ "bfs":"2763", "name":"Arlesheim", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"arlesheim.ch", "mx":[ "\\032nt.datacomm.ch", @@ -16100,18 +55693,81 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX arlesheim-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "arlesheim.ch" + ], + "guess":[ + "arlesheim.bl.ch", + "arlesheim.ch" + ] + }, + "resolve_flags":[] }, "2764":{ "bfs":"2764", "name":"Biel-Benken", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"biel-benken.ch", "mx":[ "mail.format-ag.ch", @@ -16121,32 +55777,66 @@ ], "spf":"v=spf1 include:_spf.talus.ch ip4:193.135.56.6 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.talus.ch ip4:193.135.56.6 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "biel-benken.ch" + ], + "redirect":[], + "wikidata":[ + "biel-benken.ch" + ], + "guess":[ + "biel-benken.ch" + ] + }, + "resolve_flags":[] }, "2765":{ "bfs":"2765", "name":"Binningen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"binningen.ch", "mx":[ "smtp.backslash.ch" ], "spf":"v=spf1 ip4:193.135.56.0/24 -all", "provider":"independent", - "mx_asns":[ - 207143 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "binningen.ch" + ], + "guess":[ + "binningen.bl.ch", + "binningen.ch" + ] + }, + "resolve_flags":[] }, "2766":{ "bfs":"2766", "name":"Birsfelden", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"birsfelden.ch", "mx":[ "mx1.naveum.services", @@ -16154,73 +55844,295 @@ ], "spf":"v=spf1 mx a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services ip4:194.56.218.181 include:spf.abacuscity.ch include:_spf.talus.ch include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services ip4:194.56.218.181 include:spf.abacuscity.ch include:_spf.talus.ch include:_spf.i-web.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 205737 - ], - "autodiscover":{ - "autodiscover_cname":"mail01.axc.biz" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "birsfelden.ch" + ], + "guess":[ + "birsfelden.ch" + ] + }, + "resolve_flags":[] }, "2767":{ "bfs":"2767", "name":"Bottmingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"bottmingen.ch", "mx":[ "bottmingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a include:spf.protection.outlook.com include:_spf.talus.ch include:spf.etermin.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:spf.protection.outlook.com include:_spf.talus.ch include:spf.etermin.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:52.157.149.216 ip4:20.52.138.252 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bottmingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bottmingen.ch CNAME → selector1-bottmingen-ch._domainkey.ms365bottmingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bottmingen.ch CNAME → selector2-bottmingen-ch._domainkey.ms365bottmingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bottmingen.ch" + ], + "guess":[ + "bottmingen.ch" + ] + }, + "resolve_flags":[] }, "2768":{ "bfs":"2768", "name":"Ettingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"ettingen.ch", "mx":[ "ettingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:web23.internezzo.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:web23.internezzo.ch include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ettingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "ettingen.ch" + ], + "redirect":[], + "wikidata":[ + "ettingen.ch" + ], + "guess":[ + "ettingen.ch" + ] + }, + "resolve_flags":[] }, "2769":{ "bfs":"2769", "name":"Münchenstein", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"muenchenstein.ch", "mx":[ "mstein.in.tmes.trendmicro.eu" ], "spf":"v=spf1 a mx a:mail.muenchenstein.ch ip4:212.120.52.22 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_netblocks1.admin.ch include:_netblocks3.admin.ch include:_spf.talus.ch include:spf.abacuscity.ch include:spf.tmes.trendmicro.com -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx a:mail.muenchenstein.ch ip4:212.120.52.22 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_netblocks1.admin.ch include:_netblocks3.admin.ch include:_spf.talus.ch include:spf.abacuscity.ch include:spf.tmes.trendmicro.com -all v=spf1 ~all v=spf1 ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all v=spf1 ip4:107.22.223.18 ip4:52.70.252.86 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.72.196.143 ip4:54.146.4.63 ip4:54.174.82.86 ip6:2600:1f18:42fe:5c00::/60 ip6:2a05:d014:10e:d900::/60 ip6:2406:da1c:1ef6:1c00::/60 include:spfc.tmes.trendmicro.com ~all v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:15.168.56.0/25 ip4:15.168.49.64/26 ip4:15.168.56.128/26 ip4:18.97.0.160/27 ip4:18.96.32.128/27 ip6:2406:da14:194d:a200::/60 ip6:2406:da18:4ed:be00::/60 ~all", - "gateway":"trendmicro", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.muenchenstein.ch" - } + "gateway":"trendmicro", + "sources_detail":{ + "scrape":[ + "muenchenstein.ch" + ], + "redirect":[], + "wikidata":[ + "muenchenstein.ch" + ], + "guess":[ + "muenchenstein.ch" + ] + }, + "resolve_flags":[] }, "2770":{ "bfs":"2770", "name":"Muttenz", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"muttenz.ch", "mx":[ "mail.format-ag.ch", @@ -16230,143 +56142,601 @@ ], "spf":"v=spf1 a include:_spf.talus.ch a:mail.i-web.ch ip4:87.102.253.202 -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch a:mail.i-web.ch ip4:87.102.253.202 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "muttenz.ch" + ], + "redirect":[], + "wikidata":[ + "muttenz.ch" + ], + "guess":[ + "muttenz.ch" + ] + }, + "resolve_flags":[] }, "2771":{ "bfs":"2771", - "name":"Oberwil", - "canton":"", + "name":"Oberwil (BL)", + "canton":"Kanton Basel-Landschaft", "domain":"oberwil.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.i-web.ch include:spf.protection.outlook.com ip4:212.103.71.210 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.i-web.ch include:spf.protection.outlook.com ip4:212.103.71.210 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "oberwil.ch" + ], + "guess":[ + "oberwil.bl.ch", + "oberwil.ch" + ] + }, + "resolve_flags":[] }, "2772":{ "bfs":"2772", "name":"Pfeffingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"pfeffingen.ch", "mx":[ "pfeffingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pfeffingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pfeffingen.ch" + ], + "redirect":[], + "wikidata":[ + "pfeffingen.ch" + ], + "guess":[ + "pfeffingen.ch" + ] + }, + "resolve_flags":[] }, "2773":{ "bfs":"2773", - "name":"Reinach", - "canton":"", + "name":"Reinach (BL)", + "canton":"Kanton Basel-Landschaft", "domain":"reinach-bl.ch", "mx":[ "reinach-bl-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx a:mail.format-ag.ch a:eu1.smtp.exclaimer.net a:eu2.smtp.exclaimer.net include:spf.protection.outlook.com include:spf.umantis.com include:_spf.ch.seppmail.cloud ip4:162.12.200.200 ip4:162.12.202.20 ip4:162.12.202.6 ip4:162.12.203.214 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail.format-ag.ch a:eu1.smtp.exclaimer.net a:eu2.smtp.exclaimer.net include:spf.protection.outlook.com include:spf.umantis.com include:_spf.ch.seppmail.cloud ip4:162.12.200.200 ip4:162.12.202.20 ip4:162.12.202.6 ip4:162.12.203.214 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 - ] + "sources_detail":{ + "scrape":[ + "reinach-bl.ch" + ], + "redirect":[], + "wikidata":[ + "reinach-bl.ch" + ], + "guess":[ + "reinach.ch" + ] + }, + "resolve_flags":[] }, "2774":{ "bfs":"2774", "name":"Schönenbuch", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"schoenenbuch.ch", "mx":[ "schoenenbuch-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schoenenbuch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schoenenbuch.ch" + ], + "redirect":[], + "wikidata":[ + "schoenenbuch.ch" + ], + "guess":[ + "schoenenbuch.ch" + ] + }, + "resolve_flags":[] }, "2775":{ "bfs":"2775", "name":"Therwil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"therwil.ch", "mx":[ "therwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:146.4.42.27 ip4:212.120.37.100 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:146.4.42.27 ip4:212.120.37.100 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX therwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.therwil.ch CNAME → selector1-therwil-ch._domainkey.therwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.therwil.ch CNAME → selector2-therwil-ch._domainkey.therwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "therwil.ch" + ], + "guess":[ + "gemeinde-therwil.ch", + "therwil.ch" + ] + }, + "resolve_flags":[] }, "2781":{ "bfs":"2781", "name":"Blauen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"blauen.ch", "mx":[ "blauen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX blauen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "blauen.ch" + ], + "redirect":[], + "wikidata":[ + "blauen.ch" + ], + "guess":[ + "blauen.ch" + ] + }, + "resolve_flags":[] }, "2782":{ "bfs":"2782", "name":"Brislach", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"brislach.ch", "mx":[ "brislach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brislach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brislach.ch" + ], + "redirect":[], + "wikidata":[ + "brislach.ch" + ], + "guess":[ + "brislach.ch" + ] + }, + "resolve_flags":[] }, "2783":{ "bfs":"2783", "name":"Burg im Leimental", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"burg-il.ch", "mx":[ "mail.format-ag.ch", @@ -16376,394 +56746,1697 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.vtx.ch", - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "burg-il.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2784":{ "bfs":"2784", "name":"Dittingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"dittingen.ch", "mx":[ "dittingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dittingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.dittingen.ch CNAME → selector1-dittingen-ch._domainkey.gemeindedittingench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.dittingen.ch CNAME → selector2-dittingen-ch._domainkey.gemeindedittingench.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dittingen.ch" + ], + "redirect":[], + "wikidata":[ + "dittingen.ch" + ], + "guess":[ + "dittingen.ch" + ] + }, + "resolve_flags":[] }, "2785":{ "bfs":"2785", "name":"Duggingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"duggingen.ch", "mx":[ "duggingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.liveapp.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX duggingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "duggingen.ch" + ], + "redirect":[], + "wikidata":[ + "duggingen.ch" + ], + "guess":[ + "duggingen.ch" + ] + }, + "resolve_flags":[] }, "2786":{ "bfs":"2786", "name":"Grellingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"grellingen.ch", "mx":[ "grellingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch a:svce-mail.softec.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch a:svce-mail.softec.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grellingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grellingen.ch" + ], + "redirect":[], + "wikidata":[ + "grellingen.ch" + ], + "guess":[ + "grellingen.ch" + ] + }, + "resolve_flags":[] }, "2787":{ "bfs":"2787", "name":"Laufen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"laufen-bl.ch", "mx":[ "laufenbl-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laufenbl-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "laufen-bl.ch" + ], + "redirect":[], + "wikidata":[ + "laufen-bl.ch" + ], + "guess":[ + "laufen.ch" + ] + }, + "resolve_flags":[] }, "2788":{ "bfs":"2788", "name":"Liesberg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"liesberg.ch", "mx":[ "liesberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX liesberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "liesberg.ch" + ], + "redirect":[], + "wikidata":[ + "liesberg.ch" + ], + "guess":[ + "liesberg.ch" + ] + }, + "resolve_flags":[] }, "2789":{ "bfs":"2789", "name":"Nenzlingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"nenzlingen.ch", "mx":[ "nenzlingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nenzlingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "nenzlingen.ch" + ] + }, + "resolve_flags":[] }, "2790":{ "bfs":"2790", "name":"Roggenburg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"roggenburg.ch", "mx":[ "roggenburg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX roggenburg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "roggenburg.ch" + ], + "guess":[ + "roggenburg.ch" + ] + }, + "resolve_flags":[] }, "2791":{ "bfs":"2791", "name":"Röschenz", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"roeschenz.ch", "mx":[ "roeschenz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:85.4.210.100 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:85.4.210.100 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX roeschenz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "roeschenz.ch" + ], + "redirect":[], + "wikidata":[ + "roeschenz.ch" + ], + "guess":[ + "roeschenz.ch" + ] + }, + "resolve_flags":[] }, "2792":{ "bfs":"2792", "name":"Wahlen", - "canton":"", - "domain":"wahlen.ch", + "canton":"Kanton Basel-Landschaft", + "domain":"gemeinde-wahlen.ch", "mx":[ - "mx1.mailstation.ch", - "mx2.mailstation.ch" + "gemeindewahlen-ch02b.mail.protection.outlook.com" ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 29097 - ] + "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindewahlen-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gemeinde-wahlen.ch" + ] + }, + "resolve_flags":[] }, "2793":{ "bfs":"2793", "name":"Zwingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"zwingen.ch", "mx":[ "zwingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zwingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zwingen.ch" + ], + "redirect":[], + "wikidata":[ + "zwingen.ch" + ], + "guess":[ + "zwingen.ch" + ] + }, + "resolve_flags":[] }, "2821":{ "bfs":"2821", "name":"Arisdorf", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"arisdorf.ch", "mx":[ "arisdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX arisdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.arisdorf.ch CNAME → selector1-arisdorf-ch._domainkey.gemeindearisdorfch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.arisdorf.ch CNAME → selector2-arisdorf-ch._domainkey.gemeindearisdorfch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "arisdorf.ch" + ], + "guess":[ + "arisdorf.ch" + ] + }, + "resolve_flags":[] }, "2822":{ "bfs":"2822", "name":"Augst", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"augst.ch", "mx":[ "augst-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX augst-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.augst.ch CNAME → selector1-augst-ch._domainkey.gemeindeaugstch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.augst.ch CNAME → selector2-augst-ch._domainkey.gemeindeaugstch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "augst.ch" + ] + }, + "resolve_flags":[] }, "2823":{ "bfs":"2823", "name":"Bubendorf", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"bubendorf.swiss", "mx":[ "bubendorf-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.talus.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.talus.ch include:spf.protection.outlook.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.bubendorf.swiss" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bubendorf-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bubendorf.swiss" + ], + "guess":[ + "bubendorf.ch" + ] + }, + "resolve_flags":[] }, "2824":{ "bfs":"2824", "name":"Frenkendorf", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"frenkendorf.ch", "mx":[ "frenkendorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:communication.backslash.ch +a:psm.knowbe4.com +a:de.knowbe4.com +A -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:communication.backslash.ch +a:psm.knowbe4.com +a:de.knowbe4.com +A -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX frenkendorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.frenkendorf.ch CNAME → selector1-frenkendorf-ch._domainkey.frenkendorfch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.frenkendorf.ch CNAME → selector2-frenkendorf-ch._domainkey.frenkendorfch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "frenkendorf.ch" + ], + "redirect":[], + "wikidata":[ + "frenkendorf.ch" + ], + "guess":[ + "frenkendorf.ch" + ] + }, + "resolve_flags":[] }, "2825":{ "bfs":"2825", "name":"Füllinsdorf", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"fuellinsdorf.ch", "mx":[ "fuellinsdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_netblocks1.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_netblocks1.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fuellinsdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fuellinsdorf.ch" + ], + "redirect":[], + "wikidata":[ + "fuellinsdorf.ch" + ], + "guess":[ + "fuellinsdorf.ch" + ] + }, + "resolve_flags":[] }, "2826":{ "bfs":"2826", "name":"Giebenach", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"giebenach.ch", "mx":[ "giebenach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX giebenach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "giebenach.ch" + ], + "guess":[ + "giebenach.ch" + ] + }, + "resolve_flags":[] }, "2827":{ "bfs":"2827", "name":"Hersberg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"hersberg.ch", "mx":[ "hersberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hersberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hersberg.ch CNAME → selector1-hersberg-ch._domainkey.gemeindearisdorfch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hersberg.ch CNAME → selector2-hersberg-ch._domainkey.gemeindearisdorfch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "hersberg.ch" + ], + "guess":[ + "hersberg.ch" + ] + }, + "resolve_flags":[] }, "2828":{ "bfs":"2828", "name":"Lausen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"lausen.ch", "mx":[ "lausen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.talus.ch ip4:46.140.120.238 ip4:194.56.218.181 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.talus.ch ip4:46.140.120.238 ip4:194.56.218.181 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lausen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "lausen.ch" + ], + "redirect":[], + "wikidata":[ + "lausen.ch" + ], + "guess":[ + "lausen.ch" + ] + }, + "resolve_flags":[] }, "2829":{ "bfs":"2829", "name":"Liestal", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"liestal.ch", "mx":[ "mx3.armacom.ch" ], "spf":"v=spf1 mx include:spf.armacom.ch a:mail.liestal.ch include:_spf.i-web.ch include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.armacom.ch a:mail.liestal.ch include:_spf.i-web.ch include:_spf.talus.ch -all v=spf1 ip4:213.188.251.246 ip6:2001:4060:1006:50::35 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 6772 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "esb-bl.ch", + "liestal.ch" + ], + "redirect":[], + "wikidata":[ + "liestal.ch" + ], + "guess":[ + "liestal.bl.ch", + "liestal.ch" + ] + }, + "resolve_flags":[] }, "2830":{ "bfs":"2830", "name":"Lupsingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"lupsingen.ch", "mx":[ "lupsingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lupsingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lupsingen.ch" + ], + "guess":[ + "lupsingen.ch" + ] + }, + "resolve_flags":[] }, "2831":{ "bfs":"2831", "name":"Pratteln", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"pratteln.ch", "mx":[ - "rrmx.imp.ch" - ], - "spf":"v=spf1 ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:213.188.248.154 a:mail01.refline.ch a:mail02.refline.ch ~all", - "provider":"independent", - "mx_asns":[ - 6772 + "mx3.armacom.ch" ], - "autodiscover":{ - "autodiscover_cname":"mail.pratteln.ch" - } + "spf":"v=spf1 a:mail01.refline.ch a:mail02.refline.ch ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:213.188.248.154 include:spf.armacom.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pratteln.ch" + ], + "redirect":[], + "wikidata":[ + "pratteln.ch" + ], + "guess":[ + "pratteln.bl.ch", + "pratteln.ch" + ] + }, + "resolve_flags":[] }, "2832":{ "bfs":"2832", "name":"Ramlinsburg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"ramlinsburg.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -16771,72 +58444,314 @@ ], "spf":"v=spf1 redirect=spf.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ramlinsburg.ch" + ], + "guess":[ + "ramlinsburg.ch" + ] + }, + "resolve_flags":[] }, "2833":{ "bfs":"2833", "name":"Seltisberg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"seltisberg.ch", "mx":[ "seltisberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:77.59.226.194 ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:77.59.226.194 ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX seltisberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "seltisberg.ch" + ], + "redirect":[], + "wikidata":[ + "seltisberg.ch" + ], + "guess":[ + "seltisberg.ch" + ] + }, + "resolve_flags":[] }, "2834":{ "bfs":"2834", "name":"Ziefen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"ziefen.ch", "mx":[ "ziefen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:194.0.212.0/24 ip4:193.135.56.6 ip4:195.48.58.75 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:194.0.212.0/24 ip4:193.135.56.6 ip4:195.48.58.75 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ziefen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ziefen.ch CNAME → selector1-ziefen-ch._domainkey.gemeindeziefench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ziefen.ch CNAME → selector2-ziefen-ch._domainkey.gemeindeziefench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "ziefen.ch" + ], + "redirect":[], + "wikidata":[ + "ziefen.ch" + ], + "guess":[ + "ziefen.ch" + ] + }, + "resolve_flags":[] }, "2841":{ "bfs":"2841", "name":"Anwil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"anwil.ch", "mx":[ "anwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX anwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "anwil.ch" + ], + "redirect":[], + "wikidata":[ + "anwil.ch" + ], + "guess":[ + "anwil.ch" + ] + }, + "resolve_flags":[] }, "2842":{ "bfs":"2842", "name":"Böckten", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"boeckten.ch", "mx":[ "mx01.servicehoster.ch", @@ -16844,69 +58759,313 @@ ], "spf":"v=spf1 include:servicehoster.ch a mx ip4:195.48.58.75 ip4:193.135.56.6 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:servicehoster.ch a mx ip4:195.48.58.75 ip4:193.135.56.6 ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 1836 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "boeckten.ch" + ], + "redirect":[], + "wikidata":[ + "boeckten.ch" + ], + "guess":[ + "boeckten.ch" + ] + }, + "resolve_flags":[] }, "2843":{ "bfs":"2843", "name":"Buckten", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"buckten.ch", "mx":[ "buckten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.tmes.trendmicro.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.tmes.trendmicro.com include:spf.protection.outlook.com -all v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:107.22.223.18 ip4:52.70.252.86 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.72.196.143 ip4:54.146.4.63 ip4:54.174.82.86 ip6:2600:1f18:42fe:5c00::/60 ip6:2a05:d014:10e:d900::/60 ip6:2406:da1c:1ef6:1c00::/60 include:spfc.tmes.trendmicro.com ~all v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:15.168.56.0/25 ip4:15.168.49.64/26 ip4:15.168.56.128/26 ip4:18.97.0.160/27 ip4:18.96.32.128/27 ip6:2406:da14:194d:a200::/60 ip6:2406:da18:4ed:be00::/60 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buckten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buckten.ch CNAME → selector1-buckten-ch._domainkey.gemeindebucktench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buckten.ch CNAME → selector2-buckten-ch._domainkey.gemeindebucktench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buckten.ch" + ], + "redirect":[], + "wikidata":[ + "buckten.ch" + ], + "guess":[ + "buckten.ch" + ] + }, + "resolve_flags":[] }, "2844":{ "bfs":"2844", "name":"Buus", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"buus.ch", "mx":[ "buus-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:62.202.29.62 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:62.202.29.62 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buus-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buus.ch CNAME → selector1-buus-ch._domainkey.gemeindebuusch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buus.ch CNAME → selector2-buus-ch._domainkey.gemeindebuusch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "buus.ch" + ], + "redirect":[], + "wikidata":[ + "buus.ch" + ], + "guess":[ + "buus.ch" + ] + }, + "resolve_flags":[] }, "2845":{ "bfs":"2845", "name":"Diepflingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"diepflingen.ch", "mx":[ "diepflingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX diepflingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.diepflingen.ch CNAME → selector1-diepflingen-ch._domainkey.gemeindediepflingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.diepflingen.ch CNAME → selector2-diepflingen-ch._domainkey.gemeindediepflingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "diepflingen.ch" + ], + "guess":[ + "diepflingen.ch" + ] + }, + "resolve_flags":[] }, "2846":{ "bfs":"2846", "name":"Gelterkinden", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"gelterkinden.ch", "mx":[ "mail.format-ag.ch", @@ -16916,51 +59075,172 @@ ], "spf":"v=spf1 mx a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gelterkinden.ch" + ], + "guess":[ + "gelterkinden.ch" + ] + }, + "resolve_flags":[] }, "2847":{ "bfs":"2847", "name":"Häfelfingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"haefelfingen.ch", "mx":[ "haefelfingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX haefelfingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.haefelfingen.ch CNAME → selector1-haefelfingen-ch._domainkey.gemeindehaefelfingench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.haefelfingen.ch CNAME → selector2-haefelfingen-ch._domainkey.gemeindehaefelfingench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "haefelfingen.ch" + ], + "redirect":[], + "wikidata":[ + "haefelfingen.ch" + ], + "guess":[ + "haefelfingen.ch" + ] + }, + "resolve_flags":[] }, "2848":{ "bfs":"2848", "name":"Hemmiken", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"hemmiken.ch", "mx":[ "rrmx.imp.ch" ], "spf":"v=spf1 include:_mailspf.imp.ch include:spf1.egeko.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_mailspf.imp.ch include:spf1.egeko.ch -all v=spf1 ip6:2001:4060:1:1001::/64 ip4:157.161.12.0/22 v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 6772 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hemmiken.ch" + ], + "redirect":[], + "wikidata":[ + "hemmiken.ch" + ], + "guess":[ + "hemmiken.ch" + ] + }, + "resolve_flags":[] }, "2849":{ "bfs":"2849", "name":"Itingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"itingen.ch", "mx":[ "itingen-ch.mail.protection.outlook.com", @@ -16968,211 +59248,1014 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730, - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX itingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "itingen.ch" + ], + "redirect":[], + "wikidata":[ + "itingen.ch" + ], + "guess":[ + "itingen.ch" + ] + }, + "resolve_flags":[] }, "2850":{ "bfs":"2850", "name":"Känerkinden", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"kaenerkinden.ch", "mx":[ "kaenerkinden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kaenerkinden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "kaenerkinden.ch" + ], + "redirect":[], + "wikidata":[ + "kaenerkinden.ch" + ], + "guess":[ + "kaenerkinden.ch" + ] + }, + "resolve_flags":[] }, "2851":{ "bfs":"2851", - "name":"Kilchberg", - "canton":"", - "domain":"kilchberg-bl.ch", + "name":"Kilchberg (BL)", + "canton":"Kanton Basel-Landschaft", + "domain":"verbund-schafmatt.ch", "mx":[ - "inbound-smtp.eu-west-1.amazonaws.com" + "verbundschafmatt-ch01i.mail.protection.outlook.com" ], - "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all", - "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "verbund-schafmatt.ch" + ], + "redirect":[ + "rue-ki-ze.ch" + ], + "wikidata":[ + "kilchberg-bl.ch" + ], + "guess":[ + "kilchberg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2852":{ "bfs":"2852", "name":"Läufelfingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"laeufelfingen.ch", "mx":[ "laeufelfingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch +include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch +include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laeufelfingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "laeufelfingen.ch" + ], + "redirect":[], + "wikidata":[ + "laeufelfingen.ch" + ], + "guess":[ + "laeufelfingen.ch" + ] + }, + "resolve_flags":[] }, "2853":{ "bfs":"2853", "name":"Maisprach", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"maisprach.ch", "mx":[ "maisprach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX maisprach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.maisprach.ch CNAME → selector1-maisprach-ch._domainkey.gemeindemaisprachch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.maisprach.ch CNAME → selector2-maisprach-ch._domainkey.gemeindemaisprachch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "maisprach.ch" + ], + "guess":[ + "maisprach.ch" + ] + }, + "resolve_flags":[] }, "2854":{ "bfs":"2854", "name":"Nusshof", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"nusshof.ch", "mx":[ "nusshof-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nusshof-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.nusshof.ch CNAME → selector1-nusshof-ch._domainkey.gemeindenusshofch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.nusshof.ch CNAME → selector2-nusshof-ch._domainkey.gemeindenusshofch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "nusshof.ch" + ], + "guess":[ + "nusshof.ch" + ] + }, + "resolve_flags":[] }, "2855":{ "bfs":"2855", "name":"Oltingen", - "canton":"", - "domain":"oltingen.ch", + "canton":"Kanton Basel-Landschaft", + "domain":"verbund-schafmatt.ch", "mx":[ - "oltingen-ch.mail.protection.outlook.com" + "verbundschafmatt-ch01i.mail.protection.outlook.com" ], - "spf":"v=spf1 a mx ip4:109.164.206.143 include:spf.protection.outlook.com include:spf1.egeko.ch -all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:109.164.206.143 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "verbund-schafmatt.ch" + ] + }, + "resolve_flags":[] }, "2856":{ "bfs":"2856", "name":"Ormalingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"ormalingen.ch", "mx":[ "ormalingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ormalingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ormalingen.ch CNAME → selector1-ormalingen-ch._domainkey.gemeindeormalingench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ormalingen.ch CNAME → selector2-ormalingen-ch._domainkey.gemeindeormalingench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "gelterkinden.ch", + "ormalingen.ch" + ], + "redirect":[], + "wikidata":[ + "ormalingen.ch" + ], + "guess":[ + "ormalingen.ch" + ] + }, + "resolve_flags":[] }, "2857":{ "bfs":"2857", - "name":"Rickenbach", - "canton":"", + "name":"Rickenbach (BL)", + "canton":"Kanton Basel-Landschaft", "domain":"rickenbach-bl.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 a mx ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:195.48.58.75 include:egeko.ch include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 a mx ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:195.48.58.75 include:egeko.ch include:rzmail.hi-ag.ch -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "rickenbach-bl.ch", + "rickenbach-bl.org" + ], + "redirect":[], + "wikidata":[ + "rickenbach-bl.ch" + ], + "guess":[ + "rickenbach.ch" + ] + }, + "resolve_flags":[] }, "2858":{ "bfs":"2858", "name":"Rothenfluh", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"rothenfluh.ch", "mx":[ "rothenfluh-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:195.48.58.75 include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:195.48.58.75 include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rothenfluh-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rothenfluh.ch CNAME → selector1-rothenfluh-ch._domainkey.gemeinderothenfluhch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rothenfluh.ch CNAME → selector2-rothenfluh-ch._domainkey.gemeinderothenfluhch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rothenfluh.ch" + ], + "redirect":[], + "wikidata":[ + "rothenfluh.ch" + ], + "guess":[ + "rothenfluh.ch" + ] + }, + "resolve_flags":[] }, "2859":{ "bfs":"2859", "name":"Rümlingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"ruemlingen.ch", "mx":[ "mail.ruemlingen.ch" ], "spf":"v=spf1 a mx +include:spf1.egeko.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx +include:spf1.egeko.ch ~all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 9044 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "ruemlingen.ch" + ], + "redirect":[], + "wikidata":[ + "ruemlingen.ch" + ], + "guess":[ + "ruemlingen.ch" + ] + }, + "resolve_flags":[] }, "2860":{ "bfs":"2860", "name":"Rünenberg", - "canton":"", - "domain":"ruenenberg.ch", + "canton":"Kanton Basel-Landschaft", + "domain":"verbund-schafmatt.ch", "mx":[ - "inbound-smtp.eu-west-1.amazonaws.com" + "verbundschafmatt-ch01i.mail.protection.outlook.com" ], - "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all", - "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ] + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "verbund-schafmatt.ch" + ] + }, + "resolve_flags":[] }, "2861":{ "bfs":"2861", "name":"Sissach", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"sissach.ch", "mx":[ "mail.format-ag.ch", @@ -17180,198 +60263,921 @@ ], "spf":"v=spf1 mx a:mail.ostendis.ch include:_spf.talus.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mail.ostendis.ch include:_spf.talus.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sissach.ch" + ], + "redirect":[], + "wikidata":[ + "sissach.ch" + ], + "guess":[ + "sissach.ch" + ] + }, + "resolve_flags":[] }, "2862":{ "bfs":"2862", "name":"Tecknau", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"tecknau.ch", "mx":[ "tecknau-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 mx a ip4:193.135.56.22 include:smtp.backslash.ch include:spf.protection.outlook.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:193.135.56.22 include:smtp.backslash.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.135.56.0/24 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 mx a ip4:193.135.56.22 include:smtp.backslash.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tecknau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "tecknau.ch" + ], + "redirect":[], + "wikidata":[ + "tecknau.ch" + ], + "guess":[ + "tecknau.ch" + ] + }, + "resolve_flags":[] }, "2863":{ "bfs":"2863", "name":"Tenniken", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"tenniken.ch", "mx":[ "tenniken-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tenniken-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.tenniken.ch CNAME → selector1-tenniken-ch._domainkey.gemeindetennikench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.tenniken.ch CNAME → selector2-tenniken-ch._domainkey.gemeindetennikench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "tenniken.ch" + ], + "redirect":[], + "wikidata":[ + "tenniken.ch" + ], + "guess":[ + "tenniken.ch" + ] + }, + "resolve_flags":[] }, "2864":{ "bfs":"2864", "name":"Thürnen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"thuernen.ch", "mx":[ "thuernen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX thuernen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.thuernen.ch CNAME → selector1-thuernen-ch._domainkey.thuernen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.thuernen.ch CNAME → selector2-thuernen-ch._domainkey.thuernen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "thuernen.ch" + ], + "redirect":[], + "wikidata":[ + "thuernen.ch" + ], + "guess":[ + "thuernen.ch" + ] + }, + "resolve_flags":[] }, "2865":{ "bfs":"2865", "name":"Wenslingen", - "canton":"", - "domain":"wenslingen.ch", + "canton":"Kanton Basel-Landschaft", + "domain":"verbund-schafmatt.ch", "mx":[ - "wenslingen-ch.mail.protection.outlook.com" + "verbundschafmatt-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "verbund-schafmatt.ch" + ] + }, + "resolve_flags":[] }, "2866":{ "bfs":"2866", "name":"Wintersingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"wintersingen.ch", "mx":[ "wintersingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wintersingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wintersingen.ch CNAME → selector1-wintersingen-ch._domainkey.gemeindewintersingench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wintersingen.ch CNAME → selector2-wintersingen-ch._domainkey.gemeindewintersingench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bl.ch", + "wintersingen.ch" + ], + "redirect":[], + "wikidata":[ + "wintersingen.ch" + ], + "guess":[ + "wintersingen.ch" + ] + }, + "resolve_flags":[] }, "2867":{ "bfs":"2867", "name":"Wittinsburg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"wittinsburg.ch", "mx":[ "wittinsburg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wittinsburg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wittinsburg.ch" + ], + "guess":[ + "wittinsburg.ch" + ] + }, + "resolve_flags":[] }, "2868":{ "bfs":"2868", "name":"Zeglingen", - "canton":"", - "domain":"zeglingen.ch", + "canton":"Kanton Basel-Landschaft", + "domain":"verbund-schafmatt.ch", "mx":[ - "inbound-smtp.eu-west-1.amazonaws.com" - ], - "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all", - "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 + "verbundschafmatt-ch01i.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "verbund-schafmatt.ch" + ] + }, + "resolve_flags":[] }, "2869":{ "bfs":"2869", "name":"Zunzgen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"zunzgen.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 ip4:193.33.128.160 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +ip4:62.202.27.236 +ip4:162.23.37.176 +ip4:162.23.37.177 +ip4:162.23.97.167 +ip4:162.23.97.166 +include:_netblocks1.admin.ch +include:_netblocks3.admin.ch +include:_netblocks4.admin.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 ip4:193.33.128.160 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +ip4:62.202.27.236 +ip4:162.23.37.176 +ip4:162.23.37.177 +ip4:162.23.97.167 +ip4:162.23.97.166 +include:_netblocks1.admin.ch +include:_netblocks3.admin.ch +include:_netblocks4.admin.ch -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"owa.zunzgen.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "zunzgen.ch" + ], + "redirect":[], + "wikidata":[ + "zunzgen.ch" + ], + "guess":[ + "zunzgen.ch" + ] + }, + "resolve_flags":[] }, "2881":{ "bfs":"2881", "name":"Arboldswil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"arboldswil.ch", "mx":[ "arboldswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:194.150.248.121 include:_spf.tophost.ch include:relay.mailchannels.net mx a ip4:194.150.248.30 ip4:194.150.248.92 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.150.248.121 include:_spf.tophost.ch include:relay.mailchannels.net mx a ip4:194.150.248.30 ip4:194.150.248.92 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX arboldswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.arboldswil.ch CNAME → selector1-arboldswil-ch._domainkey.gemeindearboldswilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.arboldswil.ch CNAME → selector2-arboldswil-ch._domainkey.gemeindearboldswilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "arboldswil.ch" + ], + "guess":[ + "arboldswil.ch" + ] + }, + "resolve_flags":[] }, "2882":{ "bfs":"2882", "name":"Bennwil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"bennwil.ch", "mx":[ "bennwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bennwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bennwil.ch CNAME → selector1-bennwil-ch._domainkey.gemeindebennwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bennwil.ch CNAME → selector2-bennwil-ch._domainkey.gemeindebennwilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bennwil.ch" + ], + "redirect":[], + "wikidata":[ + "bennwil.ch" + ], + "guess":[ + "bennwil.ch" + ] + }, + "resolve_flags":[] }, "2883":{ "bfs":"2883", "name":"Bretzwil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"bretzwil.ch", "mx":[ "mx01.tophost.ch", @@ -17379,123 +61185,471 @@ ], "spf":"v=spf1 a mx ip4:193.33.128.146 include:_spf.tophost.ch include:relay.mailchannels.net -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:193.33.128.146 include:_spf.tophost.ch include:relay.mailchannels.net -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all", - "mx_asns":[ - 35206 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "bretzwil.ch" + ], + "redirect":[], + "wikidata":[ + "bretzwil.ch" + ], + "guess":[ + "bretzwil.ch" + ] + }, + "resolve_flags":[] }, "2884":{ "bfs":"2884", "name":"Diegten", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"diegten.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "diegten.ch" + ], + "redirect":[], + "wikidata":[ + "diegten.ch" + ], + "guess":[ + "diegten.ch" + ] + }, + "resolve_flags":[] }, "2885":{ "bfs":"2885", "name":"Eptingen", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"eptingen.ch", "mx":[ "mail.eptingen.ch" ], "spf":"v=spf1 ip4:149.126.4.35 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", "provider":"independent", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eptingen.ch" + ], + "guess":[ + "eptingen.ch" + ] + }, + "resolve_flags":[] }, "2886":{ "bfs":"2886", "name":"Hölstein", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"hoelstein.ch", "mx":[ "hoelstein-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hoelstein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hoelstein.ch CNAME → selector1-hoelstein-ch._domainkey.gemeindehoelsteinch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hoelstein.ch CNAME → selector2-hoelstein-ch._domainkey.gemeindehoelsteinch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hoelstein.ch" + ], + "redirect":[], + "wikidata":[ + "hoelstein.ch" + ], + "guess":[ + "hoelstein.ch" + ] + }, + "resolve_flags":[] }, "2887":{ "bfs":"2887", "name":"Lampenberg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"lampenberg.ch", "mx":[ "lampenberg.in.tmes.trendmicro.eu" ], "spf":"v=spf1 include:spf.tmes.trendmicro.com include:egeko.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.tmes.trendmicro.com include:egeko.ch -all v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:107.22.223.18 ip4:52.70.252.86 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.72.196.143 ip4:54.146.4.63 ip4:54.174.82.86 ip6:2600:1f18:42fe:5c00::/60 ip6:2a05:d014:10e:d900::/60 ip6:2406:da1c:1ef6:1c00::/60 include:spfc.tmes.trendmicro.com ~all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:15.168.56.0/25 ip4:15.168.49.64/26 ip4:15.168.56.128/26 ip4:18.97.0.160/27 ip4:18.96.32.128/27 ip6:2406:da14:194d:a200::/60 ip6:2406:da18:4ed:be00::/60 ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + } + ], "gateway":"trendmicro", - "mx_asns":[ - 16509 - ] + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lampenberg.ch" + ], + "guess":[ + "lampenberg.ch" + ] + }, + "resolve_flags":[] }, "2888":{ "bfs":"2888", "name":"Langenbruck", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"langenbruck.ch", "mx":[ "langenbruck-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:149.126.4.36 +a +mx +ip4:195.48.58.75 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:149.126.4.36 +a +mx +ip4:195.48.58.75 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX langenbruck-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.langenbruck.ch CNAME → selector1-langenbruck-ch._domainkey.gemeindelangenbruckch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.langenbruck.ch CNAME → selector2-langenbruck-ch._domainkey.gemeindelangenbruckch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "langenbruck.ch" + ], + "redirect":[], + "wikidata":[ + "langenbruck.ch" + ], + "guess":[ + "langenbruck.ch" + ] + }, + "resolve_flags":[] }, "2889":{ "bfs":"2889", "name":"Lauwil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"lauwil.ch", "mx":[ "lauwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:194.150.248.81 include:_spf.tophost.ch include:relay.mailchannels.net +mx +a +ip4:194.150.248.139 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.150.248.81 include:_spf.tophost.ch include:relay.mailchannels.net +mx +a +ip4:194.150.248.139 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lauwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "nvrl.ch" + ], + "redirect":[], + "wikidata":[ + "lauwil.ch" + ], + "guess":[ + "lauwil.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2890":{ "bfs":"2890", "name":"Liedertswil", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"liedertswil.ch", "mx":[ "mx01.servicehoster.ch", @@ -17503,72 +61657,242 @@ ], "spf":"v=spf1 include:servicehoster.ch a mx ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:servicehoster.ch a mx ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 1836 - ], - "autodiscover":{ - "autodiscover_cname":"redirect-autodiscover.cloudpit.io" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "liedertswil.ch" + ], + "guess":[ + "liedertswil.ch" + ] + }, + "resolve_flags":[] }, "2891":{ "bfs":"2891", "name":"Niederdorf", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"niederdorf.ch", "mx":[ "niederdorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf.vtx.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf.vtx.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:194.38.175.0/24 ip4:194.38.166.0/27 ip4:212.40.2.0/25 ip4:212.109.85.192/27 ip4:212.147.10.0/26 ip4:212.147.62.64/26 ip4:212.147.62.128/27 ip4:212.147.99.24/29 ip4:194.148.30.0/24 ip4:195.15.4.240/28 include:_spf-24x.romandie.hosting -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 a:catcher-241.romandie.hosting a:catcher-242.romandie.hosting ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niederdorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "niederdorf.ch" + ], + "redirect":[], + "wikidata":[ + "niederdorf.ch" + ], + "guess":[ + "niederdorf.ch" + ] + }, + "resolve_flags":[] }, "2892":{ "bfs":"2892", - "name":"Oberdorf", - "canton":"", - "domain":"oberdorf.ch", + "name":"Oberdorf (BL)", + "canton":"Kanton Basel-Landschaft", + "domain":"bl.ch", "mx":[ - "oberdorf-ch.mail.protection.outlook.com" - ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 ip4:193.47.168.33 ip4:178.209.55.12 ip4:93.187.192.135 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf.umantis.com include:spf.appmail.swisscom.com include:spf.mail.webland.ch include:spf.mail.hostpoint.ch include:spf.sendinblue.com -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch" + } + ], + "sources_detail":{ + "override":[ + "bl.ch" + ] + }, + "resolve_flags":[] }, "2893":{ "bfs":"2893", "name":"Reigoldswil", - "canton":"", - "domain":"reigoldswil.ch", - "mx":[ - "mx01.tophost.ch", - "mx02.tophost.ch" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 35206 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "canton":"Kanton Basel-Landschaft", + "domain":"gde-reigoldswil.ch", + "mx":[ + "gdereigoldswil-ch0i.mail.protection.outlook.com" + ], + "spf":"v=spf1 mx ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gdereigoldswil-ch0i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gde-reigoldswil.ch CNAME → selector1-gdereigoldswil-ch0i._domainkey.gemeindereigoldswilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gde-reigoldswil.ch CNAME → selector2-gdereigoldswil-ch0i._domainkey.gemeindereigoldswilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gde-reigoldswil.ch" + ] + }, + "resolve_flags":[] }, "2894":{ "bfs":"2894", "name":"Titterten", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"titterten.ch", "mx":[ "mx01.tophost.ch", @@ -17576,18 +61900,34 @@ ], "spf":"v=spf1 ip4:194.150.248.81 include:_spf.tophost.ch include:relay.mailchannels.net ip4:194.150.248.139 +mx +a ~all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:194.150.248.81 include:_spf.tophost.ch include:relay.mailchannels.net ip4:194.150.248.139 +mx +a ~all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all", - "mx_asns":[ - 35206 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "titterten.ch" + ], + "redirect":[], + "wikidata":[ + "titterten.ch" + ], + "guess":[ + "titterten.ch" + ] + }, + "resolve_flags":[] }, "2895":{ "bfs":"2895", "name":"Waldenburg", - "canton":"", + "canton":"Kanton Basel-Landschaft", "domain":"waldenburg.ch", "mx":[ "mail.format-ag.ch", @@ -17597,13 +61937,35 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.blk.ymc.swiss include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.blk.ymc.swiss include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "waldenburg.ch" + ], + "redirect":[], + "wikidata":[ + "waldenburg.ch" + ], + "guess":[ + "waldenburg.ch" + ] + }, + "resolve_flags":[] }, "2901":{ "bfs":"2901", @@ -17615,14 +61977,44 @@ "miraculix2.ksd.ch" ], "spf":"v=spf1 mx a mx:triwdata.ch/27 include:spf.umantis.com include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx a mx:triwdata.ch/27 include:spf.umantis.com include:spf.protection.outlook.com -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gaechlingen.ch", + "schule-gaechlingen.ch", + "srk-schaffhausen.ch" + ], + "redirect":[], + "wikidata":[ + "gaechlingen.ch" + ], + "guess":[ + "gaechlingen.ch" + ] + }, + "resolve_flags":[] }, "2903":{ "bfs":"2903", @@ -17634,14 +62026,48 @@ "miraculix2.ksd.ch" ], "spf":"v=spf1 ip4:195.246.245.125 ip4:195.246.245.126 include:spf.protection.outlook.com include:spf.mail.webland.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:195.246.245.125 ip4:195.246.245.126 include:spf.protection.outlook.com include:spf.mail.webland.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "loehningen.ch" + ], + "redirect":[], + "wikidata":[ + "loehningen.ch" + ], + "guess":[ + "loehningen.ch" + ] + }, + "resolve_flags":[] }, "2904":{ "bfs":"2904", @@ -17654,12 +62080,35 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "neunkirch.ch" + ], + "redirect":[], + "wikidata":[ + "neunkirch.ch" + ], + "guess":[ + "neunkirch.ch" + ] + }, + "resolve_flags":[] }, "2914":{ "bfs":"2914", @@ -17671,13 +62120,78 @@ ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buettenhardt-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bruehlmannberatungen.ch", + "buettenhardt.ch" + ], + "redirect":[], + "wikidata":[ + "buettenhardt.ch" + ], + "guess":[ + "buettenhardt.ch" + ] + }, + "resolve_flags":[] }, "2915":{ "bfs":"2915", @@ -17690,17 +62204,26 @@ ], "spf":"v=spf1 ip4:193.135.56.6 redirect=spf.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.135.56.6 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "doerflingen.ch" + ], + "redirect":[], + "wikidata":[ + "doerflingen.ch" + ], + "guess":[ + "doerflingen.ch" + ] + }, + "resolve_flags":[] }, "2917":{ "bfs":"2917", - "name":"Lohn SH", + "name":"Lohn (SH)", "canton":"Kanton Schaffhausen", "domain":"lohn.ch", "mx":[ @@ -17708,17 +62231,24 @@ ], "spf":"v=spf1 include:spf.protection.cyon.net -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lohn.ch" + ], + "guess":[ + "lohn.ch" + ] + }, + "resolve_flags":[] }, "2919":{ "bfs":"2919", - "name":"Stetten", + "name":"Stetten (SH)", "canton":"Kanton Schaffhausen", "domain":"stetten.ch", "mx":[ @@ -17726,19 +62256,47 @@ "miraculix2.ksd.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com ip4:178.250.24.196 -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com ip4:178.250.24.196 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stetten.ch" + ], + "redirect":[], + "wikidata":[ + "stetten.ch" + ], + "guess":[ + "stetten.ch" + ] + }, + "resolve_flags":[] }, "2920":{ "bfs":"2920", "name":"Thayngen", - "canton":"", + "canton":"Kanton Schaffhausen", "domain":"thayngen.ch", "mx":[ "mx1.mtfcloud.ch", @@ -17746,50 +62304,129 @@ ], "spf":"v=spf1 ip4:195.226.6.102 include:spf.mtfweb.ch include:_spf.sui-inter.net -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:195.226.6.102 include:spf.mtfweb.ch include:_spf.sui-inter.net -all v=spf1 a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 20988 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.thayngen.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sh.ch", + "thayngen.ch" + ], + "redirect":[], + "wikidata":[ + "thayngen.ch" + ], + "guess":[ + "thayngen.ch" + ] + }, + "resolve_flags":[] }, "2931":{ "bfs":"2931", - "name":"Bargen", - "canton":"", + "name":"Bargen (SH)", + "canton":"Kanton Schaffhausen", "domain":"bargen.ch", "mx":[ "mx.bargen.ch" ], "spf":"v=spf1 mx ip4:178.250.24.196 include:spf.protection.cyon.net -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:178.250.24.196 include:spf.protection.cyon.net -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "sh.ch" + ], + "redirect":[], + "wikidata":[ + "bargen.ch" + ], + "guess":[ + "bargen.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2932":{ "bfs":"2932", "name":"Beringen", - "canton":"", + "canton":"Kanton Schaffhausen", "domain":"beringen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf.mandrillapp.com include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf.mandrillapp.com include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.beringen.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "beringen.ch" + ], + "guess":[ + "beringen.ch" + ] + }, + "resolve_flags":[] }, "2933":{ "bfs":"2933", @@ -17801,13 +62438,89 @@ ], "spf":"v=spf1 ip4:46.245.188.35 ip4:193.135.58.35 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.245.188.35 ip4:193.135.58.35 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buchberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buchberg.ch CNAME → selector1-buchberg-ch._domainkey.buchbergsh.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buchberg.ch CNAME → selector2-buchberg-ch._domainkey.buchbergsh.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buchberg.ch" + ], + "redirect":[], + "wikidata":[ + "buchberg.ch" + ], + "guess":[ + "buchberg.ch" + ] + }, + "resolve_flags":[] }, "2936":{ "bfs":"2936", @@ -17819,19 +62532,50 @@ "miraculix2.ksd.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "merishausen.ch", + "schule-merishausen.ch", + "sh.ch", + "tannerholz.ch" + ], + "redirect":[], + "wikidata":[ + "merishausen.ch" + ], + "guess":[ + "merishausen.ch" + ] + }, + "resolve_flags":[] }, "2937":{ "bfs":"2937", "name":"Neuhausen am Rheinfall", - "canton":"", + "canton":"Kanton Schaffhausen", "domain":"neuhausen.ch", "mx":[ "miraculix1.ksd.ch", @@ -17839,12 +62583,33 @@ ], "spf":"v=spf1 mx mx:hin.ch -all", "provider":"independent", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "neuhausen.ch" + ], + "redirect":[], + "wikidata":[ + "neuhausen.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "2938":{ "bfs":"2938", @@ -17856,34 +62621,92 @@ "miraculix2.ksd.ch" ], "spf":"v=spf1 mx ip4:178.250.24.196 ip4:159.144.81.1 a:mail.codx.ch include:spf.umantis.com include:spf.privasphere.com ip4:212.80.96.0/21 include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:178.250.24.196 ip4:159.144.81.1 a:mail.codx.ch include:spf.umantis.com include:spf.privasphere.com ip4:212.80.96.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "axa.ch", + "buchberg.ch", + "forst-rafzerfeld.ch", + "hallau.ch", + "ruedlingen.ch", + "sh.ch" + ], + "redirect":[], + "wikidata":[ + "ruedlingen.ch" + ], + "guess":[ + "ruedlingen.ch" + ] + }, + "resolve_flags":[] }, "2939":{ "bfs":"2939", "name":"Schaffhausen", "canton":"Kanton Schaffhausen", - "domain":"stadt-schaffhausen.ch", + "domain":"stsh.ch", "mx":[ "miraculix1.ksd.ch", "miraculix2.ksd.ch" ], - "spf":"v=spf1 mx -all", - "provider":"independent", - "mx_asns":[ - 196651 - ] + "spf":"v=spf1 mx include:_spf.mailersend.net ip4:178.250.24.196 mx:hin.ch include:_spf.taywa.ch include:spf.umantis.com include:spf.protection.outlook.com a:mx1.mtfweb.ch a:mx2.mtfweb.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "stsh.ch" + ] + }, + "resolve_flags":[] }, "2951":{ "bfs":"2951", "name":"Beggingen", - "canton":"", + "canton":"Kanton Schaffhausen", "domain":"beggingen.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -17891,13 +62714,41 @@ ], "spf":"v=spf1 include:spf1.egeko.ch redirect=spf.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 include:spf1.egeko.ch redirect=spf.mail.hostpoint.ch v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "beggingen.ch" + ], + "redirect":[], + "wikidata":[ + "beggingen.ch" + ], + "guess":[ + "beggingen.ch" + ] + }, + "resolve_flags":[] }, "2952":{ "bfs":"2952", @@ -17911,47 +62762,118 @@ ], "spf":"v=spf1 include:spf.mtfcloud.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mtfcloud.ch -all v=spf1 a -all", - "mx_asns":[ - 20988 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.mtfcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schleitheim.ch" + ], + "redirect":[], + "wikidata":[ + "schleitheim.ch" + ], + "guess":[ + "schleitheim.ch" + ] + }, + "resolve_flags":[] }, "2953":{ "bfs":"2953", "name":"Siblingen", - "canton":"", + "canton":"Kanton Schaffhausen", "domain":"siblingen.ch", "mx":[ "miraculix1.ksd.ch", "miraculix2.ksd.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 196651 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.sh.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schulesiblingen.ch", + "siblingen.ch", + "spitex-klettgau-randen.ch" + ], + "redirect":[], + "wikidata":[ + "siblingen.ch" + ], + "guess":[ + "siblingen.ch" + ] + }, + "resolve_flags":[] }, "2961":{ "bfs":"2961", - "name":"Buch", - "canton":"", + "name":"Buch (SH)", + "canton":"Kanton Schaffhausen", "domain":"buch-sh.ch", "mx":[ "mail.buch-sh.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "buch-sh.ch" + ], + "redirect":[], + "wikidata":[ + "buch-sh.ch" + ], + "guess":[ + "buch.ch" + ] + }, + "resolve_flags":[] }, "2962":{ "bfs":"2962", @@ -17963,10 +62885,29 @@ ], "spf":"v=spf1 +include:_spf.sui-inter.net +include:spf1.egeko.ch +a +mx -all", "provider":"independent", - "spf_resolved":"v=spf1 +include:_spf.sui-inter.net +include:spf1.egeko.ch +a +mx -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "hemishofen.ch" + ], + "redirect":[], + "wikidata":[ + "hemishofen.ch" + ], + "guess":[ + "hemishofen.ch" + ] + }, + "resolve_flags":[] }, "2963":{ "bfs":"2963", @@ -17978,13 +62919,89 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ramsen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ramsen.ch CNAME → selector1-ramsen-ch._domainkey.gemeinderamsen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ramsen.ch CNAME → selector2-ramsen-ch._domainkey.gemeinderamsen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ramsen.ch" + ], + "redirect":[], + "wikidata":[ + "ramsen.ch" + ], + "guess":[ + "ramsen.ch" + ] + }, + "resolve_flags":[] }, "2964":{ "bfs":"2964", @@ -17996,13 +63013,82 @@ ], "spf":"v=spf1 include:spf.mailjet.com include:_spf.rzobt.ch ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:193.135.56.6/32 ip4:46.231.200.190/32 ip4:46.231.200.191/32 include:spf.protection.outlook.com mx include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.mailjet.com include:_spf.rzobt.ch ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:193.135.56.6/32 ip4:46.231.200.190/32 ip4:46.231.200.191/32 include:spf.protection.outlook.com mx include:spf.abacuscity.ch -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX steinamrhein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "steinamrhein.ch" + ], + "guess":[ + "stein-am-rhein.ch", + "steinamrhein.ch" + ] + }, + "resolve_flags":[] }, "2971":{ "bfs":"2971", @@ -18014,13 +63100,78 @@ ], "spf":"v=spf1 mx include:_spf.rzobt.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.rzobt.ch include:spf.protection.outlook.com -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hallau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hallau.ch", + "ksd.ch" + ], + "redirect":[], + "wikidata":[ + "hallau.ch" + ], + "guess":[ + "hallau.ch" + ] + }, + "resolve_flags":[] }, "2972":{ "bfs":"2972", @@ -18032,28 +63183,113 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberhallau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ksd.ch" + ], + "redirect":[], + "wikidata":[ + "oberhallau.ch" + ], + "guess":[ + "oberhallau.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "2973":{ "bfs":"2973", "name":"Trasadingen", - "canton":"", - "domain":"trasadingen.ch", + "canton":"Kanton Schaffhausen", + "domain":"ktsh.ch", "mx":[ - "mail.trasadingen.ch" + "miraculix1.ksd.ch", + "miraculix2.ksd.ch" ], - "spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "spf":"v=spf1 mx ip4:178.250.24.196 a:carmx01.bedag.ch a:mail.codx.ch include:spf.umantis.com include:spf.abxsec.com include:spf.privasphere.com mx:mtfweb.ch include:_spf.senders.scnem.com include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "ktsh.ch" + ] + }, + "resolve_flags":[] }, "2974":{ "bfs":"2974", @@ -18065,56 +63301,148 @@ "miraculix2.ksd.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 196651 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "wilchingen.ch" + ] + }, + "resolve_flags":[] }, "3001":{ "bfs":"3001", "name":"Herisau", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"herisau.ch", + "domain":"herisau.ar.ch", "mx":[ - "mail2.i-web.ch", - "mail3.i-web.ch" + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "spf":"v=spf1 include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.i-web.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 3303 + "spf":"v=spf1 include:_spf.ari-ag.ch include:_spf.i-web.ch ip4:212.4.70.139 -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "herisau.ar.ch" + ], + "redirect":[], + "wikidata":[ + "herisau.ch" + ], + "guess":[ + "herisau.ar.ch", + "herisau.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3002":{ "bfs":"3002", "name":"Hundwil", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"hundwil.ch", + "domain":"hundwil.ar.ch", "mx":[ "dmzfml0001.ari-ag.ch", "dmzfml0002.ari-ag.ch" ], "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "hundwil.ar.ch" + ], + "redirect":[], + "wikidata":[ + "hundwil.ch" + ], + "guess":[ + "hundwil.ar.ch", + "hundwil.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3003":{ "bfs":"3003", "name":"Schönengrund", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"schoenengrund.ch", + "domain":"schoenengrund.ar.ch", "mx":[ - "mail.messaging.ch" + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "spf":"", + "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "mx_asns":[ - 1836 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "schoenengrund.ar.ch" + ], + "redirect":[], + "wikidata":[ + "schoenengrund.ch" + ], + "guess":[ + "schoenengrund.ar.ch", + "schoenengrund.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3004":{ @@ -18128,106 +63456,193 @@ ], "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ar.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "schwellbrunn.ar.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "schwellbrunn.ar.ch" + ] + }, + "resolve_flags":[] }, "3005":{ "bfs":"3005", - "name":"Stein", + "name":"Stein (AR)", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"gemeinde-stein.ch", + "domain":"stein.ar.ch", "mx":[ - "gemeindestein-ch02b.mail.protection.outlook.com" - ], - "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch ~all", - "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 include:_spf.ari-ag.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "stein.ar.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "gemeinde-stein.ch", + "stein.ar.ch" + ] + }, + "resolve_flags":[] }, "3006":{ "bfs":"3006", "name":"Urnäsch", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"urnaesch.ch", + "domain":"ar.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 redirect=spf.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "spf":"v=spf1 include:_spf.ari-ag.ch a:ar03.snowflakehosting.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "override":[ + "ar.ch" + ] + }, + "resolve_flags":[] }, "3007":{ "bfs":"3007", "name":"Waldstatt", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"waldstatt.ch", + "domain":"waldstatt.ar.ch", "mx":[ - "dmzfml0001-swi.ari-ag.ch", "dmzfml0001.ari-ag.ch", - "dmzfml0002-swi.ari-ag.ch", "dmzfml0002.ari-ag.ch" ], - "spf":"v=spf1 ip4:193.135.56.6 include:_spf.ari-ag.ch -all", + "spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "waldstatt.ar.ch" + ], + "redirect":[], + "wikidata":[ + "waldstatt.ch" + ], + "guess":[ + "waldstatt.ar.ch", + "waldstatt.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3021":{ "bfs":"3021", "name":"Bühler", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"buehlerar.ch", + "domain":"buehler.ar.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 redirect=spf.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "spf":"v=spf1 include:_spf.ari-ag.ch ip4:80.74.151.156 -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "buehler.ar.ch" + ], + "redirect":[], + "wikidata":[ + "buehlerar.ch" + ], + "guess":[ + "buehler.ar.ch", + "buehler.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "3022":{ "bfs":"3022", "name":"Gais", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"gais.ch", + "domain":"ar.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 ip4:217.26.58.163 redirect=spf.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:217.26.58.163 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "spf":"v=spf1 include:_spf.ari-ag.ch a:ar03.snowflakehosting.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "override":[ + "ar.ch" + ] + }, + "resolve_flags":[] }, "3023":{ "bfs":"3023", @@ -18240,76 +63655,174 @@ ], "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ar.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "speicher.ar.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "speicher.ar.ch" + ] + }, + "resolve_flags":[] }, "3024":{ "bfs":"3024", - "name":"Teufen", + "name":"Teufen (AR)", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"teufen.ch", + "domain":"teufen.ar.ch", "mx":[ - "smtp.backslash.ch" + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "spf":"", + "spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 207143 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "teufen.ar.ch" + ], + "redirect":[], + "wikidata":[ + "teufen.ch" + ], + "guess":[ + "teufen.ar.ch", + "teufen.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3025":{ "bfs":"3025", "name":"Trogen", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"trogen.ch", + "domain":"trogen.ar.ch", "mx":[ - "smtp.backslash.ch" + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "spf":"v=spf1 ip4:193.135.56.0/24 -all", + "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "mx_asns":[ - 207143 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "trogen.ar.ch" + ], + "redirect":[], + "wikidata":[ + "trogen.ch" + ], + "guess":[ + "trogen.ar.ch", + "trogen.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3031":{ "bfs":"3031", - "name":"Grub", + "name":"Grub (AR)", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"grub.ch", + "domain":"grub.ar.ch", "mx":[ "dmzfml0001.ari-ag.ch", "dmzfml0002.ari-ag.ch" ], - "spf":"v=spf1 ip4:193.135.56.6 ip4:146.185.84.21 ip4:194.209.60.7 ip4:146.185.84.7 include:_spf.ari-ag.ch -all", + "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.135.56.6 ip4:146.185.84.21 ip4:194.209.60.7 ip4:146.185.84.7 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "grub.ar.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "grub.ar.ch" + ] + }, + "resolve_flags":[] }, "3032":{ "bfs":"3032", "name":"Heiden", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"heiden.ch", + "domain":"heiden.ar.ch", "mx":[ - "mx01.servicehoster.ch", - "mx02.servicehoster.ch" - ], - "spf":"v=spf1 include:servicehoster.ch a mx ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:servicehoster.ch a mx ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 1836 + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.cloudpit.io" - } + "spf":"v=spf1 include:_spf.ari-ag.ch include:_spf.i-web.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "heiden.ar.ch" + ], + "redirect":[], + "wikidata":[ + "heiden.ch" + ], + "guess":[ + "heiden.ar.ch", + "heiden.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "3033":{ "bfs":"3033", @@ -18324,27 +63837,65 @@ ], "spf":"", "provider":"independent", - "mx_asns":[ - 211452 - ] + "category":"swiss-based", + "classification_confidence":60.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "lutzenberg.ch" + ], + "redirect":[], + "wikidata":[ + "lutzenberg.ch" + ], + "guess":[ + "lutzenberg.ar.ch", + "lutzenberg.ch" + ] + }, + "resolve_flags":[] }, "3034":{ "bfs":"3034", "name":"Rehetobel", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"rehetobel.ch", + "domain":"rehetobel.ar.ch", "mx":[ - "smtp.backslash.ch" + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 207143 + "spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.223 -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "rehetobel.ar.ch" + ], + "redirect":[], + "wikidata":[ + "rehetobel.ch" + ], + "guess":[ + "rehetobel.ar.ch", + "rehetobel.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3035":{ "bfs":"3035", - "name":"Reute", + "name":"Reute (AR)", "canton":"Kanton Appenzell Ausserrhoden", "domain":"reute.ar.ch", "mx":[ @@ -18353,17 +63904,31 @@ ], "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ar.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "reute.ar.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "reute.ar.ch" + ] + }, + "resolve_flags":[] }, "3036":{ "bfs":"3036", - "name":"Wald", + "name":"Wald (AR)", "canton":"Kanton Appenzell Ausserrhoden", "domain":"wald.ar.ch", "mx":[ @@ -18372,27 +63937,68 @@ ], "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ari-ag.ch -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ar.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "wald.ar.ch" + ], + "redirect":[], + "wikidata":[ + "wald.ar.ch" + ], + "guess":[ + "gemeinde-wald.ch", + "wald.ar.ch", + "wald.ch" + ] + }, + "resolve_flags":[] }, "3037":{ "bfs":"3037", "name":"Walzenhausen", "canton":"Kanton Appenzell Ausserrhoden", - "domain":"walzenhausen.ch", + "domain":"walzenhausen.ar.ch", "mx":[ - "mail.walzenhausen.ch" + "dmzfml0001.ari-ag.ch", + "dmzfml0002.ari-ag.ch" ], - "spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all", + "spf":"v=spf1 include:_spf.ari-ag.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "walzenhausen.ar.ch" + ], + "redirect":[], + "wikidata":[ + "walzenhausen.ch" + ], + "guess":[ + "walzenhausen.ar.ch", + "walzenhausen.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3038":{ @@ -18406,32 +64012,85 @@ ], "spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all v=spf1 include:_spf1.ari-ag.ch include:_spf2.ari-ag.ch -all v=spf1 ip4:193.5.177.16/28 ip6:2a07:291b:500:900::/64 -all v=spf1 ip4:195.65.10.12 include:spf2.privasphere.com ip4:194.209.204.50 include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.2.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 211452 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.ar.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + } + ], + "sources_detail":{ + "scrape":[ + "wolfhalden.ar.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "wolfhalden.ar.ch" + ] + }, + "resolve_flags":[] }, "3101":{ "bfs":"3101", "name":"Appenzell", "canton":"Kanton Appenzell Innerrhoden", - "domain":"appenzell.org", + "domain":"appenzell.ai.ch", "mx":[ - "mx01.servicehoster.ch", - "mx02.servicehoster.ch" - ], - "spf":"v=spf1 include:servicehoster.ch a mx ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:servicehoster.ch a mx ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 1836 + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.cloudpit.io" - } + "spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ip4:194.147.134.3 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "appenzell.ai.ch" + ], + "redirect":[], + "wikidata":[ + "appenzell.org" + ], + "guess":[ + "appenzell.ai.ch", + "appenzell.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "3102":{ "bfs":"3102", @@ -18443,13 +64102,49 @@ "mg05.newday.ch" ], "spf":"v=spf1 a a:mg02.newday.ch -all", - "provider":"swiss-isp", - "mx_asns":[ - 15576 - ], - "autodiscover":{ - "autodiscover_cname":"gonten.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 15576 is Swiss ISP: NTS" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS" + } + ], + "sources_detail":{ + "scrape":[ + "gonten.ch" + ], + "redirect":[], + "wikidata":[ + "gonten.ch" + ], + "guess":[ + "gonten.ai.ch", + "gonten.ch" + ] + }, + "resolve_flags":[] }, "3104":{ "bfs":"3104", @@ -18461,51 +64156,136 @@ ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "schlatt-haslen.ch" + ], + "guess":[ + "schlatt-haslen.ai.ch", + "schlatt-haslen.ch" + ] + }, + "resolve_flags":[] }, "3111":{ "bfs":"3111", "name":"Oberegg", "canton":"Kanton Appenzell Innerrhoden", - "domain":"oberegg.ch", + "domain":"oberegg.ai.ch", "mx":[ - "smtp.backslash.ch" + "ktvmx01.mail.admin.ch", + "ktvmx02.mail.admin.ch", + "ktvmx03.mail.admin.ch", + "ktvmx04.mail.admin.ch" ], - "spf":"v=spf1 ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:193.135.56.0/24 ~all", - "provider":"independent", - "mx_asns":[ - 207143 + "spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ip4:194.147.134.3 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "oberegg.ai.ch" + ], + "redirect":[], + "wikidata":[ + "oberegg.ch" + ], + "guess":[ + "oberegg.ai.ch", + "oberegg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3112":{ "bfs":"3112", "name":"Schwende-Rüte", "canton":"Kanton Appenzell Innerrhoden", - "domain":"schwende-ruete.ch", + "domain":"schwende-ruete.ai.ch", "mx":[ "ktvmx01.mail.admin.ch", "ktvmx02.mail.admin.ch", "ktvmx03.mail.admin.ch", "ktvmx04.mail.admin.ch" ], - "spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ~all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ~all v=spf1 ~all v=spf1 ~all v=spf1 ~all v=spf1 ip4:162.23.22.128/25 ip4:162.23.23.128/25 ip4:162.23.22.201 ip4:162.23.24.16/26 ip4:162.23.128.43 ip4:162.23.128.65 ~all", - "mx_asns":[ - 33845 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.ai.ch" - } + "spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ip4:159.100.252.16 ip4:194.147.134.3 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schwende-ruete.ai.ch" + ], + "redirect":[], + "wikidata":[ + "schwende-ruete.ch" + ], + "guess":[ + "schwende-ruete.ai.ch", + "schwende-ruete.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "3201":{ "bfs":"3201", "name":"Häggenschwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"haeggenschwil.ch", "mx":[ "mta1.abxsec.com", @@ -18513,19 +64293,29 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "sources_detail":{ + "scrape":[ + "haeggenschwil.ch" + ], + "redirect":[], + "wikidata":[ + "haeggenschwil.ch" + ], + "guess":[ + "haeggenschwil.ch", + "haeggenschwil.sg.ch" + ] + }, + "resolve_flags":[] }, "3202":{ "bfs":"3202", "name":"Muolen", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"muolen.ch", "mx":[ "mta1.abxsec.com", @@ -18533,79 +64323,275 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "muolen.ch" + ], + "redirect":[], + "wikidata":[ + "muolen.ch" + ], + "guess":[ + "muolen.ch" + ] + }, + "resolve_flags":[] }, "3203":{ "bfs":"3203", "name":"St. Gallen", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"stadt.sg.ch", "mx":[ "stadt-sg-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:spf.abxsec.com include:ict-sicherheit.stadt.sg.ch include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud include:mailgun.org ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.abxsec.com include:ict-sicherheit.stadt.sg.ch include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud include:mailgun.org ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:194.56.189.220 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 include:_spf.mailgun.org include:_spf.eu.mailgun.org -all v=spf1 include:_spf1.mailgun.org include:_spf2.mailgun.org ~all v=spf1 ip4:141.193.32.0/23 ip4:159.135.140.80/29 ip4:159.135.132.128/25 ip4:161.38.204.0/22 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:143.55.236.0/22 ip4:198.244.60.0/22 ip4:204.220.160.0/21 ~all v=spf1 ip4:209.61.151.0/24 ip4:166.78.68.0/22 ip4:198.61.254.0/23 ip4:192.237.158.0/23 ip4:23.253.182.0/23 ip4:104.130.96.0/28 ip4:146.20.113.0/24 ip4:146.20.191.0/24 ip4:159.135.224.0/20 ip4:69.72.32.0/20 ~all v=spf1 ip4:104.130.122.0/23 ip4:146.20.112.0/26 ip4:161.38.192.0/20 ip4:143.55.224.0/21 ip4:143.55.232.0/22 ip4:159.112.240.0/20 ip4:198.244.48.0/20 ip4:204.220.168.0/21 ip4:204.220.176.0/20 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover SRV → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "stadt.sg.ch" + ], + "redirect":[], + "wikidata":[ + "stadt.sg.ch" + ], + "guess":[ + "st-gallen.ch", + "stgallen.ch" + ] + }, + "resolve_flags":[ + "website_mismatch" + ] }, "3204":{ "bfs":"3204", "name":"Wittenbach", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"wittenbach.ch", "mx":[ "wittenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:146.185.79.58 include:spf.abxsec.com include:spf.protection.outlook.com include:abx-net.net +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:146.185.79.58 include:spf.abxsec.com include:spf.protection.outlook.com include:abx-net.net +mx +a -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx include:_spf.abxsec.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wittenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wittenbach.ch CNAME → selector1-wittenbach-ch._domainkey.gemeindewittenbach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wittenbach.ch CNAME → selector2-wittenbach-ch._domainkey.gemeindewittenbach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wittenbach.ch" + ], + "redirect":[], + "wikidata":[ + "wittenbach.ch" + ], + "guess":[ + "wittenbach.ch" + ] + }, + "resolve_flags":[] }, "3211":{ "bfs":"3211", - "name":"Berg", - "canton":"", + "name":"Berg (SG)", + "canton":"Kanton St. Gallen", "domain":"bergsg.ch", "mx":[ "bergsg-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:83.173.233.138 include:_spf.abxsec.com include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:83.173.233.138 include:_spf.abxsec.com include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "bergsg.ch" + ], + "redirect":[], + "wikidata":[ + "bergsg.ch" + ], + "guess":[ + "berg.ch", + "gemeinde-berg.ch" + ] + }, + "resolve_flags":[] }, "3212":{ "bfs":"3212", "name":"Eggersriet", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"eggersriet.ch", "mx":[ "mta1.abxsec.com", @@ -18613,19 +64599,35 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "eggersriet.ch" + ], + "redirect":[], + "wikidata":[ + "eggersriet.ch" + ], + "guess":[ + "eggersriet.ch" + ] + }, + "resolve_flags":[] }, "3213":{ "bfs":"3213", - "name":"Goldach SG", - "canton":"", + "name":"Goldach", + "canton":"Kanton St. Gallen", "domain":"goldach.ch", "mx":[ "mta1.abxsec.com", @@ -18633,39 +64635,135 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.abacuscity.ch include:spf1.refline.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.abacuscity.ch include:spf1.refline.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 mx:refline.ch ip4:212.71.124.231 ip4:212.71.124.232 include:spf.iway.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "goldach.ch" + ], + "redirect":[], + "wikidata":[ + "goldach.ch" + ], + "guess":[ + "goldach.ch" + ] + }, + "resolve_flags":[] }, "3214":{ "bfs":"3214", "name":"Mörschwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"moerschwil.ch", "mx":[ - "mta1.abxsec.com", - "mta2.abxsec.com" + "moerschwil-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX moerschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "moerschwil.ch" + ], + "redirect":[], + "wikidata":[ + "moerschwil.ch" + ], + "guess":[ + "moerschwil.ch" + ] + }, + "resolve_flags":[] }, "3215":{ "bfs":"3215", "name":"Rorschach", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"rorschach.ch", "mx":[ "mta1.abxsec.com", @@ -18673,19 +64771,53 @@ ], "spf":"v=spf1 ip4:217.162.10.22 include:_spf.abxsec.com include:spf.protection.outlook.com include:agenturserver.de include:_spf.i-web.ch include:spf.postal.e9li.io ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:217.162.10.22 include:_spf.abxsec.com include:spf.protection.outlook.com include:agenturserver.de include:_spf.i-web.ch include:spf.postal.e9li.io ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:188.94.249.240/28 ip4:188.94.250.248/29 ip4:188.94.251.248/29 ip4:188.94.252.252/30 ip4:185.15.192.32/27 ip4:178.16.56.32/27 ip4:185.15.192.32/28 ip4:153.92.196.160/28 ip4:37.202.1.52/30 ip4:37.202.6.52/30 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:195.15.223.58 ip6:2001:1600:13:101::ac3 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "rorschach.ch" + ], + "redirect":[], + "wikidata":[ + "rorschach.ch" + ], + "guess":[ + "rorschach.ch" + ] + }, + "resolve_flags":[] }, "3216":{ "bfs":"3216", "name":"Rorschacherberg", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"rorschacherberg.ch", "mx":[ "mta1.abxsec.com", @@ -18693,20 +64825,65 @@ ], "spf":"v=spf1 mx ip4:217.162.10.22 include:_spf.abxsec.com include:_spf.i-web.ch include:spf.protection.outlook.com redirect=spf.mail.hostpoint.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:217.162.10.22 include:_spf.abxsec.com include:_spf.i-web.ch include:spf.protection.outlook.com redirect=spf.mail.hostpoint.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rorschacherberg.ch CNAME → selector1-rorschacherberg-ch._domainkey.rorschacherbergch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rorschacherberg.ch CNAME → selector2-rorschacherberg-ch._domainkey.rorschacherbergch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.rorschacherberg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "rorschacherberg.ch" + ], + "redirect":[], + "wikidata":[ + "rorschacherberg.ch" + ], + "guess":[ + "rorschacherberg.ch" + ] + }, + "resolve_flags":[] }, "3217":{ "bfs":"3217", - "name":"Steinach SG", - "canton":"", + "name":"Steinach", + "canton":"Kanton St. Gallen", "domain":"steinach.ch", "mx":[ "mta1.abxsec.com", @@ -18714,19 +64891,53 @@ ], "spf":"v=spf1 include:_spf.mlsend.com mx include:_spf.abxsec.com include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.mlsend.com mx include:_spf.abxsec.com include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 ip4:185.249.220.0/24 ip4:185.225.161.0/24 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "steinach.ch" + ], + "redirect":[], + "wikidata":[ + "steinach.ch" + ], + "guess":[ + "steinach.ch" + ] + }, + "resolve_flags":[] }, "3218":{ "bfs":"3218", "name":"Tübach", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"tuebach.ch", "mx":[ "mta1.abxsec.com", @@ -18738,19 +64949,65 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.mlsend.com mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.mlsend.com mx include:_spf.abxsec.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.249.220.0/24 ip4:185.225.161.0/24 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.tuebach.ch CNAME → selector1-tuebach-ch._domainkey.gemeindetuebach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.tuebach.ch CNAME → selector2-tuebach-ch._domainkey.gemeindetuebach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "tuebach.ch" + ], + "redirect":[], + "wikidata":[ + "tuebach.ch" + ], + "guess":[ + "tuebach.ch" + ] + }, + "resolve_flags":[] }, "3219":{ "bfs":"3219", "name":"Untereggen", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"untereggen.ch", "mx":[ "mta1.abxsec.com", @@ -18758,19 +65015,35 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "untereggen.ch" + ], + "redirect":[], + "wikidata":[ + "untereggen.ch" + ], + "guess":[ + "untereggen.ch" + ] + }, + "resolve_flags":[] }, "3231":{ "bfs":"3231", - "name":"Au", - "canton":"", + "name":"Au (SG)", + "canton":"Kanton St. Gallen", "domain":"au.ch", "mx":[ "mta1.abxsec.com", @@ -18778,19 +65051,40 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "override":[ + "au.ch" + ] + }, + "resolve_flags":[] }, "3232":{ "bfs":"3232", "name":"Balgach", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"balgach.ch", "mx":[ "mta1.abxsec.com", @@ -18798,19 +65092,35 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "balgach.ch" + ], + "redirect":[], + "wikidata":[ + "balgach.ch" + ], + "guess":[ + "balgach.ch" + ] + }, + "resolve_flags":[] }, "3233":{ "bfs":"3233", "name":"Berneck", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"berneck.ch", "mx":[ "mta1.abxsec.com", @@ -18818,20 +65128,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "berneck.ch" + ], + "redirect":[], + "wikidata":[ + "berneck.ch" + ], + "guess":[ + "berneck.ch" + ] + }, + "resolve_flags":[] }, "3234":{ "bfs":"3234", "name":"Diepoldsau", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"diepoldsau.ch", "mx":[ "mta1.abxsec.com", @@ -18839,20 +65176,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.6 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.6 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "diepoldsau.ch" + ], + "redirect":[], + "wikidata":[ + "diepoldsau.ch" + ], + "guess":[ + "diepoldsau.ch" + ] + }, + "resolve_flags":[] }, "3235":{ "bfs":"3235", "name":"Rheineck", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"rheineck.ch", "mx":[ "mta1.abxsec.com", @@ -18860,16 +65224,53 @@ ], "spf":"v=spf1 ip4:81.62.128.114 include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.128.114 include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "rheineck.ch" + ], + "redirect":[], + "wikidata":[ + "rheineck.ch" + ], + "guess":[ + "rheineck.ch" + ] + }, + "resolve_flags":[] }, "3236":{ "bfs":"3236", "name":"St. Margrethen", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"stmargrethen.ch", "mx":[ "mta1.abxsec.com", @@ -18877,19 +65278,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "stmargrethen.ch" + ], + "redirect":[], + "wikidata":[ + "stmargrethen.ch" + ], + "guess":[ + "stmargrethen.ch" + ] + }, + "resolve_flags":[] }, "3237":{ "bfs":"3237", "name":"Thal", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"thal.ch", "mx":[ "mta1.abxsec.com", @@ -18897,19 +65326,63 @@ ], "spf":"v=spf1 ip4:146.185.76.0/29 ip4:213.167.225.80 ip4:157.173.127.37 a:mail01.axc.biz include:_spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:146.185.76.0/29 ip4:213.167.225.80 ip4:157.173.127.37 a:mail01.axc.biz include:_spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.thal.ch CNAME → selector1-thal-ch._domainkey.thalch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.thal.ch CNAME → selector2-thal-ch._domainkey.thalch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "thal.ch" + ], + "guess":[ + "thal.ch" + ] + }, + "resolve_flags":[] }, "3238":{ "bfs":"3238", "name":"Widnau", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"widnau.ch", "mx":[ "mta1.abxsec.com", @@ -18917,19 +65390,53 @@ ], "spf":"v=spf1 ip4:194.11.218.40 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.i-web.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.11.218.40 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.i-web.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "widnau.ch" + ], + "redirect":[], + "wikidata":[ + "widnau.ch" + ], + "guess":[ + "widnau.ch" + ] + }, + "resolve_flags":[] }, "3251":{ "bfs":"3251", "name":"Altstätten", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"altstaetten.ch", "mx":[ "mta1.abxsec.com", @@ -18937,16 +65444,41 @@ ], "spf":"v=spf1 mx ip4:217.67.134.194 include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:217.67.134.194 include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "altstaetten.ch" + ], + "redirect":[], + "wikidata":[ + "altstaetten.ch" + ], + "guess":[ + "altstaetten.ch" + ] + }, + "resolve_flags":[] }, "3252":{ "bfs":"3252", - "name":"Eichberg SG", - "canton":"", + "name":"Eichberg", + "canton":"Kanton St. Gallen", "domain":"eichberg.ch", "mx":[ "mta1.abxsec.com", @@ -18954,19 +65486,41 @@ ], "spf":"v=spf1 mx include:_spf.ch-dns.net include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.ch-dns.net include:_spf.abxsec.com ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "eichberg.ch" + ], + "redirect":[], + "wikidata":[ + "eichberg.ch" + ], + "guess":[ + "eichberg.ch" + ] + }, + "resolve_flags":[] }, "3253":{ "bfs":"3253", - "name":"Marbach", - "canton":"", + "name":"Marbach (SG)", + "canton":"Kanton St. Gallen", "domain":"marbach.ch", "mx":[ "mta1.abxsec.com", @@ -18974,19 +65528,28 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "sources_detail":{ + "scrape":[ + "marbach.ch" + ], + "redirect":[], + "wikidata":[ + "marbach.ch" + ], + "guess":[ + "marbach.ch" + ] + }, + "resolve_flags":[] }, "3254":{ "bfs":"3254", - "name":"Oberriet", - "canton":"", + "name":"Oberriet (SG)", + "canton":"Kanton St. Gallen", "domain":"oberriet.ch", "mx":[ "mta1.abxsec.com", @@ -18994,20 +65557,41 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "oberriet.ch" + ], + "redirect":[], + "wikidata":[ + "oberriet.ch" + ], + "guess":[ + "oberriet.ch" + ] + }, + "resolve_flags":[] }, "3255":{ "bfs":"3255", "name":"Rebstein", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"rebstein.ch", "mx":[ "mta1.abxsec.com", @@ -19015,19 +65599,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "rebstein.ch" + ], + "redirect":[], + "wikidata":[ + "rebstein.ch" + ], + "guess":[ + "rebstein.ch" + ] + }, + "resolve_flags":[] }, "3256":{ "bfs":"3256", - "name":"Rüthi", - "canton":"", + "name":"Rüthi (SG)", + "canton":"Kanton St. Gallen", "domain":"ruethi.ch", "mx":[ "mta1.abxsec.com", @@ -19035,19 +65647,45 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ruethi.ch" + ], + "guess":[ + "ruethi.ch" + ] + }, + "resolve_flags":[] }, "3271":{ "bfs":"3271", - "name":"Buchs", - "canton":"", + "name":"Buchs (SG)", + "canton":"Kanton St. Gallen", "domain":"buchs-sg.ch", "mx":[ "mta1.abxsec.com", @@ -19055,51 +65693,193 @@ ], "spf":"v=spf1 a mx include:_spf.abxsec.com include:spf.postal.e9li.io include:spf.protection.outlook.com ip4:146.185.0.80/29 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:_spf.abxsec.com include:spf.postal.e9li.io include:spf.protection.outlook.com ip4:146.185.0.80/29 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.15.223.58 ip6:2001:1600:13:101::ac3 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buchs-sg.ch CNAME → selector1-buchssg-ch01c._domainkey.buchssg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buchs-sg.ch CNAME → selector2-buchssg-ch01c._domainkey.buchssg.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "buchs-sg.ch", + "schmid-fehr.ch" + ], + "redirect":[], + "wikidata":[ + "buchs-sg.ch" + ], + "guess":[ + "buchs.ch" + ] + }, + "resolve_flags":[] }, "3272":{ "bfs":"3272", "name":"Gams", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"gams.ch", "mx":[ "gams-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.abxsec.com ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.abxsec.com ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gams-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gams.ch CNAME → selector1-gams-ch._domainkey.gamsgemeinde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gams.ch CNAME → selector2-gams-ch._domainkey.gamsgemeinde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gams.ch" + ], + "redirect":[], + "wikidata":[ + "gams.ch" + ], + "guess":[ + "gams.ch" + ] + }, + "resolve_flags":[] }, "3273":{ "bfs":"3273", "name":"Grabs", - "canton":"", - "domain":"grabs.ch", + "canton":"Kanton St. Gallen", + "domain":"grabs.sg.ch", "mx":[ - "smtasg01.abxsec.com", - "smtazh01.abxsec.com" + "mta1.abxsec.com", + "mta2.abxsec.com" ], - "spf":"v=spf1 include:turbo-smtp.com include:_spf.i-web.ch ~all", + "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:turbo-smtp.com include:_spf.i-web.ch ~all v=spf1 a mx ip4:199.187.172.0/22 ip4:199.244.72.0/22 ip4:185.228.36.0/22 ip4:78.46.210.192/27 ip4:5.83.159.0/24 ip4:89.144.43.0/24 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 + "sources_detail":{ + "scrape":[ + "grabs.sg.ch" + ], + "redirect":[], + "wikidata":[ + "grabs.ch" + ], + "guess":[ + "grabs.ch", + "grabs.sg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3274":{ "bfs":"3274", "name":"Sennwald", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"sennwald.ch", "mx":[ "mta1.abxsec.com", @@ -19107,19 +65887,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "sennwald.ch" + ], + "redirect":[], + "wikidata":[ + "sennwald.ch" + ], + "guess":[ + "sennwald.ch" + ] + }, + "resolve_flags":[] }, "3275":{ "bfs":"3275", - "name":"Sevelen SG", - "canton":"", + "name":"Sevelen", + "canton":"Kanton St. Gallen", "domain":"sevelen.ch", "mx":[ "mta1.abxsec.com", @@ -19127,19 +65941,59 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com a include:spf.crsend.com a:mail01.refline.ch a:mail02.refline.ch include:spf.protection.outlook.com include:mail.kidesia.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com a include:spf.crsend.com a:mail01.refline.ch a:mail02.refline.ch include:spf.protection.outlook.com include:mail.kidesia.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a mx ip4:185.46.57.237 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "sevelen.ch" + ], + "redirect":[], + "wikidata":[ + "sevelen.ch" + ], + "guess":[ + "sevelen.ch" + ] + }, + "resolve_flags":[] }, "3276":{ "bfs":"3276", "name":"Wartau", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"wartau.ch", "mx":[ "mta1.abxsec.com", @@ -19147,19 +66001,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "wartau.ch" + ], + "redirect":[], + "wikidata":[ + "wartau.ch" + ], + "guess":[ + "wartau.ch" + ] + }, + "resolve_flags":[] }, "3291":{ "bfs":"3291", "name":"Bad Ragaz", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"badragaz.ch", "mx":[ "mta1.abxsec.com", @@ -19167,19 +66055,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "badragaz.ch" + ], + "redirect":[], + "wikidata":[ + "badragaz.ch" + ], + "guess":[ + "badragaz.ch" + ] + }, + "resolve_flags":[] }, "3292":{ "bfs":"3292", "name":"Flums", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"flums.ch", "mx":[ "mta1.abxsec.com", @@ -19187,19 +66109,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "flums.ch" + ], + "redirect":[], + "wikidata":[ + "flums.ch" + ], + "guess":[ + "flums.ch" + ] + }, + "resolve_flags":[] }, "3293":{ "bfs":"3293", "name":"Mels", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"mels.ch", "mx":[ "mta1.abxsec.com", @@ -19207,19 +66163,65 @@ ], "spf":"v=spf1 mx include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "mels.ch" + ], + "redirect":[], + "wikidata":[ + "mels.ch" + ], + "guess":[ + "mels.ch" + ] + }, + "resolve_flags":[] }, "3294":{ "bfs":"3294", "name":"Pfäfers", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"pfaefers.ch", "mx":[ "mta1.abxsec.com", @@ -19227,19 +66229,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "pfaefers.ch" + ], + "redirect":[], + "wikidata":[ + "pfaefers.ch" + ], + "guess":[ + "pfaefers.ch" + ] + }, + "resolve_flags":[] }, "3295":{ "bfs":"3295", "name":"Quarten", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"quarten.ch", "mx":[ "mta1.abxsec.com", @@ -19247,19 +66277,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "quarten.ch" + ], + "redirect":[], + "wikidata":[ + "quarten.ch" + ], + "guess":[ + "quarten.ch" + ] + }, + "resolve_flags":[] }, "3296":{ "bfs":"3296", "name":"Sargans", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"sargans.ch", "mx":[ "mta1.abxsec.com", @@ -19267,19 +66331,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "sargans.ch" + ], + "redirect":[], + "wikidata":[ + "sargans.ch" + ], + "guess":[ + "sargans.ch" + ] + }, + "resolve_flags":[] }, "3297":{ "bfs":"3297", "name":"Vilters-Wangs", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"vilters-wangs.ch", "mx":[ "mta1.abxsec.com", @@ -19287,19 +66385,48 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "vilters-wangs.ch" + ], + "redirect":[], + "wikidata":[ + "vilters-wangs.ch" + ], + "guess":[ + "vilters-wangs.ch", + "vilterswangs.ch" + ] + }, + "resolve_flags":[] }, "3298":{ "bfs":"3298", "name":"Walenstadt", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"walenstadt.ch", "mx":[ "mta1.abxsec.com", @@ -19307,19 +66434,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "walenstadt.ch" + ], + "redirect":[], + "wikidata":[ + "walenstadt.ch" + ], + "guess":[ + "walenstadt.ch" + ] + }, + "resolve_flags":[] }, "3311":{ "bfs":"3311", "name":"Amden", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"amden.ch", "mx":[ "mta1.abxsec.com", @@ -19327,39 +66488,96 @@ ], "spf":"v=spf1 mx include:spf.sendinblue.com include:spf.mailjet.com include:_spf.abxsec.com include:_spf.bexio.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.sendinblue.com include:spf.mailjet.com include:_spf.abxsec.com include:_spf.bexio.com ~all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:149.72.212.100 ip4:167.89.3.126 ip4:159.183.225.3 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "amden.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "amden.ch" + ] + }, + "resolve_flags":[] }, "3312":{ "bfs":"3312", - "name":"Benken", - "canton":"", - "domain":"benken.ch", + "name":"Benken (SG)", + "canton":"Kanton St. Gallen", + "domain":"benken.sg.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" + "mta1.abxsec.com", + "mta2.abxsec.com" ], - "spf":"v=spf1 redirect=spf.mail.hostpoint.ch include:_spf.i-web.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch include:_spf.i-web.ch v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "spf":"v=spf1 mx include:_spf.abxsec.com ~all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "benken.sg.ch" + ], + "redirect":[], + "wikidata":[ + "benken.ch" + ], + "guess":[ + "benken.ch", + "benken.sg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "3313":{ "bfs":"3313", "name":"Kaltbrunn", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"kaltbrunn.ch", "mx":[ "mta1.abxsec.com", @@ -19367,19 +66585,45 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "kaltbrunn.ch" + ], + "guess":[ + "kaltbrunn.ch" + ] + }, + "resolve_flags":[] }, "3315":{ "bfs":"3315", "name":"Schänis", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"schaenis.ch", "mx":[ "mta1.abxsec.com", @@ -19387,19 +66631,41 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "schaenis.ch" + ], + "redirect":[], + "wikidata":[ + "schaenis.ch" + ], + "guess":[ + "schaenis.ch" + ] + }, + "resolve_flags":[] }, "3316":{ "bfs":"3316", "name":"Weesen", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"weesen.ch", "mx":[ "mta1.abxsec.com", @@ -19407,19 +66673,28 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "sources_detail":{ + "scrape":[ + "weesen.ch" + ], + "redirect":[], + "wikidata":[ + "weesen.ch" + ], + "guess":[ + "weesen.ch" + ] + }, + "resolve_flags":[] }, "3338":{ "bfs":"3338", "name":"Schmerikon", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"schmerikon.ch", "mx":[ "mta1.abxsec.com", @@ -19427,19 +66702,35 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "schmerikon.ch" + ], + "redirect":[], + "wikidata":[ + "schmerikon.ch" + ], + "guess":[ + "schmerikon.ch" + ] + }, + "resolve_flags":[] }, "3339":{ "bfs":"3339", "name":"Uznach", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"uznach.ch", "mx":[ "mta1.abxsec.com", @@ -19447,37 +66738,104 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ip4:193.135.56.6 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "uznach.ch" + ], + "redirect":[], + "wikidata":[ + "uznach.ch" + ], + "guess":[ + "uznach.ch" + ] + }, + "resolve_flags":[] }, "3340":{ "bfs":"3340", "name":"Rapperswil-Jona", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"rapperswil-jona.ch", "mx":[ "secmail.rapperswil-jona.ch" ], "spf":"v=spf1 include:spf.protection.outlook.com include:mail.rapperswil-jona.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:mail.rapperswil-jona.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.140.207.252 a:mail02.refline.ch a:mail01.refline.ch ip4:193.246.95.96/27 ip4:193.246.95.252 include:spf.abacuscity.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rapperswil-jona.ch CNAME → selector1-rapperswiljona-ch02e._domainkey.rjsgch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rapperswil-jona.ch CNAME → selector2-rapperswiljona-ch02e._domainkey.rjsgch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rapperswil-jona.ch" + ], + "guess":[ + "rapperswil-jona.ch", + "stadt-rapperswil-jona.ch" + ] + }, + "resolve_flags":[] }, "3341":{ "bfs":"3341", "name":"Gommiswald", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"gommiswald.ch", "mx":[ "smtagb02.abxsec.com", @@ -19487,19 +66845,72 @@ ], "spf":"v=spf1 mx a:www.gommiswald.ch a:mail2.schule.gommiswald.ch include:spf.protection.outlook.com include:spf.abxsec.com redirect=spf.mail.hostpoint.ch", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:www.gommiswald.ch a:mail2.schule.gommiswald.ch include:spf.protection.outlook.com include:spf.abxsec.com redirect=spf.mail.hostpoint.ch v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gommiswald.ch CNAME → selector1-gommiswald-ch._domainkey.gmdgommiswald.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gommiswald.ch CNAME → selector2-gommiswald-ch._domainkey.gmdgommiswald.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "gommiswald.ch" + ], + "redirect":[], + "wikidata":[ + "gommiswald.ch" + ], + "guess":[ + "gommiswald.ch", + "gommiswald.sg.ch" + ] + }, + "resolve_flags":[] }, "3342":{ "bfs":"3342", - "name":"Eschenbach", - "canton":"", + "name":"Eschenbach (SG)", + "canton":"Kanton St. Gallen", "domain":"eschenbach.ch", "mx":[ "mta1.abxsec.com", @@ -19507,37 +66918,136 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "eschenbach.ch" + ], + "redirect":[], + "wikidata":[ + "eschenbach.ch" + ], + "guess":[ + "eschenbach.ch" + ] + }, + "resolve_flags":[] }, "3352":{ "bfs":"3352", "name":"Ebnat-Kappel", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"ebnat-kappel.ch", "mx":[ "ebnatkappel-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 a:mail.wattwil.ch include:spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:mail.wattwil.ch include:spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ebnatkappel-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ebnat-kappel.ch CNAME → selector1-ebnatkappel-ch01c._domainkey.gemeindeebnatkappel.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ebnat-kappel.ch CNAME → selector2-ebnatkappel-ch01c._domainkey.gemeindeebnatkappel.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ebnat-kappel.ch" + ], + "redirect":[], + "wikidata":[ + "ebnat-kappel.ch" + ], + "guess":[ + "ebnat-kappel.ch", + "ebnatkappel.ch" + ] + }, + "resolve_flags":[] }, "3359":{ "bfs":"3359", "name":"Wildhaus-Alt St. Johann", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"wildhaus-altstjohann.ch", "mx":[ "mta1.abxsec.com", @@ -19545,19 +67055,33 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "wildhaus-altstjohann.ch" + ], + "redirect":[], + "wikidata":[ + "wildhaus-altstjohann.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3360":{ "bfs":"3360", "name":"Nesslau", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"nesslau.ch", "mx":[ "mta1.abxsec.com", @@ -19565,19 +67089,53 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "nesslau.ch" + ], + "redirect":[], + "wikidata":[ + "nesslau.ch" + ], + "guess":[ + "nesslau.ch" + ] + }, + "resolve_flags":[] }, "3374":{ "bfs":"3374", "name":"Lichtensteig", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"lichtensteig.ch", "mx":[ "mta1.abxsec.com", @@ -19585,40 +67143,107 @@ ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "lichtensteig.ch" + ], + "redirect":[], + "wikidata":[ + "lichtensteig.ch" + ], + "guess":[ + "lichtensteig.ch", + "lichtensteig.sg.ch" + ] + }, + "resolve_flags":[] }, "3379":{ "bfs":"3379", "name":"Wattwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"wattwil.ch", "mx":[ - "mta1.abxsec.com", - "mta2.abxsec.com" + "wattwil-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx a include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"mail.wattwil.ch", - "autodiscover_srv":"webmail.wattwil.ch" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "wattwil.ch" + ], + "redirect":[], + "wikidata":[ + "wattwil.ch" + ], + "guess":[ + "wattwil.ch" + ] + }, + "resolve_flags":[] }, "3392":{ "bfs":"3392", - "name":"Kirchberg", - "canton":"", + "name":"Kirchberg (SG)", + "canton":"Kanton St. Gallen", "domain":"kirchberg.ch", "mx":[ "mta1.abxsec.com", @@ -19626,19 +67251,41 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "kirchberg.ch" + ], + "redirect":[], + "wikidata":[ + "kirchberg.ch" + ], + "guess":[ + "kirchberg.ch" + ] + }, + "resolve_flags":[] }, "3393":{ "bfs":"3393", "name":"Lütisburg", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"luetisburg.ch", "mx":[ "mta1.abxsec.com", @@ -19646,38 +67293,123 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "luetisburg.ch" + ], + "redirect":[], + "wikidata":[ + "luetisburg.ch" + ], + "guess":[ + "luetisburg.ch" + ] + }, + "resolve_flags":[] }, "3394":{ "bfs":"3394", "name":"Mosnang", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"mosnang.ch", "mx":[ "mosnang-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.abxsec.com include:spf.protection.outlook.com -all", + "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mosnang-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mosnang.ch" + ], + "redirect":[], + "wikidata":[ + "mosnang.ch" + ], + "guess":[ + "mosnang.ch" + ] + }, + "resolve_flags":[] }, "3395":{ "bfs":"3395", "name":"Bütschwil-Ganterschwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"buetschwil-ganterschwil.ch", "mx":[ "smtasg01.abxsec.com", @@ -19685,19 +67417,41 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 include:spf.abxsec.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "buetschwil-ganterschwil.ch" + ], + "redirect":[], + "wikidata":[ + "buetschwil-ganterschwil.ch" + ], + "guess":[ + "buetschwil-ganterschwil.ch" + ] + }, + "resolve_flags":[] }, "3396":{ "bfs":"3396", "name":"Neckertal", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"neckertal.ch", "mx":[ "mta1.abxsec.com", @@ -19705,19 +67459,47 @@ ], "spf":"v=spf1 a mx include:_spf.abxsec.com include:_spf.sui-inter.net ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:_spf.abxsec.com include:_spf.sui-inter.net ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "neckertal.ch" + ], + "redirect":[], + "wikidata":[ + "neckertal.ch" + ], + "guess":[ + "neckertal.ch" + ] + }, + "resolve_flags":[] }, "3401":{ "bfs":"3401", "name":"Degersheim", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"degersheim.ch", "mx":[ "mta1.abxsec.com", @@ -19725,19 +67507,41 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "degersheim.ch" + ], + "redirect":[], + "wikidata":[ + "degersheim.ch" + ], + "guess":[ + "degersheim.ch" + ] + }, + "resolve_flags":[] }, "3402":{ "bfs":"3402", "name":"Flawil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"flawil.ch", "mx":[ "mta1.abxsec.com", @@ -19745,32 +67549,136 @@ ], "spf":"v=spf1 a mx include:spf.abxsec.com include:backslash.ch a:tesla2.sui-inter.net include:spf.abacuscity.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.abxsec.com include:backslash.ch a:tesla2.sui-inter.net include:spf.abacuscity.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 include:spf.protection.outlook.com ip4:193.135.56.0/24 ip4:193.135.57.0/24 ip4:193.135.58.0/24 ip4:89.47.51.12 ip6:2001:1600:13:101::141f include:spf.crsend.com -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:178.77.121.128/26 ip4:158.69.163.48/29 ip4:46.4.238.128/29 ip4:194.42.96.0/23 ip6:2607:5300:203:fe1::/112 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "flawil.ch" + ], + "redirect":[], + "wikidata":[ + "flawil.ch" + ], + "guess":[ + "flawil.ch" + ] + }, + "resolve_flags":[] }, "3405":{ "bfs":"3405", "name":"Jonschwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"jonschwil.ch", "mx":[ "jonschwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX jonschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "jonschwil.ch" + ], + "redirect":[], + "wikidata":[ + "jonschwil.ch" + ], + "guess":[ + "jonschwil.ch" + ] + }, + "resolve_flags":[] }, "3407":{ "bfs":"3407", @@ -19782,41 +67690,148 @@ ], "spf":"v=spf1 a mx a:spam.geoinfo.ch a:mail.koelliker.ch a:mail.oberuzwil.ch ip4:62.12.163.0/27 ip4:185.63.67.18 include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:spam.geoinfo.ch a:mail.koelliker.ch a:mail.oberuzwil.ch ip4:62.12.163.0/27 ip4:185.63.67.18 include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oberuzwil.ch CNAME → selector1-oberuzwil-ch._domainkey.gou9242.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oberuzwil.ch CNAME → selector2-oberuzwil-ch._domainkey.gou9242.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"mail.oberuzwil.ch" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "oberuzwil.ch" + ], + "redirect":[], + "wikidata":[ + "oberuzwil.ch" + ], + "guess":[ + "oberuzwil.ch" + ] + }, + "resolve_flags":[] }, "3408":{ "bfs":"3408", "name":"Uzwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"uzwil.ch", "mx":[ "uzwil-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:81.62.153.147 mx:hin.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:81.62.153.147 mx:hin.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.uzwil.ch CNAME → selector1-uzwil-ch._domainkey.gduzwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.uzwil.ch CNAME → selector2-uzwil-ch._domainkey.gduzwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "uzwil.ch" + ], + "redirect":[], + "wikidata":[ + "uzwil.ch" + ], + "guess":[ + "uzwil.ch" + ] + }, + "resolve_flags":[] }, "3422":{ "bfs":"3422", "name":"Niederbüren", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"niederbueren.ch", "mx":[ "mta1.abxsec.com", @@ -19824,19 +67839,47 @@ ], "spf":"v=spf1 a mx include:_spf.abxsec.com include:relay.mailchannels.net include:spf.protection.outlook.com ip4:49.13.125.142 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:_spf.abxsec.com include:relay.mailchannels.net include:spf.protection.outlook.com ip4:49.13.125.142 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "niederbueren.ch" + ], + "redirect":[], + "wikidata":[ + "niederbueren.ch" + ], + "guess":[ + "niederbueren.ch" + ] + }, + "resolve_flags":[] }, "3423":{ "bfs":"3423", "name":"Niederhelfenschwil", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"niederhelfenschwil.ch", "mx":[ "mta1.abxsec.com", @@ -19844,19 +67887,52 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "hellmueller.ch", + "kobesenmuehle.ch", + "niederhelfenschwil.ch", + "nsnz.clubdesk.com", + "sproochbrugg.ch", + "thurweb.ch" + ], + "redirect":[], + "wikidata":[ + "niederhelfenschwil.ch" + ], + "guess":[ + "niederhelfenschwil.ch" + ] + }, + "resolve_flags":[] }, "3424":{ "bfs":"3424", "name":"Oberbüren", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"oberbueren.ch", "mx":[ "mta1.abxsec.com", @@ -19864,20 +67940,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "oberbueren.ch" + ], + "redirect":[], + "wikidata":[ + "oberbueren.ch" + ], + "guess":[ + "oberbueren.ch" + ] + }, + "resolve_flags":[] }, "3426":{ "bfs":"3426", - "name":"Zuzwil", - "canton":"", + "name":"Zuzwil (SG)", + "canton":"Kanton St. Gallen", "domain":"zuzwil.ch", "mx":[ "mta1.abxsec.com", @@ -19885,19 +67988,47 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "zuzwil.ch" + ], + "redirect":[], + "wikidata":[ + "zuzwil.ch" + ], + "guess":[ + "zuzwil.ch" + ] + }, + "resolve_flags":[] }, "3427":{ "bfs":"3427", - "name":"Wil", - "canton":"", + "name":"Wil (SG)", + "canton":"Kanton St. Gallen", "domain":"stadtwil.ch", "mx":[ "mta1.abxsec.com", @@ -19905,19 +68036,42 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com a:smtp.swil.ch a:bildung-web.ch include:spf.nl2go.com include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com a:smtp.swil.ch a:bildung-web.ch include:spf.nl2go.com include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.stadtwil.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "stadtwil.ch" + ], + "redirect":[], + "wikidata":[ + "stadtwil.ch" + ], + "guess":[ + "stadt-wil.ch", + "wil.ch" + ] + }, + "resolve_flags":[] }, "3441":{ "bfs":"3441", - "name":"Andwil SG", - "canton":"", + "name":"Andwil (SG)", + "canton":"Kanton St. Gallen", "domain":"andwil.ch", "mx":[ "mta1.abxsec.com", @@ -19925,40 +68079,100 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.komsg.ch" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "andwil.ch" + ], + "redirect":[], + "wikidata":[ + "andwil.ch" + ], + "guess":[ + "andwil.ch" + ] + }, + "resolve_flags":[] }, "3442":{ "bfs":"3442", "name":"Gaiserwald", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"gaiserwald.ch", "mx":[ "gaiserwald-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:212.80.96.0/21 ip4:213.196.176.25 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:spf.mtasv.net include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:212.80.96.0/21 ip4:213.196.176.25 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:spf.mtasv.net include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:50.31.156.96/27 ip4:104.245.209.192/26 ip4:50.31.205.0/24 ip4:147.160.158.0/24 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "gaiserwald.ch" + ], + "redirect":[], + "wikidata":[ + "gaiserwald.ch" + ], + "guess":[ + "gaiserwald.ch" + ] + }, + "resolve_flags":[] }, "3443":{ "bfs":"3443", - "name":"Gossau", - "canton":"", + "name":"Gossau (SG)", + "canton":"Kanton St. Gallen", "domain":"stadtgossau.ch", "mx":[ "mta1.abxsec.com", @@ -19966,19 +68180,39 @@ ], "spf":"v=spf1 mx ip4:217.26.49.138 ip4:217.26.49.139 include:_spf.abxsec.com include:speedadmin.dk include:spf.nl2go.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:217.26.49.138 ip4:217.26.49.139 include:_spf.abxsec.com include:speedadmin.dk include:spf.nl2go.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:87.54.30.56 include:spf.protection.outlook.com -all v=spf1 include:spf1.nl2go.com include:spf2.nl2go.com include:spf3.nl2go.com ip4:88.198.181.208/28 ip4:88.198.96.0/27 ip4:178.63.169.208/28 ip4:88.198.249.64/28 ip4:46.4.145.64/28 ip4:178.63.165.160/28 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:78.46.88.157 ip4:62.138.82.64/26 ip4:62.138.86.8/29 ip4:62.138.91.0/29 ip4:62.138.120.184/29 ip4:62.138.121.0/26 ip4:46.4.133.24 ip4:176.9.2.230 ~all v=spf1 ip4:46.4.133.19 ip4:62.138.90.192/26 ip4:91.228.144.0/24 ~all v=spf1 ip4:185.182.80.48/29 ip4:185.182.80.144/29 ip4:185.182.80.248/29 ip4:185.182.83.240/29 ip4:78.47.39.96/28 ip4:78.46.88.146 ip4:78.46.88.156 ip4:213.239.217.189 ip4:78.46.114.185 ip4:176.9.2.231 ip4:46.4.133.23 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "stadtgossau.ch" + ], + "redirect":[], + "wikidata":[ + "stadtgossau.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3444":{ "bfs":"3444", "name":"Waldkirch", - "canton":"", + "canton":"Kanton St. Gallen", "domain":"waldkirch.ch", "mx":[ "mta1.abxsec.com", @@ -19986,37 +68220,91 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.sui-inter.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"abxsec", - "mx_asns":[ - 9108 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.komsg.ch" - } + "sources_detail":{ + "scrape":[ + "waldkirch.ch" + ], + "redirect":[], + "wikidata":[ + "waldkirch.ch" + ], + "guess":[ + "waldkirch.ch" + ] + }, + "resolve_flags":[] }, "3506":{ "bfs":"3506", "name":"Vaz/Obervaz", - "canton":"", + "canton":"Kanton Graubünden", "domain":"vazobervaz.ch", "mx":[ "vazobervaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf1.vazobervaz.ch include:spf2.vazobervaz.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf1.vazobervaz.ch include:spf2.vazobervaz.ch -all v=spf1 include:spf.protection.outlook.com a:mail.ostendis.ch ip4:85.10.213.141 ip4:217.151.113.128/28 ip4:81.63.131.104/30 ip4:193.93.20.0/26 ip4:217.71.243.29 ip4:5.148.181.25 ip4:195.48.58.75 -all v=spf1 ip6:2a01:4f8:d0a:25b5::2 ip6:2a02:1205:5049:f890:6dae:6e9d:d642:26ed ip6:2a02:1205:5049:f890:2caa:6464:18a5:6be9 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":89.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vazobervaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "vazobervaz.ch" + ] + }, + "resolve_flags":[] }, "3513":{ "bfs":"3513", "name":"Lantsch/Lenz", - "canton":"", + "canton":"Kanton Graubünden", "domain":"lantsch-lenz.ch", "mx":[ "mx1.naveum.services", @@ -20024,47 +68312,107 @@ ], "spf":"v=spf1 mx a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services include:_spf.tophost.ch", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services include:_spf.tophost.ch v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all", - "mx_asns":[ - 205737 - ], - "autodiscover":{ - "autodiscover_cname":"mail01.axc.biz" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lantsch-lenz.ch" + ], + "guess":[ + "lantsch-lenz.ch", + "lenz.ch" + ] + }, + "resolve_flags":[] }, "3514":{ "bfs":"3514", - "name":"Schmitten", - "canton":"", + "name":"Schmitten (GR)", + "canton":"Kanton Graubünden", "domain":"schmitten-gr.ch", "mx":[ "mail.schmitten-gr.ch" ], "spf":"v=spf1 +mx +a include:_spf.mail.hostserv.eu ~all", "provider":"independent", - "spf_resolved":"v=spf1 +mx +a include:_spf.mail.hostserv.eu ~all v=spf1 a:mailhost.hostserv.eu a:mailhost.hosttech.eu include:_spf.v4.hosttech.eu include:_spf.v6.1.hosttech.eu include:_spf.v6.2.hosttech.eu ~all v=spf1 ip4:193.203.253.22 ip4:193.203.253.23 ip4:193.203.253.24 ip4:193.203.253.25 ip4:193.203.253.26 ip4:193.203.253.27 ip4:45.131.252.247 ip4:45.131.252.248 ip4:45.131.252.249 ip4:45.131.253.4 ip4:45.131.253.5 ip4:45.131.253.7 ~all v=spf1 ip6:2001:1680:101:83a::79 ip6:2001:1680:101:83a::8f ip6:2001:1680:101:83a::91 ip6:2001:1680:101:83a::95 ip6:2001:1680:101:83a::9d ip6:2001:1680:101:83a::d6 ~all v=spf1 ip6:2a11:8b80:1000:1::46 ip6:2a11:8b80:1000:1::47 ip6:2a11:8b80:1000:1::48 ip6:2a11:8b80:1000:1::49 ip6:2a11:8b80:1000:1::4a ip6:2a11:8b80:1000:1::4b ~all", - "mx_asns":[ - 9044 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "schmitten-gr.ch" + ], + "guess":[ + "schmitten.ch" + ] + }, + "resolve_flags":[] }, "3542":{ "bfs":"3542", "name":"Albula/Alvra", - "canton":"", + "canton":"Kanton Graubünden", "domain":"albula-alvra.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "albula-alvra.ch" + ], + "redirect":[], + "wikidata":[ + "albula-alvra.ch" + ], + "guess":[ + "albula-alvra.ch", + "albula.gr.ch" + ] + }, + "resolve_flags":[] }, "3543":{ "bfs":"3543", @@ -20077,34 +68425,91 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.abx-net.net" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "afm.gr.ch", + "surses.ch" + ], + "redirect":[], + "wikidata":[ + "surses.ch" + ], + "guess":[ + "surses.ch" + ] + }, + "resolve_flags":[] }, "3544":{ "bfs":"3544", "name":"Bergün Filisur", - "canton":"", + "canton":"Kanton Graubünden", "domain":"berguenfilisur.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud a:webcms.ruf.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud a:webcms.ruf.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "berguenfilisur.ch" + ], + "redirect":[], + "wikidata":[ + "berguenfilisur.ch" + ], + "guess":[ + "berguen-filisur.ch", + "berguenfilisur.ch" + ] + }, + "resolve_flags":[] }, "3551":{ "bfs":"3551", @@ -20116,31 +68521,166 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.ddss.ch include:mailgun.org -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.protection.ddss.ch include:mailgun.org -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a ip4:82.220.38.206/32 ip4:194.56.188.104/32 -all v=spf1 include:_spf.mailgun.org include:_spf.eu.mailgun.org -all v=spf1 include:_spf1.mailgun.org include:_spf2.mailgun.org ~all v=spf1 ip4:141.193.32.0/23 ip4:159.135.140.80/29 ip4:159.135.132.128/25 ip4:161.38.204.0/22 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:143.55.236.0/22 ip4:198.244.60.0/22 ip4:204.220.160.0/21 ~all v=spf1 ip4:209.61.151.0/24 ip4:166.78.68.0/22 ip4:198.61.254.0/23 ip4:192.237.158.0/23 ip4:23.253.182.0/23 ip4:104.130.96.0/28 ip4:146.20.113.0/24 ip4:146.20.191.0/24 ip4:159.135.224.0/20 ip4:69.72.32.0/20 ~all v=spf1 ip4:104.130.122.0/23 ip4:146.20.112.0/26 ip4:161.38.192.0/20 ip4:143.55.224.0/21 ip4:143.55.232.0/22 ip4:159.112.240.0/20 ip4:198.244.48.0/20 ip4:204.220.168.0/21 ip4:204.220.176.0/20 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brusio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brusio.ch" + ], + "redirect":[], + "wikidata":[ + "brusio.ch" + ], + "guess":[ + "brusio.ch" + ] + }, + "resolve_flags":[] }, "3561":{ "bfs":"3561", "name":"Poschiavo", - "canton":"", + "canton":"Kanton Graubünden", "domain":"poschiavo.ch", "mx":[ "poschiavo-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:217.192.142.142 ip4:213.133.224.40 ip4:213.133.224.64 ip4:193.93.20.61 ip4:178.23.174.0/27 ip4:89.207.237.84 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:217.192.142.142 ip4:213.133.224.40 ip4:213.133.224.64 ip4:193.93.20.61 ip4:178.23.174.0/27 ip4:89.207.237.84 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX poschiavo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "poschiavo.ch" + ], + "redirect":[], + "wikidata":[ + "poschiavo.ch" + ], + "guess":[ + "poschiavo.ch", + "poschiavo.gr.ch" + ] + }, + "resolve_flags":[] }, "3572":{ "bfs":"3572", @@ -20152,37 +68692,127 @@ "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:193.93.20.0/26 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:193.93.20.0/26 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "falera.net" + ], + "redirect":[], + "wikidata":[ + "falera.net" + ], + "guess":[] + }, + "resolve_flags":[] }, "3575":{ "bfs":"3575", "name":"Laax", - "canton":"", + "canton":"Kanton Graubünden", "domain":"laax-gr.ch", "mx":[ "laaxgr-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laaxgr-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "laax-gr.ch" + ], + "redirect":[], + "wikidata":[ + "laax-gr.ch" + ], + "guess":[ + "laax.ch" + ] + }, + "resolve_flags":[] }, "3581":{ "bfs":"3581", "name":"Sagogn", - "canton":"", + "canton":"Kanton Graubünden", "domain":"sagogn.ch", "mx":[ "avas-in1.exigo.ch", @@ -20190,12 +68820,35 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 -all", "provider":"independent", - "mx_asns":[ - 31052 - ], - "autodiscover":{ - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sagogn.ch" + ], + "redirect":[], + "wikidata":[ + "sagogn.ch" + ], + "guess":[ + "sagogn.ch" + ] + }, + "resolve_flags":[] }, "3582":{ "bfs":"3582", @@ -20207,13 +68860,83 @@ ], "spf":"v=spf1 ip4:92.204.51.120 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:92.204.51.120 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schluein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.schluein.ch CNAME → selector1-schluein-ch._domainkey.schluein.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.schluein.ch CNAME → selector2-schluein-ch._domainkey.schluein.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schluein.ch" + ], + "redirect":[], + "wikidata":[ + "schluein.ch" + ], + "guess":[ + "schluein.ch" + ] + }, + "resolve_flags":[] }, "3603":{ "bfs":"3603", @@ -20225,37 +68948,154 @@ ], "spf":"v=spf1 include:sendgrid.net include:_spf.mlsend.com include:egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:sendgrid.net include:_spf.mlsend.com include:egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 ip4:185.249.220.0/24 ip4:185.225.161.0/24 ~all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vals-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vals.ch CNAME → selector1-vals-ch._domainkey.visitvals.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vals.ch CNAME → selector2-vals-ch._domainkey.visitvals.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "vals.ch" + ], + "redirect":[], + "wikidata":[ + "vals.ch" + ], + "guess":[ + "gemeinde-vals.ch", + "vals.ch" + ] + }, + "resolve_flags":[] }, "3618":{ "bfs":"3618", "name":"Lumnezia", - "canton":"", + "canton":"Kanton Graubünden", "domain":"lumnezia.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx ip4:193.93.20.0/26 include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.93.20.0/26 include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "lumnezia.ch" + ], + "redirect":[], + "wikidata":[ + "lumnezia.ch" + ], + "guess":[ + "lumnezia.ch" + ] + }, + "resolve_flags":[] }, "3619":{ "bfs":"3619", "name":"Ilanz/Glion", - "canton":"", + "canton":"Kanton Graubünden", "domain":"ilanz-glion.ch", "mx":[ "mx1.chur.ch", @@ -20263,101 +69103,312 @@ ], "spf":"v=spf1 mx ip4:195.189.148.0/24 mx ip4:193.93.20.0/26 include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:195.189.148.0/24 mx ip4:193.93.20.0/26 include:spf.abacuscity.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.chur.ch", - "autodiscover_srv":"autodiscover.ilanz-glion.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ilanz-glion.ch" + ], + "redirect":[], + "wikidata":[ + "ilanz-glion.ch" + ], + "guess":[ + "glion.ch", + "ilanz-glion.ch", + "ilanz.ch" + ] + }, + "resolve_flags":[] }, "3633":{ "bfs":"3633", "name":"Fürstenau", - "canton":"", + "canton":"Kanton Graubünden", "domain":"fuerstenau.ch", "mx":[ "mail.fuerstenau.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", "provider":"independent", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "fuerstenau.ch" + ], + "redirect":[], + "wikidata":[ + "fuerstenau.ch" + ], + "guess":[ + "fuerstenau.ch" + ] + }, + "resolve_flags":[] }, "3637":{ "bfs":"3637", "name":"Rothenbrunnen", - "canton":"", + "canton":"Kanton Graubünden", "domain":"rothenbrunnen.ch", "mx":[ "mail.rothenbrunnen.ch" ], "spf":"v=spf1 include:spf.protection.cyon.net -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "rothenbrunnen.ch" + ], + "redirect":[], + "wikidata":[ + "rothenbrunnen.ch" + ], + "guess":[ + "rothenbrunnen.ch" + ] + }, + "resolve_flags":[] }, "3638":{ "bfs":"3638", "name":"Scharans", - "canton":"", + "canton":"Kanton Graubünden", "domain":"scharans.ch", "mx":[ "mail.scharans.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "scharans.ch" + ], + "redirect":[], + "wikidata":[ + "scharans.ch" + ], + "guess":[ + "scharans.ch" + ] + }, + "resolve_flags":[] }, "3640":{ "bfs":"3640", "name":"Sils im Domleschg", - "canton":"", + "canton":"Kanton Graubünden", "domain":"sils-id.ch", "mx":[ "silsid-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.demicomp.ch include:_spf.i-web.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.demicomp.ch include:_spf.i-web.ch ~all v=spf1 ip4:212.90.197.16/28 ip4:81.221.27.176/28 include:_spf.sui-inter.net include:_spf.swisscomdata.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:213.3.75.49 ip4:213.3.75.50 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":91.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX silsid-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sils-id.ch" + ], + "redirect":[], + "wikidata":[ + "sils-id.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3661":{ "bfs":"3661", "name":"Cazis", - "canton":"", + "canton":"Kanton Graubünden", "domain":"cazis.ch", "mx":[ "cazis-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:81.62.176.126 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.62.176.126 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cazis-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cazis.ch CNAME → selector1-cazis-ch._domainkey.gemcazis.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cazis.ch CNAME → selector2-cazis-ch._domainkey.gemcazis.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover SRV → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "cazis.ch" + ], + "redirect":[], + "wikidata":[ + "cazis.ch" + ], + "guess":[ + "cazis.ch" + ] + }, + "resolve_flags":[] }, "3662":{ "bfs":"3662", @@ -20369,64 +69420,151 @@ ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "flerden.ch" + ], + "redirect":[], + "wikidata":[ + "flerden.ch" + ], + "guess":[ + "flerden.ch" + ] + }, + "resolve_flags":[] }, "3663":{ "bfs":"3663", "name":"Masein", - "canton":"", + "canton":"Kanton Graubünden", "domain":"masein.ch", "mx":[ "mail.masein.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "masein.ch" + ], + "redirect":[], + "wikidata":[ + "masein.ch" + ], + "guess":[ + "masein.ch" + ] + }, + "resolve_flags":[] }, "3668":{ "bfs":"3668", "name":"Thusis", - "canton":"", + "canton":"Kanton Graubünden", "domain":"thusis.ch", "mx":[ "thusis-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud include:spf.smtp2go.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud include:spf.smtp2go.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:207.58.147.64/28 ip4:216.22.15.224/27 ip4:43.228.184.0/22 ip4:103.47.204.0/22 ip4:103.2.140.0/22 ip4:203.31.36.0/22 ip4:170.10.68.0/22 ip4:158.120.80.0/21 ip4:66.235.120.0/21 ip4:194.195.251.175 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX thusis-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "thusis.ch" + ], + "redirect":[], + "wikidata":[ + "thusis.ch" + ], + "guess":[ + "thusis.ch" + ] + }, + "resolve_flags":[] }, "3669":{ "bfs":"3669", "name":"Tschappina", "canton":"Kanton Graubünden", - "domain":"heinzenberg.ch", + "domain":"tschappina.ch", "mx":[ - "mail.heinzenberg.ch" + "mail.tschappina.ch" ], - "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", + "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "override":[ + "tschappina.ch" + ] + }, + "resolve_flags":[] }, "3670":{ "bfs":"3670", @@ -20438,18 +69576,34 @@ ], "spf":"v=spf1 include:spf.protection.cyon.net -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "urmein.ch" + ], + "redirect":[], + "wikidata":[ + "urmein.ch" + ], + "guess":[ + "urmein.ch" + ] + }, + "resolve_flags":[] }, "3672":{ "bfs":"3672", "name":"Safiental", - "canton":"", + "canton":"Kanton Graubünden", "domain":"safiental.ch", "mx":[ "avas-in1.exigo.ch", @@ -20457,44 +69611,151 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 -all", "provider":"independent", - "mx_asns":[ - 31052 - ], - "autodiscover":{ - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "override":[ + "safiental.ch" + ] + }, + "resolve_flags":[] }, "3673":{ "bfs":"3673", "name":"Domleschg", - "canton":"", - "domain":"tomils.ch", + "canton":"Kanton Graubünden", + "domain":"domleschg.ch", "mx":[ "domleschg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.mailjet.com ip4:146.4.102.214 include:spf.protection.outlook.com include:spf-repost-eu.tmcas.trendmicro.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.mailjet.com ip4:146.4.102.214 include:spf.protection.outlook.com include:spf-repost-eu.tmcas.trendmicro.com -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.160.56.80/28 ip4:20.126.64.109/32 ip4:20.126.70.251/32 ip4:20.54.65.179/32 ip4:20.54.68.120/32 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX domleschg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "domleschg.ch" + ], + "redirect":[ + "domleschg.ch" + ], + "wikidata":[ + "tomils.ch" + ], + "guess":[ + "domleschg.ch", + "gemeinde-domleschg.ch" + ] + }, + "resolve_flags":[ + "sources_disagree", + "website_mismatch" + ] }, "3681":{ "bfs":"3681", "name":"Avers", - "canton":"", - "domain":"gemeindeavers.ch", + "canton":"Kanton Graubünden", + "domain":"avers.ch", "mx":[ - "mail.gemeindeavers.ch" + "mail.avers.ch" ], "spf":"v=spf1 ip4:62.202.22.249 include:_spf.sui-inter.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:62.202.22.249 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "avers.ch" + ], + "redirect":[], + "wikidata":[ + "gemeindeavers.ch" + ], + "guess":[ + "avers.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3695":{ @@ -20507,31 +69768,155 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sufers-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sufers.ch" + ], + "guess":[ + "sufers.ch" + ] + }, + "resolve_flags":[] }, "3701":{ "bfs":"3701", "name":"Andeer", - "canton":"", + "canton":"Kanton Graubünden", "domain":"andeer.ch", "mx":[ "andeer-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX andeer-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "andeer.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "andeer.ch" + ] + }, + "resolve_flags":[] }, "3711":{ "bfs":"3711", @@ -20543,31 +69928,177 @@ ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rongellen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rongellen.ch CNAME → selector1-rongellen-ch._domainkey.gemeinderongellench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rongellen.ch CNAME → selector2-rongellen-ch._domainkey.gemeinderongellench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rongellen.ch" + ], + "redirect":[], + "wikidata":[ + "rongellen.ch" + ], + "guess":[ + "rongellen.ch" + ] + }, + "resolve_flags":[] }, "3712":{ "bfs":"3712", "name":"Zillis-Reischen", - "canton":"", + "canton":"Kanton Graubünden", "domain":"zillis-reischen.ch", "mx":[ "zillisreischen-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zillisreischen-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zillis-reischen.ch" + ], + "redirect":[], + "wikidata":[ + "zillis-reischen.ch" + ], + "guess":[ + "zillis-reischen.ch" + ] + }, + "resolve_flags":[] }, "3713":{ "bfs":"3713", @@ -20579,37 +70110,129 @@ ], "spf":"v=spf1 a ip4:80.74.145.75 ip4:80.74.145.111 include:spf.protection.outlook.com include:_spf.sui-inter.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a ip4:80.74.145.75 ip4:80.74.145.111 include:spf.protection.outlook.com include:_spf.sui-inter.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ferrera-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ferrera.ch" + ], + "redirect":[], + "wikidata":[ + "ferrera.ch" + ], + "guess":[ + "ferrera.ch" + ] + }, + "resolve_flags":[] }, "3714":{ "bfs":"3714", "name":"Rheinwald", - "canton":"", + "canton":"Kanton Graubünden", "domain":"rheinwald.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx ip4:193.93.20.0/26 a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.93.20.0/26 a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "rheinwald.ch" + ], + "redirect":[], + "wikidata":[ + "rheinwald.ch" + ], + "guess":[ + "rheinwald.ch" + ] + }, + "resolve_flags":[] }, "3715":{ "bfs":"3715", "name":"Muntogna da Schons", - "canton":"", + "canton":"Kanton Graubünden", "domain":"mdschons.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -20617,18 +70240,25 @@ ], "spf":"v=spf1 redirect=spf.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "mdschons.ch" + ], + "redirect":[], + "wikidata":[ + "mdschons.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3721":{ "bfs":"3721", "name":"Bonaduz", - "canton":"Kanton Graubünden", + "canton":"", "domain":"bonaduz.ch", "mx":[ "mx1.chur.ch", @@ -20636,19 +70266,46 @@ ], "spf":"v=spf1 mx a:webcms.ruf.ch include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch include:spf.abacuscity.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.chur.ch", - "autodiscover_srv":"autodiscoverredirect.chur.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bonaduz.ch" + ], + "redirect":[], + "wikidata":[ + "bonaduz.ch" + ], + "guess":[ + "bonaduz.ch" + ] + }, + "resolve_flags":[] }, "3722":{ "bfs":"3722", "name":"Domat/Ems", - "canton":"Kanton Graubünden", + "canton":"", "domain":"domat-ems.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -20656,14 +70313,74 @@ ], "spf":"v=spf1 mx a:mail.alphacom.ch ip4:91.205.149.149 ip4:80.89.214.234 ip4:5.148.181.25 ip4:91.234.52.17 include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx a:mail.alphacom.ch ip4:91.205.149.149 ip4:80.89.214.234 ip4:5.148.181.25 ip4:91.234.52.17 include:_spf.i-web.ch ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"sophos", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch" + } ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.alphacom.ch" - } + "gateway":"sophos", + "sources_detail":{ + "scrape":[ + "domat-ems.ch", + "gbde.ch" + ], + "redirect":[], + "wikidata":[ + "domat-ems.ch" + ], + "guess":[ + "domat-ems.ch", + "ems.ch" + ] + }, + "resolve_flags":[] }, "3723":{ "bfs":"3723", @@ -20675,14 +70392,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rhaezuens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rhaezuens.ch" + ], + "redirect":[], + "wikidata":[ + "rhaezuens.ch" + ], + "guess":[ + "rhaezuens.ch" + ] + }, + "resolve_flags":[] }, "3731":{ "bfs":"3731", @@ -20694,13 +70474,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX felsberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "felsberg.ch" + ], + "redirect":[], + "wikidata":[ + "felsberg.ch" + ], + "guess":[ + "felsberg.ch" + ] + }, + "resolve_flags":[] }, "3732":{ "bfs":"3732", @@ -20713,14 +70557,35 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:195.189.148.0/24 include:_spf.i-web.ch include:spf.abxsec.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:195.189.148.0/24 include:_spf.i-web.ch include:spf.abxsec.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.chur.ch", - "autodiscover_srv":"autodiscover.gemeindeflims.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gemeindeflims.ch" + ], + "redirect":[], + "wikidata":[ + "gemeindeflims.ch" + ], + "guess":[ + "flims.ch" + ] + }, + "resolve_flags":[] }, "3733":{ "bfs":"3733", @@ -20732,37 +70597,140 @@ ], "spf":"v=spf1 ip4:81.62.159.14 include:spf.protection.outlook.com include:_spf.i-web.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.159.14 include:spf.protection.outlook.com include:_spf.i-web.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tamins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "tamins.ch" + ], + "redirect":[], + "wikidata":[ + "tamins.ch" + ], + "guess":[ + "tamins.ch" + ] + }, + "resolve_flags":[] }, "3734":{ "bfs":"3734", "name":"Trin", - "canton":"Kanton Graubünden", - "domain":"trin.ch", + "canton":"", + "domain":"gemeindetrin.ch", "mx":[ - "mx.prod.qlmail.ch" - ], - "spf":"v=spf1 redirect=_spf.qlmail.ch", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 redirect=_spf.qlmail.ch v=spf1 ip4:89.236.171.24 ip4:31.193.211.99 ip4:89.236.170.0/27 ip4:89.236.174.0/24 ip6:2001:1a88:20:8171::24 -all", - "mx_asns":[ - 15600 + "mx1.chur.ch", + "mx2.chur.ch" ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.quickline.com", - "autodiscover_srv":"autodiscover.quickline.com" - } + "spf":"v=spf1 mx ip4:195.189.148.0/24 ip4:146.159.132.15 ip4:146.159.132.25 ip4:195.65.10.12 ip4:91.234.52.10 ip4:91.234.52.17 include:spf.abacuscity.ch include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "override":[ + "gemeindetrin.ch" + ] + }, + "resolve_flags":[] }, "3746":{ "bfs":"3746", "name":"Zernez", - "canton":"", + "canton":"Kanton Graubünden", "domain":"zernez.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -20770,19 +70738,79 @@ ], "spf":"v=spf1 include:_spf.prod.hydra.sophos.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.prod.hydra.sophos.com -all v=spf1 include:_spf_uswest2.prod.hydra.sophos.com include:_spf_euwest1.prod.hydra.sophos.com include:_spf_eucentral1.prod.hydra.sophos.com include:_spf_useast2.prod.hydra.sophos.com ~all v=spf1 ip4:198.154.181.0/24 ip4:64.69.223.0/24 ip4:192.175.3.0/24 ip4:198.160.151.0/24 ip4:34.213.30.40/29 ip4:34.213.30.104/29 ip4:34.212.96.64/28 ip4:34.213.30.95/32 ip4:34.213.30.120/32 ip4:34.212.96.123/32 ~all v=spf1 ip4:198.154.180.0/24 ip4:34.253.219.128/28 ip4:34.253.219.152/29 ip4:34.253.219.160/29 ip4:34.253.219.248/30 ip4:34.253.219.144/32 ~all v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all v=spf1 ip4:85.113.84.0/24 ip4:103.246.251.0/24 ip4:18.216.23.16/28 ip4:18.216.23.48/28 ip4:18.216.23.15/32 ip4:18.216.13.134/31 ip4:18.216.13.136/32 ~all", - "gateway":"sophos", - "mx_asns":[ - 16509 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"sophos", + "sources_detail":{ + "scrape":[ + "engadin.com", + "estm.ch", + "zernez.ch" + ], + "redirect":[], + "wikidata":[ + "zernez.ch" + ], + "guess":[ + "zernez.ch" + ] + }, + "resolve_flags":[] }, "3752":{ "bfs":"3752", "name":"Samnaun", - "canton":"", + "canton":"Kanton Graubünden", "domain":"samnaun.swiss", "mx":[ "mx01.hornetsecurity.com", @@ -20792,187 +70820,847 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "samnaun.swiss" + ], + "redirect":[], + "wikidata":[ + "samnaun.swiss" + ], + "guess":[ + "samnaun.ch" + ] + }, + "resolve_flags":[] }, "3762":{ "bfs":"3762", "name":"Scuol", - "canton":"", + "canton":"Kanton Graubünden", "domain":"scuol.net", "mx":[ "scuol-net.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.scuol.net" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX scuol-net.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.scuol.net CNAME → selector1-scuol-net._domainkey.gemeindescuol.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.scuol.net CNAME → selector2-scuol-net._domainkey.gemeindescuol.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "scuol.net" + ], + "redirect":[], + "wikidata":[ + "scuol.net" + ], + "guess":[ + "gemeinde-scuol.ch", + "scuol.ch" + ] + }, + "resolve_flags":[] }, "3764":{ "bfs":"3764", "name":"Valsot", - "canton":"", + "canton":"Kanton Graubünden", "domain":"valsot.ch", "mx":[ "valsot-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX valsot-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "valsot.ch" + ], + "redirect":[], + "wikidata":[ + "valsot.ch" + ], + "guess":[ + "valsot.ch" + ] + }, + "resolve_flags":[] }, "3781":{ "bfs":"3781", "name":"Bever", - "canton":"", + "canton":"Kanton Graubünden", "domain":"gemeinde-bever.ch", "mx":[ "gemeindebever-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindebever-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "engadin.ch", + "estm.ch", + "gemeinde-bever.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-bever.ch" + ], + "guess":[ + "bever.ch", + "gemeinde-bever.ch" + ] + }, + "resolve_flags":[] }, "3782":{ "bfs":"3782", "name":"Celerina/Schlarigna", - "canton":"", - "domain":"gemeinde-celerina.ch", - "mx":[ - "cluster8.eu.messagelabs.com", - "cluster8a.eu.messagelabs.com" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 396982 + "canton":"Kanton Graubünden", + "domain":"celerina.ch", + "mx":[ + "celerina-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:_spf.mailersend.net include:spf.engadin.cloud include:spf.spotwerbung.ch include:spf.protection.outlook.com a -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX celerina-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.celerina.ch CNAME → selector1-celerina-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.celerina.ch CNAME → selector2-celerina-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "celerina.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-celerina.ch" + ], + "guess":[ + "celerina.ch", + "gemeinde-celerina.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3783":{ "bfs":"3783", "name":"Madulain", - "canton":"", + "canton":"Kanton Graubünden", "domain":"madulain.ch", "mx":[ "madulain-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:6803279.spf01.hubspotemail.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:6803279.spf01.hubspotemail.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:3.93.157.0/24 ip4:3.210.190.0/24 ip4:18.208.124.128/25 ip4:54.174.52.0/24 ip4:54.174.57.0/24 ip4:54.174.59.0/24 ip4:54.174.60.0/23 ip4:54.174.63.0/24 ip4:108.179.144.0/20 ip4:139.180.17.0/24 ip4:141.193.184.32/27 ip4:141.193.184.64/26 ip4:141.193.184.128/25 ip4:141.193.185.32/27 ip4:141.193.185.64/26 ip4:141.193.185.128/25 ip4:143.244.80.0/20 ip4:158.247.16.0/20 ip4:216.139.64.0/19 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX madulain-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "madulain.ch" + ], + "redirect":[], + "wikidata":[ + "madulain.ch" + ], + "guess":[ + "madulain.ch" + ] + }, + "resolve_flags":[] }, "3784":{ "bfs":"3784", "name":"Pontresina", - "canton":"", - "domain":"gemeinde-pontresina.ch", - "mx":[ - "cluster8.eu.messagelabs.com", - "cluster8a.eu.messagelabs.com" - ], - "spf":"v=spf1 +a +mx include:spf.messagelabs.com include:spf.spotwerbung.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 +a +mx include:spf.messagelabs.com include:spf.spotwerbung.ch -all v=spf1 include:nets1.spf.messagelabs.com include:nets2.spf.messagelabs.com ~all v=spf1 ip4:213.133.107.213 ip6:2a01:4f8:d0a:2295::2 ip4:213.133.121.85 ip6:2a01:4f8:d0a:1184::2 ip4:78.46.125.17 ip6:2a01:4f8:d0a:409b::2 ip4:78.46.148.201 ip6:2a01:4f8:d0a:50f7::2 ip4:78.46.196.81 ip6:2a01:4f8:d0a:6134::2 ip4:78.46.4.123 ip6:2a01:4f8:d0a:216c::2 ip4:78.47.106.26 ip6:2a01:4f8:d0a:639e::2 ip4:78.46.3.225 ip6:2a01:4f8:d0a:318f::2 ip4:159.69.104.114 ip6:2a01:4f8:c0c:a6d::2 ip4:85.10.212.78 ip6:2a01:4f8:d0a:241e::2 ip4:78.46.166.37 ip6:2a01:4f8:d0a:61c2::2 -all v=spf1 ip4:85.158.136.0/21 ip4:193.109.254.0/23 ip4:194.106.220.0/23 ip4:195.245.230.0/23 ip4:95.131.104.0/21 ip4:46.226.48.0/21 v=spf1 ip4:216.82.240.0/20 ip4:67.219.240.0/20 ip4:117.120.16.0/21 ip4:103.9.96.0/22 ip4:35.228.216.85 ip4:146.148.116.76 ip4:34.141.160.224 ip4:34.70.158.162 ip4:34.74.74.140 ip4:34.83.159.189", - "mx_asns":[ - 396982 + "canton":"Kanton Graubünden", + "domain":"pontresina.ch", + "mx":[ + "pontresina-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:_spf.mailersend.net include:spf.engadin.cloud ip4:78.46.166.37 ip6:2a01:4f8:d0a:61c2::2 include:spf.spotwerbung.ch include:spfhard.crsend.com include:spf.mailjet.com include:eu.zcsend.net -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pontresina-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.pontresina.ch CNAME → selector1-pontresina-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.pontresina.ch CNAME → selector2-pontresina-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover SRV → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pontresina.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-pontresina.ch" + ], + "guess":[ + "gemeinde-pontresina.ch", + "pontresina.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3785":{ "bfs":"3785", "name":"La Punt Chamues-ch", - "canton":"", + "canton":"Kanton Graubünden", "domain":"lapunt.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:193.93.0.0/16 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:193.93.0.0/16 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "lapunt.ch" + ], + "redirect":[], + "wikidata":[ + "lapunt.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3786":{ "bfs":"3786", "name":"Samedan", - "canton":"", - "domain":"samedan.ch", + "canton":"Kanton Graubünden", + "domain":"samedan.gr.ch", "mx":[ - "smtp.backslash.ch" + "mail1.rzobt.ch", + "mail2.rzobt.ch" ], - "spf":"v=spf1 ip4:193.135.56.0/24 -all", + "spf":"v=spf1 include:_spf.rzobt.ch -all", "provider":"independent", - "mx_asns":[ - 207143 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "alpinwald.ch", + "energia-samedan.ch", + "feuerwehr-samedan-pontresina.ch", + "regio-maloja.ch", + "samedan.gr.ch", + "schule-samedan.ch" + ], + "redirect":[], + "wikidata":[ + "samedan.ch" + ], + "guess":[ + "samedan.ch", + "samedan.gr.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3787":{ "bfs":"3787", "name":"St. Moritz", - "canton":"", - "domain":"gemeinde-stmoritz.ch", - "mx":[ - "cluster5.eu.messagelabs.com", - "cluster5a.eu.messagelabs.com" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 396982 + "canton":"Kanton Graubünden", + "domain":"stmoritz.ch", + "mx":[ + "stmoritz-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:_spf.mailersend.net include:spf.engadin.cloud include:spf.crsend.com include:spf.spotwerbung.ch ip4:94.130.127.175 ip4:94.130.145.106 ip4:78.46.211.212 ip4:212.71.124.244 ip4:212.59.169.85 include:spf.protection.outlook.com a -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stmoritz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.stmoritz.ch CNAME → selector1-moritz-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.stmoritz.ch CNAME → selector2-moritz-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stmoritz.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-stmoritz.ch" + ], + "guess":[ + "st-moritz.ch", + "stmoritz.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "3788":{ "bfs":"3788", "name":"S-chanf", - "canton":"", + "canton":"Kanton Graubünden", "domain":"s-chanf.ch", "mx":[ "schanf-ch0c.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.210.99.3 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.210.99.3 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schanf-ch0c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.s-chanf.ch CNAME → selector1-schanf-ch0c._domainkey.schanf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.s-chanf.ch CNAME → selector2-schanf-ch0c._domainkey.schanf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "s-chanf.ch" + ], + "redirect":[], + "wikidata":[ + "s-chanf.ch" + ], + "guess":[ + "s-chanf.ch" + ] + }, + "resolve_flags":[] }, "3789":{ "bfs":"3789", @@ -20984,48 +71672,265 @@ ], "spf":"v=spf1 ip4:91.205.149.219 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:91.205.149.219 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX silssegl-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sils-segl.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3790":{ "bfs":"3790", "name":"Silvaplana", - "canton":"", - "domain":"gemeinde-silvaplana.ch", - "mx":[ - "silvaplana.ch.snwlhostedeu.com" - ], - "spf":"v=spf1 include:spf.engadin.cloud include:spf.mailjet.com ip4:164.90.186.134 ip4:46.140.134.176/29 a -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.engadin.cloud include:spf.mailjet.com ip4:164.90.186.134 ip4:46.140.134.176/29 a -all v=spf1 include:spf.protection.outlook.com include:spf.abacuscity.ch include:spf.exclaimer.net include:spf.eu.exclaimer.net ip4:77.74.4.142 ip4:185.243.67.1/29 ip4:185.106.133.0/24 ip6:2a10:1380::/29 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:104.40.229.156 ip4:52.169.0.179 ip4:191.237.4.149 ip4:104.209.35.28 ip4:104.210.80.79 ip4:13.70.157.244 ip4:51.140.37.132 ip4:51.141.5.228 ip4:52.233.37.155 ip4:52.242.32.10 ip4:20.233.10.24 ip4:20.74.156.16 ip4:20.52.124.58 ip4:20.113.192.118 ~all v=spf1 ip4:104.40.229.156 ip4:52.169.0.179 ip4:20.50.220.144/28 ip4:40.127.253.48/28 ~all" + "canton":"Kanton Graubünden", + "domain":"silvaplana.ch", + "mx":[ + "silvaplana-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:_spf.mailersend.net include:spf.protection.outlook.com include:spf.engadin.cloud ip4:78.46.196.81 include:spf.sendinblue.com include:spf.mailjet.com ip4:164.90.186.134 ip4:46.140.134.176/29 a -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX silvaplana-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.silvaplana.ch CNAME → selector1-silvaplana-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.silvaplana.ch CNAME → selector2-silvaplana-ch._domainkey.oegde.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "regio-maloja.ch", + "silvaplana.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-silvaplana.ch" + ], + "guess":[ + "gemeinde-silvaplana.ch", + "silvaplana.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "3791":{ "bfs":"3791", "name":"Zuoz", - "canton":"", + "canton":"Kanton Graubünden", "domain":"zuoz.ch", "mx":[ "zuoz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.spotwerbung.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.spotwerbung.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:213.133.107.213 ip6:2a01:4f8:d0a:2295::2 ip4:213.133.121.85 ip6:2a01:4f8:d0a:1184::2 ip4:78.46.125.17 ip6:2a01:4f8:d0a:409b::2 ip4:78.46.148.201 ip6:2a01:4f8:d0a:50f7::2 ip4:78.46.196.81 ip6:2a01:4f8:d0a:6134::2 ip4:78.46.4.123 ip6:2a01:4f8:d0a:216c::2 ip4:78.47.106.26 ip6:2a01:4f8:d0a:639e::2 ip4:78.46.3.225 ip6:2a01:4f8:d0a:318f::2 ip4:159.69.104.114 ip6:2a01:4f8:c0c:a6d::2 ip4:85.10.212.78 ip6:2a01:4f8:d0a:241e::2 ip4:78.46.166.37 ip6:2a01:4f8:d0a:61c2::2 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zuoz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zuoz.ch" + ], + "redirect":[], + "wikidata":[ + "zuoz.ch" + ], + "guess":[ + "gemeinde-zuoz.ch", + "zuoz.ch" + ] + }, + "resolve_flags":[] }, "3792":{ "bfs":"3792", "name":"Bregaglia", - "canton":"", + "canton":"Kanton Graubünden", "domain":"bregaglia.ch", "mx":[ "avas-in1.exigo.ch", @@ -21033,30 +71938,117 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:212.243.100.184 a:pop.conet.ch -all", "provider":"independent", - "mx_asns":[ - 31052 - ], - "autodiscover":{ - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "override":[ + "bregaglia.ch" + ] + }, + "resolve_flags":[] }, "3804":{ "bfs":"3804", "name":"Buseno", - "canton":"", + "canton":"Kanton Graubünden", "domain":"buseno.ch", "mx":[ "buseno-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buseno-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buseno.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "buseno.ch" + ], + "guess":[ + "buseno.ch" + ] + }, + "resolve_flags":[] }, "3805":{ "bfs":"3805", @@ -21068,55 +72060,202 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX castaneda-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "castaneda.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "castaneda.ch" + ], + "guess":[ + "castaneda.ch" + ] + }, + "resolve_flags":[] }, "3808":{ "bfs":"3808", "name":"Rossa", - "canton":"", + "canton":"Kanton Graubünden", "domain":"rossa.ch", "mx":[ "rossa-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rossa-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rossa.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "rossa.ch" + ], + "guess":[ + "rossa.ch" + ] + }, + "resolve_flags":[] }, "3810":{ "bfs":"3810", "name":"Santa Maria in Calanca", - "canton":"", + "canton":"Kanton Graubünden", "domain":"santamariaic.ch", "mx":[ "mx1.mail.hostpoint.ch", "mx2.mail.hostpoint.ch" ], "spf":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "santamariaic.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "santamariaic.ch" + ], + "guess":[ + "santamariaincalanca.ch" + ] + }, + "resolve_flags":[] }, "3821":{ "bfs":"3821", "name":"Lostallo", - "canton":"", + "canton":"Kanton Graubünden", "domain":"lostallo.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -21124,172 +72263,683 @@ ], "spf":"v=spf1 ip4:89.207.237.84 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:89.207.237.84 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "lostallo.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "lostallo.ch" + ], + "guess":[ + "lostallo.ch" + ] + }, + "resolve_flags":[] }, "3822":{ "bfs":"3822", "name":"Mesocco", - "canton":"", + "canton":"Kanton Graubünden", "domain":"mesocco.swiss", "mx":[ "mesocco-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mesocco-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mesocco.swiss", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "mesocco.swiss" + ], + "guess":[ + "mesocco.ch" + ] + }, + "resolve_flags":[] }, "3823":{ "bfs":"3823", "name":"Soazza", - "canton":"", + "canton":"Kanton Graubünden", "domain":"soazza.ch", "mx":[ "soazza-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX soazza-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "soazza.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "soazza.ch" + ], + "guess":[ + "soazza.ch" + ] + }, + "resolve_flags":[] }, "3831":{ "bfs":"3831", "name":"Cama", "canton":"Kanton Graubünden", - "domain":"cama.ch", - "mx":[ - "mail.cama.ch" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 21069 - ] + "domain":"cama.swiss", + "mx":[ + "cama-swiss.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:193.93.20.0/26 -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cama-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "cama.swiss" + ] + }, + "resolve_flags":[] }, "3832":{ "bfs":"3832", "name":"Grono", - "canton":"", + "canton":"Kanton Graubünden", "domain":"grono.ch", "mx":[ "grono-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grono-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "grono.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "grono.ch" + ], + "guess":[ + "grono.ch" + ] + }, + "resolve_flags":[] }, "3834":{ "bfs":"3834", - "name":"Roveredo", - "canton":"", + "name":"Roveredo (GR)", + "canton":"Kanton Graubünden", "domain":"roveredo.ch", "mx":[ "roveredo-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:178.23.174.0/27 ip4:217.26.49.128/25 ip4:217.26.63.0/24 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.23.174.0/27 ip4:217.26.49.128/25 ip4:217.26.63.0/24 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX roveredo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "roveredo.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "roveredo.ch" + ], + "guess":[ + "roveredo.ch" + ] + }, + "resolve_flags":[] }, "3835":{ "bfs":"3835", "name":"San Vittore", - "canton":"", + "canton":"Kanton Graubünden", "domain":"sanvittore.ch", "mx":[ "mx1.mail.hostpoint.ch", "mx2.mail.hostpoint.ch" ], "spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sanvittore.ch", + "visit-moesano.ch" + ], + "redirect":[], + "wikidata":[ + "sanvittore.ch" + ], + "guess":[ + "sanvittore.ch" + ] + }, + "resolve_flags":[] }, "3837":{ "bfs":"3837", "name":"Calanca", - "canton":"", + "canton":"Kanton Graubünden", "domain":"comunedicalanca.ch", "mx":[ "comunedicalanca-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX comunedicalanca-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "comunedicalanca.ch" + ], + "guess":[ + "calanca.ch" + ] + }, + "resolve_flags":[] }, "3847":{ "bfs":"3847", "name":"Val Müstair", "canton":"Kanton Graubünden", - "domain":"val-muestair.ch", - "mx":[ - "mailqueue01.leuchter-cloud.ch" - ], - "spf":"v=spf1 include:spf.protection.outlook.com include:spf.leuchter-cloud.ch include:spf.mailjet.com include:spf.mandrillapp.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.leuchter-cloud.ch include:spf.mailjet.com include:spf.mandrillapp.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.147.72.0/24 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 215278 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "domain":"cdvm.ch", + "mx":[ + "cdvm-ch.mail.eo.outlook.com" + ], + "spf":"v=spf1 ip4:195.65.44.100 include:spf.spotwerbung.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cdvm.ch CNAME → selector1-cdvm-ch._domainkey.pemenergiach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cdvm.ch CNAME → selector2-cdvm-ch._domainkey.pemenergiach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "override":[ + "cdvm.ch" + ] + }, + "resolve_flags":[] }, "3851":{ "bfs":"3851", "name":"Davos", "canton":"", - "domain":"davos.ch", - "mx":[ - "davos-ch.mail.protection.outlook.com" - ], - "spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:78.46.4.123 ip6:2a01:4f8:d0a:216c::2 ip4:78.46.155.172 ip4:78.47.83.228 ip4:88.198.220.204 ip4:85.10.215.156 ip4:217.26.49.128/25 ip4:217.26.63.0/24 ip4:185.157.0.144 ip4:81.62.129.192/28 ip4:136.243.163.123 -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ip4:78.46.4.123 ip6:2a01:4f8:d0a:216c::2 ip4:78.46.155.172 ip4:78.47.83.228 ip4:88.198.220.204 ip4:85.10.215.156 ip4:217.26.49.128/25 ip4:217.26.63.0/24 ip4:185.157.0.144 ip4:81.62.129.192/28 ip4:136.243.163.123 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "domain":"davos.gr.ch", + "mx":[ + "mail.davos.gr.ch" + ], + "spf":"v=spf1 a mx a:mnc-mail.smsbox.ch ip4:193.247.16.137 ip4:78.47.83.228 ip6:2a01:4f8:d0a:4329::2 include:_spf.i-web.ch include:spf.i-web.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "davos.gr.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "davos.ch" + ] + }, + "resolve_flags":[] }, "3861":{ "bfs":"3861", @@ -21301,14 +72951,48 @@ "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fideris.ch" + ], + "redirect":[], + "wikidata":[ + "fideris.ch" + ], + "guess":[ + "fideris.ch" + ] + }, + "resolve_flags":[] }, "3862":{ "bfs":"3862", @@ -21320,10 +73004,22 @@ ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "furna.ch" + ], + "redirect":[], + "wikidata":[ + "furna.ch" + ], + "guess":[ + "furna.ch" + ] + }, + "resolve_flags":[] }, "3863":{ "bfs":"3863", @@ -21335,15 +73031,42 @@ "mx2.chur.ch" ], "spf":"v=spf1 mx ip4:195.189.148.0/24 include:spf.protection.outlook.com include:_spf.sui-inter.net -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:195.189.148.0/24 include:spf.protection.outlook.com include:_spf.sui-inter.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.chur.ch", - "autodiscover_srv":"autodiscover.jenaz.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "jenaz.ch" + ], + "redirect":[], + "wikidata":[ + "jenaz.ch" + ], + "guess":[ + "jenaz.ch" + ] + }, + "resolve_flags":[] }, "3871":{ "bfs":"3871", @@ -21355,33 +73078,87 @@ "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "gemeindeklosters.ch" + ], + "redirect":[], + "wikidata":[ + "gemeindeklosters.ch" + ], + "guess":[ + "klosters.ch" + ] + }, + "resolve_flags":[] }, "3881":{ "bfs":"3881", "name":"Conters im Prättigau", - "canton":"Kanton Graubünden", + "canton":"", "domain":"conters.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "conters.ch" + ], + "redirect":[], + "wikidata":[ + "conters.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3882":{ "bfs":"3882", @@ -21394,12 +73171,41 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mx1.rufcloud.ch a:mx2.rufcloud.ch -all", "provider":"independent", - "mx_asns":[ - 31052 - ], - "autodiscover":{ - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "kueblis.ch" + ], + "redirect":[], + "wikidata":[ + "kueblis.ch" + ], + "guess":[ + "kueblis.ch" + ] + }, + "resolve_flags":[] }, "3891":{ "bfs":"3891", @@ -21411,52 +73217,210 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX luzein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "luzein.ch", + "pany-stantoenien.ch" + ], + "redirect":[], + "wikidata":[ + "luzein.ch" + ], + "guess":[ + "luzein.ch" + ] + }, + "resolve_flags":[] }, "3901":{ "bfs":"3901", "name":"Chur", - "canton":"", + "canton":"Kanton Graubünden", "domain":"chur.ch", "mx":[ "mx1.chur.ch", "mx2.chur.ch" ], "spf":"v=spf1 mx ip4:195.189.148.0/24 ip4:146.159.132.15 ip4:146.159.132.25 ip4:80.237.133.99 ip4:195.65.10.12 ip4:212.243.100.154 ip4:91.234.52.10 ip4:91.234.52.17 include:spf.abacuscity.ch include:spf.protection.outlook.com include:spf.omcomputer.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:195.189.148.0/24 ip4:146.159.132.15 ip4:146.159.132.25 ip4:80.237.133.99 ip4:195.65.10.12 ip4:212.243.100.154 ip4:91.234.52.10 ip4:91.234.52.17 include:spf.abacuscity.ch include:spf.protection.outlook.com include:spf.omcomputer.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.154 -all", - "mx_asns":[ - 200987 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chur.ch" + ], + "guess":[ + "chur.ch" + ] + }, + "resolve_flags":[] }, "3911":{ "bfs":"3911", "name":"Churwalden", - "canton":"", + "canton":"Kanton Graubünden", "domain":"churwalden.ch", "mx":[ "churwalden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:109.164.250.201 ip4:217.11.36.180/30 ip4:217.151.113.161/32 a:spf.abacuscity.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:109.164.250.201 ip4:217.11.36.180/30 ip4:217.151.113.161/32 a:spf.abacuscity.ch include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX churwalden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "churwalden.ch" + ], + "redirect":[], + "wikidata":[ + "churwalden.ch" + ], + "guess":[ + "churwalden.ch" + ] + }, + "resolve_flags":[] }, "3921":{ "bfs":"3921", "name":"Arosa", - "canton":"", + "canton":"Kanton Graubünden", "domain":"gemeindearosa.ch", "mx":[ "mx1.chur.ch", @@ -21464,19 +73428,40 @@ ], "spf":"v=spf1 a mx ptr ip4:91.205.149.149 ip4:195.189.148.0/24 ip4:193.93.20.0/26 include:spf.abacuscity.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ptr ip4:91.205.149.149 ip4:195.189.148.0/24 ip4:193.93.20.0/26 include:spf.abacuscity.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.chur.ch", - "autodiscover_srv":"autodiscover.gemeindearosa.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gemeindearosa.ch" + ], + "redirect":[], + "wikidata":[ + "gemeindearosa.ch" + ], + "guess":[ + "arosa.ch" + ] + }, + "resolve_flags":[] }, "3945":{ "bfs":"3945", "name":"Trimmis", - "canton":"", + "canton":"Kanton Graubünden", "domain":"trimmis.ch", "mx":[ "mail01.trimmis.ch", @@ -21484,93 +73469,333 @@ ], "spf":"v=spf1 +mx +ip4:195.189.148.0/24 include:spf.protection.cyon.net +ip4:195.189.148.94 +ip4:195.189.148.97 include:spf.abacuscity.ch redirect=spf.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 +mx +ip4:195.189.148.0/24 include:spf.protection.cyon.net +ip4:195.189.148.94 +ip4:195.189.148.97 include:spf.abacuscity.ch redirect=spf.mail.hostpoint.ch v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.chur.ch", - "autodiscover_srv":"autodiscover.chur.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "trimmis.ch" + ], + "redirect":[], + "wikidata":[ + "trimmis.ch" + ], + "guess":[ + "trimmis.ch" + ] + }, + "resolve_flags":[] }, "3946":{ "bfs":"3946", "name":"Untervaz", - "canton":"", + "canton":"Kanton Graubünden", "domain":"untervaz.ch", "mx":[ "untervaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.eu.exclaimer.net include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.eu.exclaimer.net include:spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:104.40.229.156 ip4:52.169.0.179 ip4:20.50.220.144/28 ip4:40.127.253.48/28 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX untervaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "untervaz.ch" + ], + "redirect":[], + "wikidata":[ + "untervaz.ch" + ], + "guess":[ + "untervaz.ch" + ] + }, + "resolve_flags":[] }, "3947":{ "bfs":"3947", "name":"Zizers", - "canton":"", + "canton":"Kanton Graubünden", "domain":"zizers.ch", "mx":[ "zizers-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zizers-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zizers.ch" + ], + "redirect":[], + "wikidata":[ + "zizers.ch" + ], + "guess":[ + "zizers.ch" + ] + }, + "resolve_flags":[] }, "3951":{ "bfs":"3951", "name":"Fläsch", - "canton":"", + "canton":"Kanton Graubünden", "domain":"flaesch.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "flaesch.ch" + ], + "redirect":[], + "wikidata":[ + "flaesch.ch" + ], + "guess":[ + "flaesch.ch" + ] + }, + "resolve_flags":[] }, "3952":{ "bfs":"3952", "name":"Jenins", - "canton":"", + "canton":"Kanton Graubünden", "domain":"jenins.ch", "mx":[ "jenins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.135.56.6 a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX jenins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "jenins.ch" + ], + "redirect":[], + "wikidata":[ + "jenins.ch" + ], + "guess":[ + "jenins.ch" + ] + }, + "resolve_flags":[] }, "3953":{ "bfs":"3953", "name":"Maienfeld", - "canton":"", + "canton":"Kanton Graubünden", "domain":"maienfeld.ch", "mx":[ "avas-in1.exigo.ch", @@ -21578,50 +73803,188 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mail.i-web.ch include:_spf.rzobt.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mail.i-web.ch include:_spf.rzobt.ch ~all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 31052 - ], - "autodiscover":{ - "autodiscover_srv":"mailadmin.exigo.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "maienfeld.ch" + ], + "redirect":[], + "wikidata":[ + "maienfeld.ch" + ], + "guess":[ + "maienfeld.ch" + ] + }, + "resolve_flags":[] }, "3954":{ "bfs":"3954", "name":"Malans", - "canton":"", + "canton":"Kanton Graubünden", "domain":"malans.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:198.2.139.11 include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:198.2.139.11 include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "malans.ch" + ], + "redirect":[], + "wikidata":[ + "malans.ch" + ], + "guess":[ + "malans.ch" + ] + }, + "resolve_flags":[] }, "3955":{ "bfs":"3955", "name":"Landquart", - "canton":"", + "canton":"Kanton Graubünden", "domain":"landquart.ch", "mx":[ "landquart-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:mail.obt-services.ch ip4:185.27.7.120 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail.obt-services.ch ip4:185.27.7.120 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX landquart-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.landquart.ch CNAME → selector1-landquart-ch._domainkey.landquartgr.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.landquart.ch CNAME → selector2-landquart-ch._domainkey.landquartgr.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "landquart.ch" + ], + "redirect":[], + "wikidata":[ + "landquart.ch" + ], + "guess":[ + "landquart.ch" + ] + }, + "resolve_flags":[] }, "3961":{ "bfs":"3961", @@ -21633,14 +73996,36 @@ "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.6 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "gruesch.ch" + ], + "redirect":[], + "wikidata":[ + "gruesch.ch" + ], + "guess":[ + "gruesch.ch" + ] + }, + "resolve_flags":[] }, "3962":{ "bfs":"3962", @@ -21652,13 +74037,77 @@ ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:162.23.32.11 ip4:162.23.32.12 ip4:162.23.32.13 ip4:162.23.32.14 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:162.23.32.11 ip4:162.23.32.12 ip4:162.23.32.13 ip4:162.23.32.14 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schiers-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schiers.ch" + ], + "redirect":[], + "wikidata":[ + "schiers.ch" + ], + "guess":[ + "schiers.ch" + ] + }, + "resolve_flags":[] }, "3972":{ "bfs":"3972", @@ -21670,183 +74119,760 @@ "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.iway.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.iway.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.asp.ruf.ch", - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "seewis.ch" + ], + "redirect":[], + "wikidata":[ + "seewis.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "3981":{ "bfs":"3981", "name":"Breil/Brigels", - "canton":"", + "canton":"Kanton Graubünden", "domain":"breil.ch", "mx":[ "breil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX breil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "breil.ch" + ], + "guess":[ + "breil.ch", + "brigels.ch" + ] + }, + "resolve_flags":[] }, "3982":{ "bfs":"3982", "name":"Disentis/Mustér", - "canton":"", + "canton":"Kanton Graubünden", "domain":"disentis.ch", "mx":[ "disentis-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ptr ip4:193.93.20.0/26 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr ip4:193.93.20.0/26 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX disentis-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "disentis.ch" + ], + "redirect":[], + "wikidata":[ + "disentis.ch" + ], + "guess":[ + "disentis-muster.ch", + "disentis.ch", + "must-r.ch", + "muster.ch" + ] + }, + "resolve_flags":[] }, "3983":{ "bfs":"3983", - "name":"Medel", - "canton":"", + "name":"Medel (Lucmagn)", + "canton":"Kanton Graubünden", "domain":"medel.ch", "mx":[ "medel-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX medel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "medel.ch" + ], + "redirect":[], + "wikidata":[ + "medel.ch" + ], + "guess":[ + "medel.ch" + ] + }, + "resolve_flags":[] }, "3985":{ "bfs":"3985", "name":"Sumvitg", - "canton":"", + "canton":"Kanton Graubünden", "domain":"sumvitg.ch", "mx":[ "sumvitg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx a:mail-gateway-shared01.cyon.net ip4:194.126.4.84 ip4:80.74.128.22 include:_spf.sui-inter.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx a:mail-gateway-shared01.cyon.net ip4:194.126.4.84 ip4:80.74.128.22 include:_spf.sui-inter.net include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sumvitg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sumvitg.ch" + ], + "redirect":[], + "wikidata":[ + "sumvitg.ch" + ], + "guess":[ + "sumvitg.ch" + ] + }, + "resolve_flags":[] }, "3986":{ "bfs":"3986", "name":"Tujetsch", - "canton":"", + "canton":"Kanton Graubünden", "domain":"tujetsch.ch", "mx":[ "mx1.chur.ch", "mx2.chur.ch" ], "spf":"v=spf1 mx ip4:195.189.148.0/24 ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:146.159.132.15 ip4:146.159.132.25 ip4:80.237.133.99 ip4:195.65.10.12 ip4:212.243.100.154 ip4:91.234.52.10 ip4:91.234.52.17 ip4:193.93.20.0/26 include:spf.abacuscity.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:195.189.148.0/24 ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:146.159.132.15 ip4:146.159.132.25 ip4:80.237.133.99 ip4:195.65.10.12 ip4:212.243.100.154 ip4:91.234.52.10 ip4:91.234.52.17 ip4:193.93.20.0/26 include:spf.abacuscity.ch include:spf.protection.outlook.com -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 200987 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.chur.ch", - "autodiscover_srv":"autodiscover.chur.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "tujetsch.ch" + ], + "redirect":[], + "wikidata":[ + "tujetsch.ch" + ], + "guess":[ + "tujetsch.ch" + ] + }, + "resolve_flags":[] }, "3987":{ "bfs":"3987", "name":"Trun", - "canton":"", + "canton":"Kanton Graubünden", "domain":"trun.ch", "mx":[ "trun-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:80.74.128.22 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:80.74.128.22 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX trun-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.trun.ch CNAME → selector1-trun-ch._domainkey.gemeindetrun.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.trun.ch CNAME → selector2-trun-ch._domainkey.gemeindetrun.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover SRV → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "trun.ch" + ], + "redirect":[], + "wikidata":[ + "trun.ch" + ], + "guess":[ + "trun.ch" + ] + }, + "resolve_flags":[] }, "3988":{ "bfs":"3988", "name":"Obersaxen Mundaun", - "canton":"", + "canton":"Kanton Graubünden", "domain":"obersaxenmundaun.swiss", "mx":[ "obersaxenmundaun-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX obersaxenmundaun-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.obersaxenmundaun.swiss CNAME → selector1-obersaxenmundaun-swiss._domainkey.gvom.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.obersaxenmundaun.swiss CNAME → selector2-obersaxenmundaun-swiss._domainkey.gvom.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "obersaxenmundaun.swiss" + ], + "redirect":[], + "wikidata":[ + "obersaxenmundaun.swiss" + ], + "guess":[ + "obersaxen-mundaun.ch", + "obersaxenmundaun.ch" + ] + }, + "resolve_flags":[] }, "4001":{ "bfs":"4001", "name":"Aarau", - "canton":"", + "canton":"Kanton Aargau", "domain":"aarau.ch", "mx":[ "aarau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:46.140.129.105 ip4:46.140.129.106 ip4:193.135.56.0/23 include:_spf.zimpel.de include:spf.abacuscity.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:46.140.129.105 ip4:46.140.129.106 ip4:193.135.56.0/23 include:_spf.zimpel.de include:spf.abacuscity.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.201.168.38/32 ip4:193.201.168.170/31 v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aarau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.aarau.ch CNAME → selector1-aarau-ch._domainkey.aarauch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.aarau.ch CNAME → selector2-aarau-ch._domainkey.aarauch.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "aarau.ch" + ], + "guess":[ + "aarau.ch", + "gemeinde-aarau.ch" + ] + }, + "resolve_flags":[] }, "4002":{ "bfs":"4002", "name":"Biberstein", - "canton":"", + "canton":"Kanton Aargau", "domain":"biberstein-ag.ch", "mx":[ "bibersteinag-ch02e.mail.eo.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "biberstein-ag.ch" + ], + "guess":[ + "biberstein.ch" + ] + }, + "resolve_flags":[] }, "4003":{ "bfs":"4003", - "name":"Buchs", - "canton":"", + "name":"Buchs (AG)", + "canton":"Kanton Aargau", "domain":"buchs-aargau.ch", "mx":[ "mx1.naveum.services", @@ -21854,145 +74880,584 @@ ], "spf":"v=spf1 a:mail01.axc.biz a:securemail01.axc.biz a:securemail02.axc.biz a:mx1.naveum.services a:mx2.naveum.services a:srv-comet03.backslash.ch ip4:193.135.56.6 -all", "provider":"independent", - "mx_asns":[ - 205737 - ], - "autodiscover":{ - "autodiscover_cname":"mail01.axc.biz" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[ + "buchs-aargau.ch" + ], + "redirect":[], + "wikidata":[ + "buchs-aargau.ch" + ], + "guess":[ + "buchs.ch" + ] + }, + "resolve_flags":[] }, "4004":{ "bfs":"4004", "name":"Densbüren", - "canton":"", + "canton":"Kanton Aargau", "domain":"densbueren.ch", "mx":[ "densbueren-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:appriver.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:appriver.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com include:rnmk.com ~all v=spf1 ip4:204.232.250.0/24 ip4:5.152.185.0/24 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:72.3.212.195 ip4:5.152.188.0/24 ip4:174.37.170.192/27 ~all v=spf1 ip4:75.126.84.128/26 ip4:67.228.8.0/25 ip4:67.227.149.19 ip4:64.56.208.32/27 ip4:67.228.91.90 ip4:67.228.158.174 ip4:174.36.44.116/30 ip4:50.201.66.168 ip4:63.71.8.0/21 ip4:199.30.232.0/21 ip4:74.203.184.0/23 ip4:207.195.176.0/20 ~all v=spf1 include:spf-a.rnmk.com exists:%{i}.spf.rnmk.com -all v=spf1 ip4:129.148.164.0/25 ip4:129.148.215.0/25 ip4:129.149.6.0/25 ip4:129.149.38.0/25 ip4:138.1.170.0/24 ip4:147.154.32.0/25 ip4:147.154.63.0/24 ip4:147.154.126.0/24 ip4:147.154.191.0/24 ip4:162.88.24.0/23 ip4:192.29.72.0/25 ip4:192.29.88.0/25 ip4:192.29.103.128/25 ip4:192.29.134.0/25 ip4:155.248.148.0/25 ip4:131.186.12.0/25 ip4:139.177.108.0/25 ip4:162.88.4.0/23 ip4:162.88.8.0/24 ip4:162.88.36.0/24 ip4:208.76.62.0/23 ip4:216.146.32.0/23 ip4:207.211.132.0/25 ip4:165.1.100.0/25 ip4:158.247.100.0/25 ip4:192.29.172.0/25 ip4:192.29.24.0/25 ip4:192.29.232.0/25 ip4:192.29.248.0/25 ip4:192.29.216.0/25 ip4:192.29.44.0/25 ip4:192.29.151.128/25 ip4:129.148.135.0/25 ip4:129.148.148.0/25 ip4:129.149.126.0/25 ip4:129.148.180.0/25 ip4:129.149.52.0/25 ip4:159.13.4.0/25 ip4:84.8.68.0/25 ip4:192.29.200.0/25 ip4:138.1.108.0/25 ip4:130.35.116.0/25 ip4:192.29.178.0/25 ip4:129.149.22.0/25 ip4:129.149.118.0/25 ip4:129.149.100.0/25 ip4:129.149.84.0/25 ip4:129.149.68.0/25 ip4:155.248.135.128/25 ip4:155.248.140.0/25 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX densbueren-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.densbueren.ch CNAME → selector1-densbueren-ch._domainkey.densbueren365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.densbueren.ch CNAME → selector2-densbueren-ch._domainkey.densbueren365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "densbueren.ch" + ], + "redirect":[], + "wikidata":[ + "densbueren.ch" + ], + "guess":[ + "densbueren.ch" + ] + }, + "resolve_flags":[] }, "4005":{ "bfs":"4005", - "name":"Erlinsbach", - "canton":"", + "name":"Erlinsbach (AG)", + "canton":"Kanton Aargau", "domain":"erlinsbach.ch", "mx":[ "mail.erlinsbach.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "erlinsbach.ch" + ], + "guess":[ + "erlinsbach.ch" + ] + }, + "resolve_flags":[] }, "4006":{ "bfs":"4006", "name":"Gränichen", - "canton":"", + "canton":"Kanton Aargau", "domain":"graenichen.ch", "mx":[ "graenichen-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.graenichen.ch CNAME → selector1-graenichen-ch._domainkey.graenichench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.graenichen.ch CNAME → selector2-graenichen-ch._domainkey.graenichench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "graenichen.ch" + ], + "redirect":[], + "wikidata":[ + "graenichen.ch" + ], + "guess":[ + "graenichen.ch" + ] + }, + "resolve_flags":[] }, "4007":{ "bfs":"4007", - "name":"Hirschthal AG", - "canton":"", + "name":"Hirschthal", + "canton":"Kanton Aargau", "domain":"hirschthal.ch", "mx":[ "hirschthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.47.120.0/24 ip4:178.174.34.174 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.47.120.0/24 ip4:178.174.34.174 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hirschthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hirschthal.ch CNAME → selector1-hirschthal-ch._domainkey.gemeindehirschthalch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hirschthal.ch CNAME → selector2-hirschthal-ch._domainkey.gemeindehirschthalch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hirschthal.ch" + ], + "redirect":[], + "wikidata":[ + "hirschthal.ch" + ], + "guess":[ + "hirschthal.ch" + ] + }, + "resolve_flags":[] }, "4008":{ "bfs":"4008", "name":"Küttigen", - "canton":"", + "canton":"Kanton Aargau", "domain":"kuettigen.ch", "mx":[ "mail.kuettigen.ch" ], "spf":"v=spf1 a mx include:spf.lanpool.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.lanpool.ch -all v=spf1 ip4:5.57.206.42 ip4:93.174.184.0/21 ip4:213.193.111.66 ip4:213.193.98.98 -all", - "mx_cnames":{ - "mail.kuettigen.ch":"uplink.kuettigen.lanpool.net" + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "kuettigen.ch" + ], + "guess":[ + "kuettigen.ch" + ] }, - "mx_asns":[ - 15623 - ], - "autodiscover":{ - "autodiscover_srv":"mail.kuettigen.ch" - } + "resolve_flags":[] }, "4009":{ "bfs":"4009", "name":"Muhen", - "canton":"", + "canton":"Kanton Aargau", "domain":"muhen.ch", "mx":[ "muhen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.netzone.ch ip4:213.221.225.126 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.netzone.ch ip4:213.221.225.126 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:212.243.197.0/26 ip6:2001:918:ff23:197:30::1/77 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muhen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.muhen.ch CNAME → selector1-muhen-ch._domainkey.gemeindemuhenag.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.muhen.ch CNAME → selector2-muhen-ch._domainkey.gemeindemuhenag.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muhen.ch" + ], + "guess":[ + "muhen.ch" + ] + }, + "resolve_flags":[] }, "4010":{ "bfs":"4010", "name":"Oberentfelden", - "canton":"", + "canton":"Kanton Aargau", "domain":"oberentfelden.ch", "mx":[ "oberentfelden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.0/24 a:mail.ostendis.ch include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.0/24 a:mail.ostendis.ch include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberentfelden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oberentfelden.ch CNAME → selector1-oberentfelden-ch._domainkey.gemeindeoberentfeldench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oberentfelden.ch CNAME → selector2-oberentfelden-ch._domainkey.gemeindeoberentfeldench.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "oberentfelden.ch" + ], + "redirect":[], + "wikidata":[ + "oberentfelden.ch" + ], + "guess":[ + "oberentfelden.ch" + ] + }, + "resolve_flags":[] }, "4012":{ "bfs":"4012", "name":"Suhr", - "canton":"", + "canton":"Kanton Aargau", "domain":"suhr.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -22000,123 +75465,583 @@ ], "spf":"v=spf1 +a include:spf.protection.outlook.com include:fdspfeuc.freshemail.io include:sendgrid.net include:_spf_eucentral1.prod.hydra.sophos.com include:spf.netzone.ch include:spf.hausformat.net include:spf.abacuscity.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a include:spf.protection.outlook.com include:fdspfeuc.freshemail.io include:sendgrid.net include:_spf_eucentral1.prod.hydra.sophos.com include:spf.netzone.ch include:spf.hausformat.net include:spf.abacuscity.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:35.158.71.15 ip4:35.158.67.243 ip4:3.120.181.192/28 ip4:3.76.65.248/29 ip4:3.72.201.96/29 ip4:3.120.181.204/30 ip4:18.156.147.178 ip4:18.158.161.97 ip4:3.64.95.16/29 ip4:3.65.246.112/29 ip4:3.72.33.56/29 ip4:18.153.184.112/29 ip4:18.153.154.192/29 ip4:18.199.180.160/29 ~all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all v=spf1 ip4:212.243.197.0/26 ip6:2001:918:ff23:197:30::1/77 -all v=spf1 ip4:80.74.128.0/19 ip6:2a00:1128::/32 ip4:94.126.16.0/21 ip4:81.20.86.220 ip4:46.231.200.174 ip4:81.173.83.90 ip4:185.169.85.70 ip6:2a04:503:0:1026::70 ip4:81.173.83.40 ip6:2a00:1128:200:5:0:26ff:feeb:2f7f -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "gateway":"sophos", - "mx_asns":[ - 16509 + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"mail.suhr.ch", - "autodiscover_srv":"mail.suhr.ch" - } + "gateway":"sophos", + "sources_detail":{ + "scrape":[ + "suhr.ch" + ], + "redirect":[], + "wikidata":[ + "suhr.ch" + ], + "guess":[ + "suhr.ch" + ] + }, + "resolve_flags":[] }, "4013":{ "bfs":"4013", "name":"Unterentfelden", - "canton":"", + "canton":"Kanton Aargau", "domain":"unterentfelden.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "unterentfelden.ch" + ], + "guess":[ + "unterentfelden.ch" + ] + }, + "resolve_flags":[] }, "4021":{ "bfs":"4021", "name":"Baden", - "canton":"", + "canton":"Kanton Aargau", "domain":"baden.ch", "mx":[ "baden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:213.235.247.64/28 ip4:193.135.56.0/23 ip4:194.209.192.0/23 ip4:213.193.114.96/27 include:cmail1.com include:amazonses.com include:spf.umantis.com include:spf1.onax.ch include:spf2.onax.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:213.235.247.64/28 ip4:193.135.56.0/23 ip4:194.209.192.0/23 ip4:213.193.114.96/27 include:cmail1.com include:amazonses.com include:spf.umantis.com include:spf1.onax.ch include:spf2.onax.ch include:spf.protection.outlook.com -all v=spf1 ip4:103.28.42.0/24 ip4:27.126.146.0/24 ip4:146.88.28.0/24 ip4:163.47.180.0/22 ip4:203.55.21.0/24 ip4:204.75.142.0/24 ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all v=spf1 ip4:185.238.12.20 ip4:185.238.12.21 ip4:185.238.12.22 ip4:93.190.78.23 ip4:93.190.78.24 ip4:46.252.80.34 ip4:46.252.80.35 ip4:46.252.80.36 ip4:149.233.27.164 ip4:149.233.27.165 ~all v=spf1 ip4:193.93.23.248/29 ip4:193.93.22.14 ip4:164.128.173.16/28 ip4:82.220.34.62 ip4:20.160.56.80/28 -all v=spf1 a:mailout.ip-plus.net ip4:217.174.149.125/32 ip4:91.148.168.28/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX baden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"aws", + "weight":0.2, + "detail":"SPF include:amazonses.com matches aws" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.baden.ch CNAME → selector1-baden-ch._domainkey.stadtbaden.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.baden.ch CNAME → selector2-baden-ch._domainkey.stadtbaden.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "apothekedrkunz.ch" + ], + "redirect":[], + "wikidata":[ + "baden.ch" + ], + "guess":[ + "baden.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "4022":{ "bfs":"4022", "name":"Bellikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"bellikon.ch", "mx":[ "bellikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:178.174.54.186 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:178.174.54.186 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bellikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bellikon.ch CNAME → selector1-bellikon-ch._domainkey.gemeindebellikonch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bellikon.ch CNAME → selector2-bellikon-ch._domainkey.gemeindebellikonch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "bellikon.ch" + ], + "redirect":[], + "wikidata":[ + "bellikon.ch" + ], + "guess":[ + "bellikon.ch" + ] + }, + "resolve_flags":[] }, "4023":{ "bfs":"4023", "name":"Bergdietikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"bergdietikon.ch", "mx":[ "bergdietikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bergdietikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bergdietikon.ch CNAME → selector1-bergdietikon-ch._domainkey.gemeindebergdietikonch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bergdietikon.ch CNAME → selector2-bergdietikon-ch._domainkey.gemeindebergdietikonch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "bergdietikon.ch" + ], + "redirect":[], + "wikidata":[ + "bergdietikon.ch" + ], + "guess":[ + "bergdietikon.ch" + ] + }, + "resolve_flags":[] }, "4024":{ "bfs":"4024", - "name":"Birmenstorf", - "canton":"", + "name":"Birmenstorf (AG)", + "canton":"Kanton Aargau", "domain":"birmenstorf.ch", "mx":[ "birmenstorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com include:spf.lanpool.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com include:spf.lanpool.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:5.57.206.42 ip4:93.174.184.0/21 ip4:213.193.111.66 ip4:213.193.98.98 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX birmenstorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.birmenstorf.ch CNAME → selector1-birmenstorf-ch._domainkey.birmenstorf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.birmenstorf.ch CNAME → selector2-birmenstorf-ch._domainkey.birmenstorf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "birmenstorf.ch", + "h.ie", + "n.ua" + ], + "redirect":[], + "wikidata":[ + "birmenstorf.ch" + ], + "guess":[ + "birmenstorf.ch" + ] + }, + "resolve_flags":[] }, "4026":{ "bfs":"4026", "name":"Ennetbaden", - "canton":"", + "canton":"Kanton Aargau", "domain":"ennetbaden.ch", "mx":[ "antispam.nextron.ch" ], "spf":"v=spf1 mx ip4:193.47.120.62/31 ip4:193.47.104.5 ip4:192.162.28.108 ip4:81.63.133.74 ip4:81.63.133.75 include:spf.nextron.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62/31 ip4:193.47.104.5 ip4:192.162.28.108 ip4:81.63.133.74 ip4:81.63.133.75 include:spf.nextron.ch -all v=spf1 ip4:193.108.137.0/24 ip4:80.74.149.0/24 ip4:194.150.248.30 -all", - "mx_asns":[ - 42346 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "ennetbaden.ch" + ], + "redirect":[], + "wikidata":[ + "ennetbaden.ch" + ], + "guess":[ + "ennetbaden.ch" + ] + }, + "resolve_flags":[] }, "4027":{ "bfs":"4027", "name":"Fislisbach", - "canton":"", + "canton":"Kanton Aargau", "domain":"fislisbach.ch", "mx":[ "mail.format-ag.ch", @@ -22126,36 +76051,122 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fislisbach.ch" + ], + "redirect":[], + "wikidata":[ + "fislisbach.ch" + ], + "guess":[ + "fislisbach.ch" + ] + }, + "resolve_flags":[] }, "4028":{ "bfs":"4028", "name":"Freienwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"freienwil.ch", "mx":[ "freienwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX freienwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "freienwil.ch" + ], + "redirect":[], + "wikidata":[ + "freienwil.ch" + ], + "guess":[ + "freienwil.ch" + ] + }, + "resolve_flags":[] }, "4029":{ "bfs":"4029", "name":"Gebenstorf", - "canton":"", + "canton":"Kanton Aargau", "domain":"gebenstorf.ch", "mx":[ "mail.format-ag.ch", @@ -22164,119 +76175,434 @@ "mailbackup.tankred.ch" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.talus.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gebenstorf.ch" + ], + "guess":[ + "gebenstorf.ch" + ] + }, + "resolve_flags":[] }, "4030":{ "bfs":"4030", "name":"Killwangen", - "canton":"", + "canton":"Kanton Aargau", "domain":"killwangen.ch", "mx":[ "killwangen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:mail.i-web.ch mx:mail.i-web.ch ip4:192.162.28.108 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail.i-web.ch mx:mail.i-web.ch ip4:192.162.28.108 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX killwangen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "killwangen.ch" + ], + "redirect":[], + "wikidata":[ + "killwangen.ch" + ], + "guess":[ + "killwangen.ch" + ] + }, + "resolve_flags":[] }, "4031":{ "bfs":"4031", "name":"Künten", - "canton":"", + "canton":"Kanton Aargau", "domain":"kuenten.ch", "mx":[ "kuenten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 ip4:193.135.56.0/24 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 ip4:193.135.56.0/24 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kuenten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "kuenten.ch" + ], + "redirect":[], + "wikidata":[ + "kuenten.ch" + ], + "guess":[ + "kuenten.ch" + ] + }, + "resolve_flags":[] }, "4032":{ "bfs":"4032", "name":"Mägenwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"maegenwil.ch", "mx":[ "maegenwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.webapps.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.webapps.net include:spf.protection.outlook.com -all v=spf1 a include:spf1.webapps.net include:spf2.webapps.net ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:81.88.48.32/27 ip4:81.88.50.224/27 ip4:81.88.54.64/27 ip4:81.88.55.96/27 ip4:81.88.56.0/27 ip4:81.88.62.160/27 ip4:81.88.63.128/27 ip4:195.7.249.16/29 include:dominiando.email ~all v=spf1 ip4:195.110.101.32/27 ip4:195.110.122.160/27 ip4:195.110.123.0/27 ip4:185.2.4.0/22 ip4:81.88.49.224/27 ip4:195.7.249.29 ip4:81.88.52.0/23 ip4:185.110.66.0/24 ip4:213.158.94.0/23 ip4:81.88.54.154/32 ip4:3.73.27.108 ip4:3.125.172.46 ~all v=spf1 mx ip4:81.88.54.130 ip4:81.88.54.152/30 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX maegenwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "maegenwil.ch" + ], + "redirect":[], + "wikidata":[ + "maegenwil.ch" + ], + "guess":[ + "gemeinde-maegenwil.ch", + "maegenwil.ch" + ] + }, + "resolve_flags":[] }, "4033":{ "bfs":"4033", "name":"Mellingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"mellingen.ch", "mx":[ "cleanmail.1solution.ch" ], "spf":"v=spf1 mx ip4:185.185.200.130 -all", "provider":"independent", - "mx_asns":[ - 25091 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mellingen.ch" + ], + "guess":[ + "mellingen.ch" + ] + }, + "resolve_flags":[] }, "4034":{ "bfs":"4034", "name":"Neuenhof", - "canton":"", + "canton":"Kanton Aargau", "domain":"neuenhof.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 mx include:_spfmx.rizag.ch a:mist.com a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:_spfmx.rizag.ch a:mist.com a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services include:spf.abacuscity.ch -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7" + } + ], + "sources_detail":{ + "scrape":[ + "neuenhof.ch" + ], + "redirect":[], + "wikidata":[ + "neuenhof.ch" + ], + "guess":[ + "neuenhof.ch" + ] + }, + "resolve_flags":[] }, "4035":{ "bfs":"4035", "name":"Niederrohrdorf", - "canton":"", + "canton":"Kanton Aargau", "domain":"niederrohrdorf.ch", "mx":[ "cleanmail.1solution.ch" ], "spf":"v=spf1 mx ip4:185.185.200.130 ~all", "provider":"independent", - "mx_asns":[ - 25091 - ], - "autodiscover":{ - "autodiscover_srv":"mail.niederrohrdorf.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "niederrohrdorf.ch" + ], + "redirect":[], + "wikidata":[ + "niederrohrdorf.ch" + ], + "guess":[ + "niederrohrdorf.ch" + ] + }, + "resolve_flags":[] }, "4037":{ "bfs":"4037", "name":"Oberrohrdorf", - "canton":"", + "canton":"Kanton Aargau", "domain":"oberrohrdorf.ch", "mx":[ "mail.format-ag.ch", @@ -22286,18 +76612,46 @@ ], "spf":"v=spf1 a include:_spf.talus.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberrohrdorf.ch" + ], + "redirect":[], + "wikidata":[ + "oberrohrdorf.ch" + ], + "guess":[ + "oberrohrdorf.ch" + ] + }, + "resolve_flags":[] }, "4038":{ "bfs":"4038", "name":"Obersiggenthal", - "canton":"", + "canton":"Kanton Aargau", "domain":"obersiggenthal.ch", "mx":[ "elba.iway.ch", @@ -22305,1683 +76659,7812 @@ ], "spf":"v=spf1 a include:spf.iway.ch include:spf.privasphere.com include:_spf.psm.knowbe4.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:spf.iway.ch include:spf.privasphere.com include:_spf.psm.knowbe4.com ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "mx_asns":[ - 8758 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "convalere.ch", + "obersiggenthal.ch" + ], + "redirect":[], + "wikidata":[ + "obersiggenthal.ch" + ], + "guess":[ + "obersiggenthal.ch" + ] + }, + "resolve_flags":[] }, "4039":{ "bfs":"4039", "name":"Remetschwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"remetschwil.ch", "mx":[ "remetschwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:146.4.17.22/30 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:146.4.17.22/30 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX remetschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.remetschwil.ch CNAME → selector1-remetschwil-ch._domainkey.remetschwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.remetschwil.ch CNAME → selector2-remetschwil-ch._domainkey.remetschwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "remetschwil.ch" + ], + "redirect":[], + "wikidata":[ + "remetschwil.ch" + ], + "guess":[ + "remetschwil.ch" + ] + }, + "resolve_flags":[] }, "4040":{ "bfs":"4040", "name":"Spreitenbach", - "canton":"", + "canton":"Kanton Aargau", "domain":"spreitenbach.ch", "mx":[ "spreitenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.92.101.3/32 ip4:81.92.101.1/32 include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.92.101.3/32 ip4:81.92.101.1/32 include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX spreitenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "spreitenbach.ch" + ], + "redirect":[], + "wikidata":[ + "spreitenbach.ch" + ], + "guess":[ + "spreitenbach.ch" + ] + }, + "resolve_flags":[] }, "4041":{ "bfs":"4041", - "name":"Stetten", - "canton":"", + "name":"Stetten (AG)", + "canton":"Kanton Aargau", "domain":"stetten-ag.ch", "mx":[ "stettenag-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stettenag-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "stetten-ag.ch" + ], + "redirect":[], + "wikidata":[ + "stetten-ag.ch" + ], + "guess":[ + "stetten.ch" + ] + }, + "resolve_flags":[] }, "4044":{ "bfs":"4044", "name":"Untersiggenthal", - "canton":"", + "canton":"Kanton Aargau", "domain":"untersiggenthal.ch", "mx":[ "untersiggenthal-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:_spf.ch.seppmail.cloud include:_spf.talus.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.ch.seppmail.cloud include:_spf.talus.ch ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"owa.untersiggenthal.ch" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "untersiggenthal.ch" + ], + "guess":[ + "untersiggenthal.ch" + ] + }, + "resolve_flags":[] }, "4045":{ "bfs":"4045", "name":"Wettingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"wettingen.ch", "mx":[ "wettingen-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx a:wettingen-ch.relay.seppmail.cloud ip4:217.192.56.150 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:wettingen-ch.relay.seppmail.cloud ip4:217.192.56.150 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "wettingen.ch" + ], + "redirect":[], + "wikidata":[ + "wettingen.ch" + ], + "guess":[ + "wettingen.ch" + ] + }, + "resolve_flags":[] }, "4046":{ "bfs":"4046", "name":"Wohlenschwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"wohlenschwil.ch", "mx":[ "wohlenschwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wohlenschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wohlenschwil.ch CNAME → selector1-wohlenschwil-ch._domainkey.gemeindewohlenschwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wohlenschwil.ch CNAME → selector2-wohlenschwil-ch._domainkey.gemeindewohlenschwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wohlenschwil.ch" + ], + "redirect":[], + "wikidata":[ + "wohlenschwil.ch" + ], + "guess":[ + "wohlenschwil.ch" + ] + }, + "resolve_flags":[] }, "4047":{ "bfs":"4047", "name":"Würenlingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"wuerenlingen.ch", "mx":[ "wuerenlingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.47.108.196 ip4:46.14.37.138 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.47.108.196 ip4:46.14.37.138 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wuerenlingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wuerenlingen.ch CNAME → selector1-wuerenlingen-ch._domainkey.gemwuer.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wuerenlingen.ch CNAME → selector2-wuerenlingen-ch._domainkey.gemwuer.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "wuerenlingen.ch" + ], + "redirect":[], + "wikidata":[ + "wuerenlingen.ch" + ], + "guess":[ + "wuerenlingen.ch" + ] + }, + "resolve_flags":[] }, "4048":{ "bfs":"4048", "name":"Würenlos", - "canton":"", + "canton":"Kanton Aargau", "domain":"wuerenlos.ch", "mx":[ "wuerenlos-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:149.126.4.85 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:149.126.4.85 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wuerenlos-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wuerenlos.ch CNAME → selector1-wuerenlos-ch._domainkey.gemeindewuerenlosch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wuerenlos.ch CNAME → selector2-wuerenlos-ch._domainkey.gemeindewuerenlosch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "wuerenlos.ch" + ], + "redirect":[], + "wikidata":[ + "wuerenlos.ch" + ], + "guess":[ + "wuerenlos.ch" + ] + }, + "resolve_flags":[] }, "4049":{ "bfs":"4049", "name":"Ehrendingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"ehrendingen.ch", "mx":[ "ehrendingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.22.71.80 ip4:63.35.86.4 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.22.71.80 ip4:63.35.86.4 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ehrendingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ehrendingen.ch CNAME → selector1-ehrendingen-ch._domainkey.ehrendingen365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ehrendingen.ch CNAME → selector2-ehrendingen-ch._domainkey.ehrendingen365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"aws", + "weight":0.08, + "detail":"SPF ip4/a ASN 16509 matches aws" + } + ], + "sources_detail":{ + "scrape":[ + "ehrendingen.ch" + ], + "redirect":[], + "wikidata":[ + "ehrendingen.ch" + ], + "guess":[ + "ehrendingen.ch" + ] + }, + "resolve_flags":[] }, "4061":{ "bfs":"4061", - "name":"Arni", - "canton":"", + "name":"Arni (AG)", + "canton":"Kanton Aargau", "domain":"arni-ag.ch", "mx":[ "arniag-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX arniag-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "arni-ag.ch" + ], + "redirect":[], + "wikidata":[ + "arni-ag.ch" + ], + "guess":[ + "arni.ch" + ] + }, + "resolve_flags":[] }, "4062":{ "bfs":"4062", "name":"Berikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"berikon.ch", "mx":[ "berikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX berikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.berikon.ch CNAME → selector1-berikon-ch._domainkey.gemeindeberikonag.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.berikon.ch CNAME → selector2-berikon-ch._domainkey.gemeindeberikonag.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "berikon.ch" + ], + "redirect":[], + "wikidata":[ + "berikon.ch" + ], + "guess":[ + "berikon.ch" + ] + }, + "resolve_flags":[] }, "4063":{ "bfs":"4063", - "name":"Bremgarten", - "canton":"", + "name":"Bremgarten (AG)", + "canton":"Kanton Aargau", "domain":"bremgarten.ch", "mx":[ "bremgarten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:83.144.243.114 include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:83.144.243.114 include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bremgarten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bremgarten.ch CNAME → selector1-bremgarten-ch._domainkey.informatikbremgarten.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bremgarten.ch CNAME → selector2-bremgarten-ch._domainkey.informatikbremgarten.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bremgarten.ch" + ], + "redirect":[], + "wikidata":[ + "bremgarten.ch" + ], + "guess":[ + "bremgarten.ch" + ] + }, + "resolve_flags":[] }, "4064":{ "bfs":"4064", "name":"Büttikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"buettikon.ch", "mx":[ "buettikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buettikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buettikon.ch" + ], + "redirect":[], + "wikidata":[ + "buettikon.ch" + ], + "guess":[ + "buettikon.ch" + ] + }, + "resolve_flags":[] }, "4065":{ "bfs":"4065", "name":"Dottikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"dottikon.ch", "mx":[ "dottikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:149.126.4.62 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:149.126.4.62 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dottikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.dottikon.ch CNAME → selector1-dottikon-ch._domainkey.vgdh.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.dottikon.ch CNAME → selector2-dottikon-ch._domainkey.vgdh.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "dottikon.ch" + ], + "redirect":[], + "wikidata":[ + "dottikon.ch" + ], + "guess":[ + "dottikon.ch" + ] + }, + "resolve_flags":[] }, "4066":{ "bfs":"4066", "name":"Eggenwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"eggenwil.ch", "mx":[ "gateway.eggenwil.ch" ], "spf":"v=spf1 mx ip4:195.64.138.0/23 ip4:46.14.246.188/30 ip4:212.25.16.23 ip4:193.135.56.0/23 a:gateway.eggenwil.ch a:mail.interdesk.ch a:idmx.interdesk.ch a:exmail.xauth.ch a:scan01.globalmx.ch a:scan02.globalmx.ch a:smtp.globalmx.ch ~all", "provider":"independent", - "mx_asns":[ - 8758 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.xauth.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "eggenwil.ch" + ], + "redirect":[], + "wikidata":[ + "eggenwil.ch" + ], + "guess":[ + "eggenwil.ch" + ] + }, + "resolve_flags":[] }, "4067":{ "bfs":"4067", "name":"Fischbach-Göslikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"fischbach-goeslikon.ch", "mx":[ "fischbachgoeslikon-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:smtprelay.dialogcloud.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:smtprelay.dialogcloud.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:78.40.79.211 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fischbachgoeslikon-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fischbach-goeslikon.ch" + ], + "redirect":[], + "wikidata":[ + "fischbach-goeslikon.ch" + ], + "guess":[ + "fischbach-goeslikon.ch" + ] + }, + "resolve_flags":[] }, "4068":{ "bfs":"4068", "name":"Hägglingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"haegglingen.ch", "mx":[ "haegglingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.135.56.16 ip4:89.28.153.227 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.16 ip4:89.28.153.227 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX haegglingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.haegglingen.ch CNAME → selector1-haegglingen-ch._domainkey.vgdh.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.haegglingen.ch CNAME → selector2-haegglingen-ch._domainkey.vgdh.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "haegglingen.ch" + ], + "redirect":[], + "wikidata":[ + "haegglingen.ch" + ], + "guess":[ + "haegglingen.ch" + ] + }, + "resolve_flags":[] }, "4071":{ "bfs":"4071", "name":"Jonen", - "canton":"", + "canton":"Kanton Aargau", "domain":"jonen.ch", "mx":[ "jonen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:195.48.58.75 ip4:62.202.30.155 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.48.58.75 ip4:62.202.30.155 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX jonen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "jonen.ch" + ], + "redirect":[], + "wikidata":[ + "jonen.ch" + ], + "guess":[ + "jonen.ch" + ] + }, + "resolve_flags":[] }, "4072":{ "bfs":"4072", - "name":"Niederwil", - "canton":"", + "name":"Niederwil (AG)", + "canton":"Kanton Aargau", "domain":"niederwil.ch", "mx":[ "niederwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niederwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.niederwil.ch CNAME → selector1-niederwil-ch._domainkey.gemeindeniederwilag.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.niederwil.ch CNAME → selector2-niederwil-ch._domainkey.gemeindeniederwilag.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "niederwil.ch" + ], + "redirect":[], + "wikidata":[ + "niederwil.ch" + ], + "guess":[ + "niederwil.ch" + ] + }, + "resolve_flags":[] }, "4073":{ "bfs":"4073", "name":"Oberlunkhofen", - "canton":"", + "canton":"Kanton Aargau", "domain":"oberlunkhofen.ch", "mx":[ "oberlunkhofen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.135.56.4 ip4:193.135.56.5 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.4 ip4:193.135.56.5 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberlunkhofen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberlunkhofen.ch" + ], + "redirect":[], + "wikidata":[ + "oberlunkhofen.ch" + ], + "guess":[ + "oberlunkhofen.ch" + ] + }, + "resolve_flags":[] }, "4074":{ "bfs":"4074", "name":"Oberwil-Lieli", - "canton":"", + "canton":"Kanton Aargau", "domain":"oberwil-lieli.ch", "mx":[ "oberwillieli-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:195.48.58.75 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberwillieli-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberwil-lieli.ch" + ], + "redirect":[], + "wikidata":[ + "oberwil-lieli.ch" + ], + "guess":[ + "oberwil-lieli.ch", + "oberwillieli.ch" + ] + }, + "resolve_flags":[] }, "4075":{ "bfs":"4075", "name":"Rudolfstetten-Friedlisberg", - "canton":"", + "canton":"Kanton Aargau", "domain":"rudolfstetten.ch", "mx":[ "rudolfstetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rudolfstetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rudolfstetten.ch CNAME → selector1-rudolfstetten-ch._domainkey.rudolfstetten.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rudolfstetten.ch CNAME → selector2-rudolfstetten-ch._domainkey.rudolfstetten.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rudolfstetten.ch" + ], + "redirect":[], + "wikidata":[ + "rudolfstetten.ch" + ], + "guess":[ + "rudolfstetten-friedlisberg.ch" + ] + }, + "resolve_flags":[] }, "4076":{ "bfs":"4076", "name":"Sarmenstorf", - "canton":"", + "canton":"Kanton Aargau", "domain":"sarmenstorf.ch", "mx":[ "sarmenstorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 +include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 +include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sarmenstorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.sarmenstorf.ch CNAME → selector1-sarmenstorf-ch._domainkey.sarmenstorf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.sarmenstorf.ch CNAME → selector2-sarmenstorf-ch._domainkey.sarmenstorf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "sarmenstorf.ch" + ], + "redirect":[], + "wikidata":[ + "sarmenstorf.ch" + ], + "guess":[ + "sarmenstorf.ch" + ] + }, + "resolve_flags":[] }, "4077":{ "bfs":"4077", "name":"Tägerig", - "canton":"", + "canton":"Kanton Aargau", "domain":"taegerig.ch", "mx":[ "taegerig-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.0/24 a:mail.i-web.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.0/24 a:mail.i-web.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX taegerig-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.taegerig.ch CNAME → selector1-taegerig-ch._domainkey.gdetaegerig.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.taegerig.ch CNAME → selector2-taegerig-ch._domainkey.gdetaegerig.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "taegerig.ch" + ], + "redirect":[], + "wikidata":[ + "taegerig.ch" + ], + "guess":[ + "taegerig.ch" + ] + }, + "resolve_flags":[] }, "4078":{ "bfs":"4078", "name":"Uezwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"uezwil.ch", "mx":[ "uezwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.axelion.services" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX uezwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.uezwil.ch CNAME → selector1-uezwil-ch._domainkey.uezwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.uezwil.ch CNAME → selector2-uezwil-ch._domainkey.uezwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "uezwil.ch" + ], + "redirect":[], + "wikidata":[ + "uezwil.ch" + ], + "guess":[ + "uezwil.ch" + ] + }, + "resolve_flags":[] }, "4079":{ "bfs":"4079", "name":"Unterlunkhofen", - "canton":"", + "canton":"Kanton Aargau", "domain":"unterlunkhofen.ch", "mx":[ "unterlunkhofen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:195.48.58.76 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.76 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX unterlunkhofen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.unterlunkhofen.ch CNAME → selector1-unterlunkhofen-ch._domainkey.gemeindeunterlunkhofench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.unterlunkhofen.ch CNAME → selector2-unterlunkhofen-ch._domainkey.gemeindeunterlunkhofench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "unterlunkhofen.ch" + ], + "redirect":[], + "wikidata":[ + "unterlunkhofen.ch" + ], + "guess":[ + "unterlunkhofen.ch" + ] + }, + "resolve_flags":[] }, "4080":{ "bfs":"4080", "name":"Villmergen", - "canton":"", + "canton":"Kanton Aargau", "domain":"villmergen.ch", "mx":[ "villmergen-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:_spf.ch.seppmail.cloud include:_spf.i-web.ch mx:hin.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.ch.seppmail.cloud include:_spf.i-web.ch mx:hin.ch ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"owa.villmergen.ch" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "villmergen.ch" + ], + "redirect":[], + "wikidata":[ + "villmergen.ch" + ], + "guess":[ + "villmergen.ch" + ] + }, + "resolve_flags":[] }, "4081":{ "bfs":"4081", "name":"Widen", - "canton":"", + "canton":"Kanton Aargau", "domain":"widen.ch", "mx":[ "widen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.incamail.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.incamail.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX widen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.widen.ch CNAME → selector1-widen-ch._domainkey.widen365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.widen.ch CNAME → selector2-widen-ch._domainkey.widen365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "widen.ch" + ], + "redirect":[], + "wikidata":[ + "widen.ch" + ], + "guess":[ + "widen.ch" + ] + }, + "resolve_flags":[] }, "4082":{ "bfs":"4082", - "name":"Wohlen", - "canton":"", + "name":"Wohlen (AG)", + "canton":"Kanton Aargau", "domain":"wohlen.ch", "mx":[ "wohlen-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:_spf.i-web.ch ip4:194.209.188.212 ip4:10.4.254.50 include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:_spf.i-web.ch ip4:194.209.188.212 ip4:10.4.254.50 include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "wohlen.ch" + ], + "redirect":[], + "wikidata":[ + "wohlen.ch" + ], + "guess":[ + "wohlen.ch" + ] + }, + "resolve_flags":[] }, "4083":{ "bfs":"4083", "name":"Zufikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"zufikon.ch", "mx":[ "zufikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:46.14.11.134 ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:80.74.128.222 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:46.14.11.134 ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:80.74.128.222 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zufikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.zufikon.ch CNAME → selector1-zufikon-ch._domainkey.gemeindezufikon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.zufikon.ch CNAME → selector2-zufikon-ch._domainkey.gemeindezufikon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "zufikon.ch" + ], + "redirect":[], + "wikidata":[ + "zufikon.ch" + ], + "guess":[ + "zufikon.ch" + ] + }, + "resolve_flags":[] }, "4084":{ "bfs":"4084", "name":"Islisberg", - "canton":"", + "canton":"Kanton Aargau", "domain":"islisberg.ch", "mx":[ "islisberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.0/24 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.0/24 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX islisberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.islisberg.ch CNAME → selector1-islisberg-ch._domainkey.gemeindeislisbergch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.islisberg.ch CNAME → selector2-islisberg-ch._domainkey.gemeindeislisbergch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "islisberg.ch" + ], + "redirect":[], + "wikidata":[ + "islisberg.ch" + ], + "guess":[ + "islisberg.ch" + ] + }, + "resolve_flags":[] }, "4091":{ "bfs":"4091", "name":"Auenstein", - "canton":"", + "canton":"Kanton Aargau", "domain":"auenstein.ch", "mx":[ "auenstein-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX auenstein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.auenstein.ch CNAME → selector1-auenstein-ch._domainkey.auenstein.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.auenstein.ch CNAME → selector2-auenstein-ch._domainkey.auenstein.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "auenstein.ch" + ], + "redirect":[], + "wikidata":[ + "auenstein.ch" + ], + "guess":[ + "auenstein.ch" + ] + }, + "resolve_flags":[] }, "4092":{ "bfs":"4092", "name":"Birr", - "canton":"", + "canton":"Kanton Aargau", "domain":"birr.ch", "mx":[ "cleanmail.1solution.ch" ], "spf":"v=spf1 mx a:relay.dtp.ch ip4:193.135.56.6 ip4:80.254.185.101 ip4:52.157.149.216 ip4:20.52.138.252 -all", "provider":"independent", - "mx_asns":[ - 25091 - ], - "autodiscover":{ - "autodiscover_srv":"owa.birr.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "birr.ch" + ], + "redirect":[], + "wikidata":[ + "birr.ch" + ], + "guess":[ + "birr.ch" + ] + }, + "resolve_flags":[] }, "4093":{ "bfs":"4093", "name":"Birrhard", - "canton":"", + "canton":"Kanton Aargau", "domain":"birrhard.ch", "mx":[ "birrhard-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX birrhard-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "birrhard.ch" + ], + "redirect":[], + "wikidata":[ + "birrhard.ch" + ], + "guess":[ + "birrhard.ch" + ] + }, + "resolve_flags":[] }, "4095":{ "bfs":"4095", "name":"Brugg", - "canton":"", + "canton":"Kanton Aargau", "domain":"brugg.ch", "mx":[ "brugg-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.brugg.ch CNAME → selector1-brugg-ch._domainkey.bruggch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.brugg.ch CNAME → selector2-brugg-ch._domainkey.bruggch.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } + ], "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 - ] + "sources_detail":{ + "override":[ + "brugg.ch" + ] + }, + "resolve_flags":[] }, "4099":{ "bfs":"4099", "name":"Habsburg", - "canton":"", + "canton":"Kanton Aargau", "domain":"habsburg.ch", "mx":[ "habsburg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX habsburg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "habsburg.ch" + ], + "redirect":[], + "wikidata":[ + "habsburg.ch" + ], + "guess":[ + "habsburg.ch" + ] + }, + "resolve_flags":[] }, "4100":{ "bfs":"4100", - "name":"Hausen", - "canton":"", + "name":"Hausen (AG)", + "canton":"Kanton Aargau", "domain":"hausen.swiss", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "hausen.swiss" + ], + "redirect":[], + "wikidata":[ + "hausen.swiss" + ], + "guess":[ + "hausen.ch" + ] + }, + "resolve_flags":[] }, "4104":{ "bfs":"4104", "name":"Lupfig", - "canton":"", + "canton":"Kanton Aargau", "domain":"lupfig.ch", "mx":[ "lupfig-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lupfig-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.lupfig.ch CNAME → selector1-lupfig-ch._domainkey.gemeindelupfigch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.lupfig.ch CNAME → selector2-lupfig-ch._domainkey.gemeindelupfigch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "lupfig.ch" + ], + "redirect":[], + "wikidata":[ + "lupfig.ch" + ], + "guess":[ + "lupfig.ch" + ] + }, + "resolve_flags":[] }, "4105":{ "bfs":"4105", "name":"Mandach", - "canton":"", + "canton":"Kanton Aargau", "domain":"mandach.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.mandach.ch CNAME → selector1-mandach-ch._domainkey.gemeindemandachch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.mandach.ch CNAME → selector2-mandach-ch._domainkey.gemeindemandachch.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "mandach.ch" + ], + "redirect":[], + "wikidata":[ + "mandach.ch" + ], + "guess":[ + "mandach.ch" + ] + }, + "resolve_flags":[] }, "4106":{ "bfs":"4106", "name":"Mönthal", - "canton":"", + "canton":"Kanton Aargau", "domain":"moenthal.ch", "mx":[ "moenthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:193.47.104.5 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:193.47.104.5 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX moenthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.moenthal.ch CNAME → selector1-moenthal-ch._domainkey.gemeindemoenthalch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.moenthal.ch CNAME → selector2-moenthal-ch._domainkey.gemeindemoenthalch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "moenthal.ch" + ], + "redirect":[], + "wikidata":[ + "moenthal.ch" + ], + "guess":[ + "moenthal.ch" + ] + }, + "resolve_flags":[] }, "4107":{ "bfs":"4107", "name":"Mülligen", - "canton":"", + "canton":"Kanton Aargau", "domain":"muelligen.ch", "mx":[ "muelligen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 ip4:193.135.58.22 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 ip4:193.135.58.22 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muelligen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.muelligen.ch CNAME → selector1-muelligen-ch._domainkey.muelligen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.muelligen.ch CNAME → selector2-muelligen-ch._domainkey.muelligen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muelligen.ch" + ], + "redirect":[], + "wikidata":[ + "muelligen.ch" + ], + "guess":[ + "muelligen.ch" + ] + }, + "resolve_flags":[] }, "4110":{ "bfs":"4110", "name":"Remigen", - "canton":"", + "canton":"Kanton Aargau", "domain":"remigen.ch", "mx":[ "remigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a a:remigen.ch include:spf.protection.outlook.com include:_spf.rzobt.ch include:spf.escapenet.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a a:remigen.ch include:spf.protection.outlook.com include:_spf.rzobt.ch include:spf.escapenet.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:193.9.122.0/24 ip6:2a05:d014:564:200::/56 include:_spf.sui-inter.net -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX remigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "remigen.ch" + ], + "redirect":[], + "wikidata":[ + "remigen.ch" + ], + "guess":[ + "remigen.ch" + ] + }, + "resolve_flags":[] }, "4111":{ "bfs":"4111", "name":"Riniken", - "canton":"", + "canton":"Kanton Aargau", "domain":"riniken.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ~all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "riniken.ch" + ], + "redirect":[], + "wikidata":[ + "riniken.ch" + ], + "guess":[ + "riniken.ch" + ] + }, + "resolve_flags":[] }, "4112":{ "bfs":"4112", "name":"Rüfenach", - "canton":"", + "canton":"Kanton Aargau", "domain":"ruefenach.ch", "mx":[ "ruefenach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ruefenach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ruefenach.ch" + ], + "redirect":[], + "wikidata":[ + "ruefenach.ch" + ], + "guess":[ + "ruefenach.ch" + ] + }, + "resolve_flags":[] }, "4117":{ "bfs":"4117", - "name":"Thalheim", - "canton":"", + "name":"Thalheim (AG)", + "canton":"Kanton Aargau", "domain":"gemeinde-thalheim.ch", "mx":[ "gemeindethalheim-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindethalheim-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gemeinde-thalheim.ch" + ], + "guess":[ + "gemeinde-thalheim.ch", + "thalheim.ch" + ] + }, + "resolve_flags":[] }, "4120":{ "bfs":"4120", - "name":"Veltheim", - "canton":"", + "name":"Veltheim (AG)", + "canton":"Kanton Aargau", "domain":"veltheim.ch", "mx":[ "veltheim-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX veltheim-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.veltheim.ch CNAME → selector1-veltheim-ch._domainkey.gemeindeveltheimch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.veltheim.ch CNAME → selector2-veltheim-ch._domainkey.gemeindeveltheimch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "veltheim.ch" + ], + "redirect":[], + "wikidata":[ + "veltheim.ch" + ], + "guess":[ + "veltheim.ch" + ] + }, + "resolve_flags":[] }, "4121":{ "bfs":"4121", "name":"Villigen", - "canton":"", + "canton":"Kanton Aargau", "domain":"villigen.ch", "mx":[ "villigen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.sui-inter.net include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.sui-inter.net include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villigen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "villigen.ch" + ], + "guess":[ + "gemeinde-villigen.ch", + "villigen.ch" + ] + }, + "resolve_flags":[] }, "4123":{ "bfs":"4123", "name":"Windisch", - "canton":"", + "canton":"Kanton Aargau", "domain":"windisch.ch", "mx":[ "windisch-ch.gate.seppmail.cloud" ], "spf":"v=spf1 include:_spf.ch.seppmail.cloud ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.ch.seppmail.cloud ip4:193.135.56.6 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.windisch.ch CNAME → selector1-windisch-ch._domainkey.windischch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.windisch.ch CNAME → selector2-windisch-ch._domainkey.windischch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "windisch.ch" + ], + "redirect":[], + "wikidata":[ + "windisch.ch" + ], + "guess":[ + "windisch.ch" + ] + }, + "resolve_flags":[] }, "4124":{ "bfs":"4124", "name":"Bözberg", - "canton":"", + "canton":"Kanton Aargau", "domain":"boezberg.ch", "mx":[ "boezberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:213.193.96.234 ip4:193.47.120.62 ip4:193.47.120.63 include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.rzobt.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:213.193.96.234 ip4:193.47.120.62 ip4:193.47.120.63 include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.rzobt.ch -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boezberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.boezberg.ch CNAME → selector1-boezberg-ch._domainkey.boezberg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.boezberg.ch CNAME → selector2-boezberg-ch._domainkey.boezberg.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "boezberg.ch" + ], + "redirect":[], + "wikidata":[ + "boezberg.ch" + ], + "guess":[ + "boezberg.ch", + "gemeinde-boezberg.ch" + ] + }, + "resolve_flags":[] }, "4125":{ "bfs":"4125", "name":"Schinznach", - "canton":"", + "canton":"Kanton Aargau", "domain":"schinznach.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schinznach.ch" + ], + "redirect":[], + "wikidata":[ + "schinznach.ch" + ], + "guess":[ + "schinznach.ch" + ] + }, + "resolve_flags":[] }, "4131":{ "bfs":"4131", "name":"Beinwil am See", - "canton":"", + "canton":"Kanton Aargau", "domain":"beinwilamsee.ch", "mx":[ "beinwilamsee-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX beinwilamsee-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.beinwilamsee.ch CNAME → selector1-beinwilamsee-ch._domainkey.beinwilamsee365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.beinwilamsee.ch CNAME → selector2-beinwilamsee-ch._domainkey.beinwilamsee365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "beinwilamsee.ch" + ], + "guess":[ + "beinwilamsee.ch" + ] + }, + "resolve_flags":[] }, "4132":{ "bfs":"4132", "name":"Birrwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"birrwil.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "birrwil.ch" + ], + "redirect":[], + "wikidata":[ + "birrwil.ch" + ], + "guess":[ + "birrwil.ch" + ] + }, + "resolve_flags":[] }, "4134":{ "bfs":"4134", "name":"Dürrenäsch", - "canton":"", + "canton":"Kanton Aargau", "domain":"duerrenaesch.ch", "mx":[ "duerrenaesch-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX duerrenaesch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "duerrenaesch.ch" + ], + "redirect":[], + "wikidata":[ + "duerrenaesch.ch" + ], + "guess":[ + "duerrenaesch.ch" + ] + }, + "resolve_flags":[] }, "4135":{ "bfs":"4135", "name":"Gontenschwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"gontenschwil.ch", "mx":[ "gontenschwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.104.34.104 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.104.34.104 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gontenschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gontenschwil.ch CNAME → selector1-gontenschwil-ch._domainkey.gontenschwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gontenschwil.ch CNAME → selector2-gontenschwil-ch._domainkey.gontenschwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gontenschwil.ch" + ], + "redirect":[], + "wikidata":[ + "gontenschwil.ch" + ], + "guess":[ + "gontenschwil.ch" + ] + }, + "resolve_flags":[] }, "4136":{ "bfs":"4136", "name":"Holziken", - "canton":"", + "canton":"Kanton Aargau", "domain":"holziken.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 ip4:193.47.120.0/24 include:rzmail.hi-ag.ch include:egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 ip4:193.47.120.0/24 include:rzmail.hi-ag.ch include:egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "holziken.ch" + ], + "redirect":[], + "wikidata":[ + "holziken.ch" + ], + "guess":[ + "holziken.ch" + ] + }, + "resolve_flags":[] }, "4137":{ "bfs":"4137", - "name":"Leimbach", - "canton":"", + "name":"Leimbach (AG)", + "canton":"Kanton Aargau", "domain":"leimbach.swiss", "mx":[ "leimbach-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:195.48.58.75 include:spf1.egeko.ch include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:195.48.58.75 include:spf1.egeko.ch include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leimbach-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "leimbach.swiss" + ], + "redirect":[], + "wikidata":[ + "leimbach.swiss" + ], + "guess":[ + "leimbach.ch" + ] + }, + "resolve_flags":[] }, "4138":{ "bfs":"4138", "name":"Leutwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"leutwil.ch", "mx":[ "leutwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leutwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "leutwil.ch" + ], + "redirect":[], + "wikidata":[ + "leutwil.ch" + ], + "guess":[ + "leutwil.ch" + ] + }, + "resolve_flags":[] }, "4139":{ "bfs":"4139", "name":"Menziken", - "canton":"", + "canton":"Kanton Aargau", "domain":"menziken.ch", "mx":[ "menziken-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:securemail.menziken.ch include:spf.protection.outlook.com include:_spf-saas.rubicon.eu -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:securemail.menziken.ch include:spf.protection.outlook.com include:_spf-saas.rubicon.eu -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.104.34.104 ip4:193.104.34.50 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX menziken-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"microsoft", + "weight":0.08, + "detail":"SPF ip4/a ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "menziken.ch" + ], + "guess":[ + "menziken.ch" + ] + }, + "resolve_flags":[] }, "4140":{ "bfs":"4140", "name":"Oberkulm", - "canton":"", + "canton":"Kanton Aargau", "domain":"oberkulm.ch", "mx":[ "oberkulm-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberkulm-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberkulm.ch" + ], + "redirect":[], + "wikidata":[ + "oberkulm.ch" + ], + "guess":[ + "oberkulm.ch" + ] + }, + "resolve_flags":[] }, "4141":{ "bfs":"4141", - "name":"Reinach", - "canton":"", + "name":"Reinach (AG)", + "canton":"Kanton Aargau", "domain":"reinach.ch", "mx":[ "reinach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.0/24 ip4:193.47.108.196 ip4:83.173.248.210 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.0/24 ip4:193.47.108.196 ip4:83.173.248.210 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX reinach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.reinach.ch CNAME → selector1-reinach-ch._domainkey.reinach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.reinach.ch CNAME → selector2-reinach-ch._domainkey.reinach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "reinach.ch" + ], + "guess":[ + "reinach.ch" + ] + }, + "resolve_flags":[] }, "4142":{ "bfs":"4142", "name":"Schlossrued", - "canton":"", + "canton":"Kanton Aargau", "domain":"schlossrued.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:spf1.egeko.ch include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:spf1.egeko.ch include:rzmail.hi-ag.ch -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "schlossrued.ch" + ], + "redirect":[], + "wikidata":[ + "schlossrued.ch" + ], + "guess":[ + "schlossrued.ch" + ] + }, + "resolve_flags":[] }, "4143":{ "bfs":"4143", "name":"Schmiedrued", - "canton":"", + "canton":"Kanton Aargau", "domain":"schmiedrued-walde.ch", "mx":[ "schmiedruedwalde-ch02i.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:195.48.58.75 ip4:193.47.120.0/24 ip4:80.74.146.136 include:rzmail.hi-ag.ch v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:195.48.58.75 ip4:193.47.120.0/24 ip4:80.74.146.136 include:rzmail.hi-ag.ch v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schmiedruedwalde-ch02i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "schmiedrued-walde.ch" + ], + "guess":[ + "schmiedrued.ch" + ] + }, + "resolve_flags":[] }, "4144":{ "bfs":"4144", "name":"Schöftland", - "canton":"", + "canton":"Kanton Aargau", "domain":"schoeftland.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schoeftland.ch" + ], + "redirect":[], + "wikidata":[ + "schoeftland.ch" + ], + "guess":[ + "schoeftland.ch" + ] + }, + "resolve_flags":[] }, "4145":{ "bfs":"4145", - "name":"Teufenthal", - "canton":"", + "name":"Teufenthal (AG)", + "canton":"Kanton Aargau", "domain":"teufenthal.ch", "mx":[ "teufenthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:mail.rubicon.eu -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:mail.rubicon.eu -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX teufenthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.teufenthal.ch CNAME → selector1-teufenthal-ch._domainkey.gemeindeteufenthal.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.teufenthal.ch CNAME → selector2-teufenthal-ch._domainkey.gemeindeteufenthal.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "teufenthal.ch" + ], + "redirect":[], + "wikidata":[ + "teufenthal.ch" + ], + "guess":[ + "teufenthal.ch" + ] + }, + "resolve_flags":[] }, "4146":{ "bfs":"4146", "name":"Unterkulm", - "canton":"", + "canton":"Kanton Aargau", "domain":"unterkulm.ch", "mx":[ "unterkulm-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:81.62.141.146 include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:81.62.141.146 include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":77.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "unterkulm.ch" + ], + "redirect":[], + "wikidata":[ + "unterkulm.ch" + ], + "guess":[ + "unterkulm.ch" + ] + }, + "resolve_flags":[] }, "4147":{ "bfs":"4147", "name":"Zetzwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"zetzwil.ch", "mx":[ "zetzwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:84.75.1.7 ip4:193.135.56.6 include:_spf-saas.rubicon.eu -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:84.75.1.7 ip4:193.135.56.6 include:_spf-saas.rubicon.eu -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.104.34.104 ip4:193.104.34.50 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zetzwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.zetzwil.ch CNAME → selector1-zetzwil-ch._domainkey.zetzwil.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.zetzwil.ch CNAME → selector2-zetzwil-ch._domainkey.zetzwil.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "zetzwil.ch" + ], + "redirect":[], + "wikidata":[ + "zetzwil.ch" + ], + "guess":[ + "zetzwil.ch" + ] + }, + "resolve_flags":[] }, "4161":{ "bfs":"4161", "name":"Eiken", - "canton":"", + "canton":"Kanton Aargau", "domain":"eiken.ch", "mx":[ "eiken-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eiken-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.eiken.ch CNAME → selector1-eiken-ch._domainkey.eikench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.eiken.ch CNAME → selector2-eiken-ch._domainkey.eikench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eiken.ch" + ], + "redirect":[], + "wikidata":[ + "eiken.ch" + ], + "guess":[ + "eiken.ch" + ] + }, + "resolve_flags":[] }, "4163":{ "bfs":"4163", "name":"Frick", - "canton":"", + "canton":"Kanton Aargau", "domain":"frick.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "frick.ch" + ], + "redirect":[], + "wikidata":[ + "frick.ch" + ], + "guess":[ + "frick.ch" + ] + }, + "resolve_flags":[] }, "4164":{ "bfs":"4164", "name":"Gansingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"gansingen.ch", "mx":[ "gansingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.90.195.154 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.90.195.154 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gansingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gansingen.ch CNAME → selector1-gansingen-ch._domainkey.gemeindegansingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gansingen.ch CNAME → selector2-gansingen-ch._domainkey.gemeindegansingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "gansingen.ch" + ], + "redirect":[], + "wikidata":[ + "gansingen.ch" + ], + "guess":[ + "gansingen.ch" + ] + }, + "resolve_flags":[] }, "4165":{ "bfs":"4165", "name":"Gipf-Oberfrick", - "canton":"", + "canton":"Kanton Aargau", "domain":"gipf-oberfrick.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:81.62.142.155 -all", "provider":"aws", - "mx_asns":[ - 16509 - ] + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "gipf-oberfrick.ch" + ], + "redirect":[], + "wikidata":[ + "gipf-oberfrick.ch" + ], + "guess":[ + "gipf-oberfrick.ch" + ] + }, + "resolve_flags":[] }, "4169":{ "bfs":"4169", "name":"Kaisten", - "canton":"", + "canton":"Kanton Aargau", "domain":"kaisten.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "kaisten.ch" + ], + "redirect":[], + "wikidata":[ + "kaisten.ch" + ], + "guess":[ + "kaisten.ch" + ] + }, + "resolve_flags":[] }, "4170":{ "bfs":"4170", "name":"Laufenburg", - "canton":"", + "canton":"Kanton Aargau", "domain":"laufenburg.ch", "mx":[ "laufenburg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf.protection.outlook.com ~all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX laufenburg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.laufenburg.ch CNAME → selector1-laufenburg-ch._domainkey.laufenburgcloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.laufenburg.ch CNAME → selector2-laufenburg-ch._domainkey.laufenburgcloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover SRV → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "laufenburg.ch" + ], + "redirect":[], + "wikidata":[ + "laufenburg.ch" + ], + "guess":[ + "laufenburg.ch" + ] + }, + "resolve_flags":[] }, "4172":{ "bfs":"4172", - "name":"Münchwilen", - "canton":"", + "name":"Münchwilen (AG)", + "canton":"Kanton Aargau", "domain":"muenchwilen-ag.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf1.egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf1.egeko.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "muenchwilen-ag.ch" + ], + "redirect":[], + "wikidata":[ + "muenchwilen-ag.ch" + ], + "guess":[ + "muenchwilen.ch" + ] + }, + "resolve_flags":[] }, "4173":{ "bfs":"4173", - "name":"Oberhof AG", - "canton":"", + "name":"Oberhof", + "canton":"Kanton Aargau", "domain":"oberhof.ch", "mx":[ "oberhof-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberhof-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberhof.ch" + ], + "redirect":[], + "wikidata":[ + "oberhof.ch" + ], + "guess":[ + "oberhof.ch" + ] + }, + "resolve_flags":[] }, "4175":{ "bfs":"4175", "name":"Oeschgen", - "canton":"", + "canton":"Kanton Aargau", "domain":"oeschgen.ch", "mx":[ "oeschgen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oeschgen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oeschgen.ch CNAME → selector1-oeschgen-ch._domainkey.gemeindeoeschgench.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oeschgen.ch CNAME → selector2-oeschgen-ch._domainkey.gemeindeoeschgench.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "oeschgen.ch" + ], + "redirect":[], + "wikidata":[ + "oeschgen.ch" + ], + "guess":[ + "oeschgen.ch" + ] + }, + "resolve_flags":[] }, "4176":{ "bfs":"4176", "name":"Schwaderloch", - "canton":"", + "canton":"Kanton Aargau", "domain":"schwaderloch.ch", "mx":[ "schwaderloch-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schwaderloch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "schwaderloch.ch" + ], + "redirect":[], + "wikidata":[ + "schwaderloch.ch" + ], + "guess":[ + "schwaderloch.ch" + ] + }, + "resolve_flags":[] }, "4177":{ "bfs":"4177", "name":"Sisseln", - "canton":"", + "canton":"Kanton Aargau", "domain":"sisseln.ch", "mx":[ "sisseln-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sisseln-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.sisseln.ch CNAME → selector1-sisseln-ch._domainkey.sisseln.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.sisseln.ch CNAME → selector2-sisseln-ch._domainkey.sisseln.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sisseln.ch" + ], + "redirect":[], + "wikidata":[ + "sisseln.ch" + ], + "guess":[ + "sisseln.ch" + ] + }, + "resolve_flags":[] }, "4181":{ "bfs":"4181", "name":"Wittnau", - "canton":"", + "canton":"Kanton Aargau", "domain":"wittnau.ch", "mx":[ "wittnau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:146.4.71.186 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:146.4.71.186 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wittnau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "wittnau.ch" + ], + "redirect":[], + "wikidata":[ + "wittnau.ch" + ], + "guess":[ + "wittnau.ch" + ] + }, + "resolve_flags":[] }, "4182":{ "bfs":"4182", "name":"Wölflinswil", - "canton":"", + "canton":"Kanton Aargau", "domain":"woelflinswil.ch", "mx":[ "woelflinswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX woelflinswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.woelflinswil.ch CNAME → selector1-woelflinswil-ch._domainkey.gemeindewoelflinswilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.woelflinswil.ch CNAME → selector2-woelflinswil-ch._domainkey.gemeindewoelflinswilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "woelflinswil.ch" + ], + "redirect":[], + "wikidata":[ + "woelflinswil.ch" + ], + "guess":[ + "woelflinswil.ch" + ] + }, + "resolve_flags":[] }, "4183":{ "bfs":"4183", "name":"Zeihen", - "canton":"", + "canton":"Kanton Aargau", "domain":"zeihen.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:_spf.talus.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:_spf.talus.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "zeihen.ch" + ], + "redirect":[], + "wikidata":[ + "zeihen.ch" + ], + "guess":[ + "zeihen.ch" + ] + }, + "resolve_flags":[] }, "4184":{ "bfs":"4184", "name":"Mettauertal", - "canton":"", + "canton":"Kanton Aargau", "domain":"mettauertal.ch", "mx":[ "mettauertal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:sui-inter.net ip4:46.140.27.106 include:_spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:sui-inter.net ip4:46.140.27.106 include:_spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mettauertal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.mettauertal.ch CNAME → selector1-mettauertal-ch._domainkey.gemeindemettauertalch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.mettauertal.ch CNAME → selector2-mettauertal-ch._domainkey.gemeindemettauertalch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "override":[ + "mettauertal.ch" + ] + }, + "resolve_flags":[] }, "4185":{ "bfs":"4185", "name":"Böztal", - "canton":"", + "canton":"Kanton Aargau", "domain":"boeztal.ch", "mx":[ "boeztal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:80.74.144.28 ip4:81.62.247.42 ip4:83.173.200.124 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:80.74.144.28 ip4:81.62.247.42 ip4:83.173.200.124 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boeztal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.boeztal.ch CNAME → selector1-boeztal-ch._domainkey.boeztal.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.boeztal.ch CNAME → selector2-boeztal-ch._domainkey.boeztal.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "boeztal.ch" + ], + "redirect":[], + "wikidata":[ + "boeztal.ch" + ], + "guess":[ + "boeztal.ch" + ] + }, + "resolve_flags":[] }, "4186":{ "bfs":"4186", "name":"Herznach-Ueken", - "canton":"", + "canton":"Kanton Aargau", "domain":"herznach-ueken.ch", "mx":[ "herznachueken-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.47.120.62 ip4:193.47.120.63 ip4:195.48.58.75 include:spf.protection.outlook.com include:egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.47.120.62 ip4:193.47.120.63 ip4:195.48.58.75 include:spf.protection.outlook.com include:egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX herznachueken-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "3way.ch", + "herznach-ueken.ch", + "kommpakt.ch" + ], + "redirect":[], + "wikidata":[ + "herznach-ueken.ch" + ], + "guess":[ + "herznach-ueken.ch" + ] + }, + "resolve_flags":[] }, "4191":{ "bfs":"4191", "name":"Ammerswil", - "canton":"", + "canton":"Kanton Aargau", "domain":"ammerswil.ch", "mx":[ "ammerswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:91.118.154.96 ip4:62.99.130.28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:91.118.154.96 ip4:62.99.130.28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ammerswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ammerswil.ch CNAME → selector1-ammerswil-ch._domainkey.seengen365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ammerswil.ch CNAME → selector2-ammerswil-ch._domainkey.seengen365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "ammerswil.ch" + ], + "redirect":[], + "wikidata":[ + "ammerswil.ch" + ], + "guess":[ + "ammerswil.ch" + ] + }, + "resolve_flags":[] }, "4192":{ "bfs":"4192", "name":"Boniswil", - "canton":"", + "canton":"Kanton Aargau", "domain":"boniswil.ch", "mx":[ "boniswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boniswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.boniswil.ch CNAME → selector1-boniswil-ch._domainkey.boniswil365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.boniswil.ch CNAME → selector2-boniswil-ch._domainkey.boniswil365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "boniswil.ch" + ], + "redirect":[], + "wikidata":[ + "boniswil.ch" + ], + "guess":[ + "boniswil.ch" + ] + }, + "resolve_flags":[] }, "4193":{ "bfs":"4193", "name":"Brunegg", - "canton":"", + "canton":"Kanton Aargau", "domain":"brunegg.ch", "mx":[ "brunegg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brunegg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "brunegg.ch" + ], + "redirect":[], + "wikidata":[ + "brunegg.ch" + ], + "guess":[ + "brunegg.ch" + ] + }, + "resolve_flags":[] }, "4194":{ "bfs":"4194", "name":"Dintikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"dintikon.ch", "mx":[ "dintikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dintikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "dintikon.ch" + ], + "redirect":[], + "wikidata":[ + "dintikon.ch" + ], + "guess":[ + "dintikon.ch" + ] + }, + "resolve_flags":[] }, "4195":{ "bfs":"4195", "name":"Egliswil", - "canton":"", + "canton":"Kanton Aargau", "domain":"egliswil.ch", "mx":[ "egliswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.58.35 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.58.35 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX egliswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.egliswil.ch CNAME → selector1-egliswil-ch._domainkey.seengen365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.egliswil.ch CNAME → selector2-egliswil-ch._domainkey.seengen365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "egliswil.ch" + ], + "redirect":[], + "wikidata":[ + "egliswil.ch" + ], + "guess":[ + "egliswil.ch" + ] + }, + "resolve_flags":[] }, "4196":{ "bfs":"4196", "name":"Fahrwangen", - "canton":"", + "canton":"Kanton Aargau", "domain":"fahrwangen.ch", "mx":[ "fahrwangen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.47.104.5 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.47.104.5 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fahrwangen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.fahrwangen.ch CNAME → selector1-fahrwangen-ch._domainkey.fahrwangen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.fahrwangen.ch CNAME → selector2-fahrwangen-ch._domainkey.fahrwangen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "fahrwangen.ch" + ], + "redirect":[], + "wikidata":[ + "fahrwangen.ch" + ], + "guess":[ + "fahrwangen.ch", + "gemeinde-fahrwangen.ch" + ] + }, + "resolve_flags":[] }, "4197":{ "bfs":"4197", "name":"Hallwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"hallwil.ch", "mx":[ "hallwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hallwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hallwil.ch CNAME → selector1-hallwil-ch._domainkey.gemeindehallwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hallwil.ch CNAME → selector2-hallwil-ch._domainkey.gemeindehallwilch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hallwil.ch" + ], + "redirect":[], + "wikidata":[ + "hallwil.ch" + ], + "guess":[ + "hallwil.ch" + ] + }, + "resolve_flags":[] }, "4198":{ "bfs":"4198", "name":"Hendschiken", - "canton":"", + "canton":"Kanton Aargau", "domain":"hendschiken.ch", "mx":[ "hendschiken-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.62.190.74 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.190.74 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hendschiken-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hendschiken.ch" + ], + "redirect":[], + "wikidata":[ + "hendschiken.ch" + ], + "guess":[ + "hendschiken.ch" + ] + }, + "resolve_flags":[] }, "4199":{ "bfs":"4199", - "name":"Holderbank", - "canton":"", + "name":"Holderbank (AG)", + "canton":"Kanton Aargau", "domain":"holderbank.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 mx include:_spf.holderbank.ch -all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "holderbank.ch" + ], + "guess":[ + "holderbank.ch" + ] + }, + "resolve_flags":[] }, "4200":{ "bfs":"4200", "name":"Hunzenschwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"hunzenschwil.ch", "mx":[ "mail.format-ag.ch", @@ -23991,18 +84474,40 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hunzenschwil.ch" + ], + "redirect":[], + "wikidata":[ + "hunzenschwil.ch" + ], + "guess":[ + "hunzenschwil.ch" + ] + }, + "resolve_flags":[] }, "4201":{ "bfs":"4201", "name":"Lenzburg", - "canton":"", + "canton":"Kanton Aargau", "domain":"lenzburg.ch", "mx":[ "mta1.abxsec.com", @@ -24010,540 +84515,2480 @@ ], "spf":"v=spf1 mx a:mail1.mysign.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:mx.dvbern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mail1.mysign.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:mx.dvbern.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.125.165.24/31 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "lenzburg.ch" + ], + "redirect":[], + "wikidata":[ + "lenzburg.ch" + ], + "guess":[ + "lenzburg.ch" + ] + }, + "resolve_flags":[] }, "4202":{ "bfs":"4202", "name":"Meisterschwanden", - "canton":"", + "canton":"Kanton Aargau", "domain":"meisterschwanden.ch", "mx":[ "meisterschwanden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX meisterschwanden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "meisterschwanden.ch" + ], + "guess":[ + "meisterschwanden.ch" + ] + }, + "resolve_flags":[] }, "4203":{ "bfs":"4203", "name":"Möriken-Wildegg", - "canton":"", + "canton":"Kanton Aargau", "domain":"moeriken-wildegg.ch", "mx":[ "moerikenwildegg-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 ip4:194.56.218.181 include:spf.protection.outlook.com include:spf.talus.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 ip4:194.56.218.181 include:spf.protection.outlook.com include:spf.talus.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX moerikenwildegg-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.moeriken-wildegg.ch CNAME → selector1-moerikenwildegg-ch02b._domainkey.moerikenwildeggch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.moeriken-wildegg.ch CNAME → selector2-moerikenwildegg-ch02b._domainkey.moerikenwildeggch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "moeriken-wildegg.ch" + ], + "redirect":[], + "wikidata":[ + "moeriken-wildegg.ch" + ], + "guess":[ + "moeriken-wildegg.ch" + ] + }, + "resolve_flags":[] }, "4204":{ "bfs":"4204", "name":"Niederlenz", - "canton":"", + "canton":"Kanton Aargau", "domain":"niederlenz.ch", "mx":[ "niederlenz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niederlenz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.niederlenz.ch CNAME → selector1-niederlenz-ch._domainkey.niederlenz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.niederlenz.ch CNAME → selector2-niederlenz-ch._domainkey.niederlenz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "niederlenz.ch" + ], + "guess":[ + "niederlenz.ch" + ] + }, + "resolve_flags":[] }, "4205":{ "bfs":"4205", "name":"Othmarsingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"othmarsingen.ch", "mx":[ "othmarsingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.abacuscity.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.abacuscity.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX othmarsingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.othmarsingen.ch CNAME → selector1-othmarsingen-ch._domainkey.gemeindeothmarsingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.othmarsingen.ch CNAME → selector2-othmarsingen-ch._domainkey.gemeindeothmarsingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "othmarsingen.ch" + ], + "redirect":[], + "wikidata":[ + "othmarsingen.ch" + ], + "guess":[ + "othmarsingen.ch" + ] + }, + "resolve_flags":[] }, "4206":{ "bfs":"4206", "name":"Rupperswil", - "canton":"", + "canton":"Kanton Aargau", "domain":"rupperswil.ch", "mx":[ "mailrelay01.ascanius.ch" ], "spf":"v=spf1 mx a include:_spf.i-web.ch a:mailrelay01.ascanius.ch a:mail.rupperswil.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a include:_spf.i-web.ch a:mailrelay01.ascanius.ch a:mail.rupperswil.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 198635 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "rupperswil.ch" + ], + "redirect":[], + "wikidata":[ + "rupperswil.ch" + ], + "guess":[ + "rupperswil.ch" + ] + }, + "resolve_flags":[] }, "4207":{ "bfs":"4207", "name":"Schafisheim", - "canton":"", + "canton":"Kanton Aargau", "domain":"schafisheim.ch", "mx":[ "schafisheim-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:195.65.10.12 ip4:195.65.10.15 ip4:193.47.120.0/24 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.65.10.12 ip4:195.65.10.15 ip4:193.47.120.0/24 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schafisheim-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.schafisheim.ch CNAME → selector1-schafisheim-ch._domainkey.schafisheim.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.schafisheim.ch CNAME → selector2-schafisheim-ch._domainkey.schafisheim.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "schafisheim.ch" + ], + "redirect":[], + "wikidata":[ + "schafisheim.ch" + ], + "guess":[ + "schafisheim.ch" + ] + }, + "resolve_flags":[] }, "4208":{ "bfs":"4208", "name":"Seengen", - "canton":"", + "canton":"Kanton Aargau", "domain":"seengen.ch", "mx":[ "seengen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX seengen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.seengen.ch CNAME → selector1-seengen-ch._domainkey.seengen365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.seengen.ch CNAME → selector2-seengen-ch._domainkey.seengen365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "seengen.ch" + ], + "redirect":[], + "wikidata":[ + "seengen.ch" + ], + "guess":[ + "seengen.ch" + ] + }, + "resolve_flags":[] }, "4209":{ "bfs":"4209", "name":"Seon", - "canton":"", + "canton":"Kanton Aargau", "domain":"seon.ch", "mx":[ "seon-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx ip4:83.173.217.10 ip4:193.47.120.62 ip4:193.47.120.63 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:83.173.217.10 ip4:193.47.120.62 ip4:193.47.120.63 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "seon.ch" + ], + "redirect":[], + "wikidata":[ + "seon.ch" + ], + "guess":[ + "seon.ch" + ] + }, + "resolve_flags":[] }, "4210":{ "bfs":"4210", "name":"Staufen", - "canton":"", + "canton":"Kanton Aargau", "domain":"staufen.ch", "mx":[ "srv32.hli.ch", "srv35.hli.ch" ], "spf":"v=spf1 a mx ip4:81.62.225.254 -all", - "provider":"swiss-isp", - "mx_asns":[ - 1836, - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mail.staufen.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "staufen.ch" + ], + "redirect":[], + "wikidata":[ + "staufen.ch" + ], + "guess":[ + "staufen.ch" + ] + }, + "resolve_flags":[] }, "4221":{ "bfs":"4221", "name":"Abtwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"abtwilag.ch", "mx":[ "abtwilag-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX abtwilag-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.abtwilag.ch CNAME → selector1-abtwilag-ch._domainkey.gemeindeabtwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.abtwilag.ch CNAME → selector2-abtwilag-ch._domainkey.gemeindeabtwilch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "abtwilag.ch" + ], + "redirect":[], + "wikidata":[ + "abtwilag.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "4222":{ "bfs":"4222", "name":"Aristau", - "canton":"", + "canton":"Kanton Aargau", "domain":"aristau.ch", "mx":[ "aristau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:webcms.ruf.ch ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aristau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "aristau.ch" + ], + "redirect":[], + "wikidata":[ + "aristau.ch" + ], + "guess":[ + "aristau.ch" + ] + }, + "resolve_flags":[] }, "4223":{ "bfs":"4223", "name":"Auw", - "canton":"", + "canton":"Kanton Aargau", "domain":"auw.ch", "mx":[ "auw-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX auw-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "auw.ch" + ], + "redirect":[], + "wikidata":[ + "auw.ch" + ], + "guess":[ + "auw.ch" + ] + }, + "resolve_flags":[] }, "4224":{ "bfs":"4224", "name":"Beinwil (Freiamt)", - "canton":"", + "canton":"Kanton Aargau", "domain":"beinwil.ch", "mx":[ "beinwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX beinwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "beinwil.ch" + ], + "redirect":[], + "wikidata":[ + "beinwil.ch" + ], + "guess":[ + "beinwil.ch" + ] + }, + "resolve_flags":[] }, "4226":{ "bfs":"4226", "name":"Besenbüren", - "canton":"", + "canton":"Kanton Aargau", "domain":"besenbueren.ch", "mx":[ "besenbueren-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:rzmail.hi-ag.ch +include:spf1.egeko.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:rzmail.hi-ag.ch +include:spf1.egeko.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX besenbueren-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.besenbueren.ch CNAME → selector1-besenbueren-ch._domainkey.gemeindebesenbueren.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.besenbueren.ch CNAME → selector2-besenbueren-ch._domainkey.gemeindebesenbueren.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "besenbueren.ch" + ], + "redirect":[], + "wikidata":[ + "besenbueren.ch" + ], + "guess":[ + "besenbueren.ch" + ] + }, + "resolve_flags":[] }, "4227":{ "bfs":"4227", "name":"Bettwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"bettwil.ch", "mx":[ "bettwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.0/24 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.0/24 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bettwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bettwil.ch" + ], + "guess":[ + "bettwil.ch" + ] + }, + "resolve_flags":[] }, "4228":{ "bfs":"4228", "name":"Boswil", - "canton":"", + "canton":"Kanton Aargau", "domain":"boswil.ch", "mx":[ "boswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.boswil.ch CNAME → selector1-boswil-ch._domainkey.gemeindeboswilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.boswil.ch CNAME → selector2-boswil-ch._domainkey.gemeindeboswilch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "boswil.ch" + ], + "redirect":[], + "wikidata":[ + "boswil.ch" + ], + "guess":[ + "boswil.ch" + ] + }, + "resolve_flags":[] }, "4229":{ "bfs":"4229", "name":"Bünzen", - "canton":"", + "canton":"Kanton Aargau", "domain":"buenzen.ch", "mx":[ "buenzen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.47.104.5 ip4:195.48.58.75 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.47.104.5 ip4:195.48.58.75 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buenzen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "buenzen.ch" + ], + "redirect":[], + "wikidata":[ + "buenzen.ch" + ], + "guess":[ + "buenzen.ch" + ] + }, + "resolve_flags":[] }, "4230":{ "bfs":"4230", "name":"Buttwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"buttwil.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "buttwil.ch" + ], + "redirect":[], + "wikidata":[ + "buttwil.ch" + ], + "guess":[ + "buttwil.ch" + ] + }, + "resolve_flags":[] }, "4231":{ "bfs":"4231", "name":"Dietwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"dietwil.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "dietwil.ch" + ], + "redirect":[], + "wikidata":[ + "dietwil.ch" + ], + "guess":[ + "dietwil.ch" + ] + }, + "resolve_flags":[] }, "4232":{ "bfs":"4232", "name":"Geltwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"geltwil.ch", "mx":[ "geltwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX geltwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "geltwil.ch" + ], + "redirect":[], + "wikidata":[ + "geltwil.ch" + ], + "guess":[ + "geltwil.ch" + ] + }, + "resolve_flags":[] }, "4233":{ "bfs":"4233", "name":"Kallern", - "canton":"", + "canton":"Kanton Aargau", "domain":"kallern.ch", "mx":[ "kallern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 ip4:146.4.3.166 include:rzmail.hi-ag.ch include:spf.protection.outlook.com a:spf.hostfactory.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 ip4:146.4.3.166 include:rzmail.hi-ag.ch include:spf.protection.outlook.com a:spf.hostfactory.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kallern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kallern.ch CNAME → selector1-kallern-ch._domainkey.kallern365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kallern.ch CNAME → selector2-kallern-ch._domainkey.kallern365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch" + } + ], + "sources_detail":{ + "scrape":[ + "kallern.ch", + "zso-freiamt.ch" + ], + "redirect":[], + "wikidata":[ + "kallern.ch" + ], + "guess":[ + "kallern.ch" + ] + }, + "resolve_flags":[] }, "4234":{ "bfs":"4234", "name":"Merenschwand", - "canton":"", + "canton":"Kanton Aargau", "domain":"merenschwand.ch", "mx":[ "merenschwand-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:webcms.ruf.ch ip4:193.135.56.6 ip4:84.253.8.36 include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch ip4:193.135.56.6 ip4:84.253.8.36 include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX merenschwand-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "merenschwand.ch" + ], + "redirect":[], + "wikidata":[ + "merenschwand.ch" + ], + "guess":[ + "merenschwand.ch" + ] + }, + "resolve_flags":[] }, "4235":{ "bfs":"4235", "name":"Mühlau", - "canton":"", + "canton":"Kanton Aargau", "domain":"muehlau.ch", "mx":[ "muehlau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muehlau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muehlau.ch" + ], + "redirect":[], + "wikidata":[ + "muehlau.ch" + ], + "guess":[ + "muehlau.ch" + ] + }, + "resolve_flags":[] }, "4236":{ "bfs":"4236", - "name":"Muri", - "canton":"", + "name":"Muri (AG)", + "canton":"Kanton Aargau", "domain":"muri.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch include:spf.mail.digitalparking.ch include:_spf.psm.knowbe4.com include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch include:spf.mail.digitalparking.ch include:_spf.psm.knowbe4.com include:spf.abacuscity.ch -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muri.ch" + ], + "redirect":[], + "wikidata":[ + "muri.ch" + ], + "guess":[ + "muri.ch" + ] + }, + "resolve_flags":[] }, "4237":{ "bfs":"4237", "name":"Oberrüti", - "canton":"", + "canton":"Kanton Aargau", "domain":"oberrueti.ch", "mx":[ "oberrueti-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com mx ip4:195.48.58.75 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com mx ip4:195.48.58.75 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberrueti-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oberrueti.ch CNAME → selector1-oberrueti-ch._domainkey.oberruetich.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oberrueti.ch CNAME → selector2-oberrueti-ch._domainkey.oberruetich.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberrueti.ch" + ], + "redirect":[], + "wikidata":[ + "oberrueti.ch" + ], + "guess":[ + "oberrueti.ch" + ] + }, + "resolve_flags":[] }, "4238":{ "bfs":"4238", "name":"Rottenschwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"rottenschwil.ch", "mx":[ "rottenschwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:195.48.58.75 include:servers.mcsv.net include:relay.mailchannels.net include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com include:swisscrow.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.48.58.75 include:servers.mcsv.net include:relay.mailchannels.net include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com include:swisscrow.ch -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a mx include:serv70882139.secure-node.at -all v=spf1 ip4:128.204.134.188 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rottenschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rottenschwil.ch CNAME → selector1-rottenschwil-ch._domainkey.gemeinderottenschwilch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rottenschwil.ch CNAME → selector2-rottenschwil-ch._domainkey.gemeinderottenschwilch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "rottenschwil.ch" + ], + "redirect":[], + "wikidata":[ + "rottenschwil.ch" + ], + "guess":[ + "rottenschwil.ch" + ] + }, + "resolve_flags":[] }, "4239":{ "bfs":"4239", "name":"Sins", - "canton":"", + "canton":"Kanton Aargau", "domain":"sins.ch", "mx":[ - "inbound-smtp.eu-west-1.amazonaws.com" - ], - "spf":"v=spf1 mx ip4:193.135.56.0/24 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", - "provider":"aws", - "spf_resolved":"v=spf1 mx ip4:193.135.56.0/24 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "sins-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 mx ip4:193.135.56.0/24 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sins.ch" + ], + "guess":[ + "sins.ch" + ] + }, + "resolve_flags":[] }, "4240":{ "bfs":"4240", "name":"Waltenschwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"waltenschwil.ch", "mx":[ "waltenschwil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.243.197.0/24 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.243.197.0/24 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX waltenschwil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.waltenschwil.ch CNAME → selector1-waltenschwil-ch._domainkey.waltenschwil365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.waltenschwil.ch CNAME → selector2-waltenschwil-ch._domainkey.waltenschwil365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "waltenschwil.ch" + ], + "redirect":[], + "wikidata":[ + "waltenschwil.ch" + ], + "guess":[ + "waltenschwil.ch" + ] + }, + "resolve_flags":[] }, "4251":{ "bfs":"4251", "name":"Hellikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"hellikon.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a:delta.magicsystems.ch ip4:195.48.58.75 include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a:delta.magicsystems.ch ip4:195.48.58.75 include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "hellikon.ch" + ], + "redirect":[], + "wikidata":[ + "hellikon.ch" + ], + "guess":[ + "hellikon.ch" + ] + }, + "resolve_flags":[] }, "4252":{ "bfs":"4252", "name":"Kaiseraugst", - "canton":"", + "canton":"Kanton Aargau", "domain":"kaiseraugst.ch", "mx":[ "feedback-smtp.eu-cenral-1.amazonses.com", @@ -24551,274 +86996,1223 @@ ], "spf":"v=spf1 ip4:193.47.104.5 ip4:193.47.108.198 include:spf.protection.outlook.com include:amazonses.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.47.104.5 ip4:193.47.108.198 include:spf.protection.outlook.com include:amazonses.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kaiseraugst-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"aws", + "weight":0.2, + "detail":"SPF include:amazonses.com matches aws" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.kaiseraugst.ch CNAME → selector1-kaiseraugst-ch._domainkey.kagst.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.kaiseraugst.ch CNAME → selector2-kaiseraugst-ch._domainkey.kagst.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "kaiseraugst.ch" + ], + "guess":[ + "kaiseraugst.ch" + ] + }, + "resolve_flags":[] }, "4253":{ "bfs":"4253", "name":"Magden", - "canton":"", + "canton":"Kanton Aargau", "domain":"magden.ch", "mx":[ "magden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 a:mail.obt-services.ch ip4:193.47.104.5 include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 a:mail.obt-services.ch ip4:193.47.104.5 include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX magden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.magden.ch CNAME → selector1-magden-ch._domainkey.magdencloud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.magden.ch CNAME → selector2-magden-ch._domainkey.magdencloud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "magden.ch" + ], + "redirect":[], + "wikidata":[ + "magden.ch" + ], + "guess":[ + "magden.ch" + ] + }, + "resolve_flags":[] }, "4254":{ "bfs":"4254", "name":"Möhlin", - "canton":"", + "canton":"Kanton Aargau", "domain":"moehlin.ch", "mx":[ "moehlin-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "moehlin.ch" + ], + "redirect":[], + "wikidata":[ + "moehlin.ch" + ], + "guess":[ + "moehlin.ch" + ] + }, + "resolve_flags":[] }, "4255":{ "bfs":"4255", "name":"Mumpf", - "canton":"", + "canton":"Kanton Aargau", "domain":"mumpf.ch", "mx":[ "mumpf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mumpf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mumpf.ch" + ], + "guess":[ + "mumpf.ch" + ] + }, + "resolve_flags":[] }, "4256":{ "bfs":"4256", "name":"Obermumpf", - "canton":"", + "canton":"Kanton Aargau", "domain":"obermumpf.ch", "mx":[ "obermumpf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:exchange-spf.netzone.ch ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:exchange-spf.netzone.ch ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:edgepilot.com include:spf.netzone.ch -all v=spf1 include:spf1.appriver.com include:spf2.appriver.com include:spf.protection.outlook.com ~all v=spf1 ip4:212.243.197.0/26 ip6:2001:918:ff23:197:30::1/77 -all v=spf1 ip4:204.232.250.0/24 ip4:5.152.185.0/24 ip4:8.19.118.0/24 ip4:8.31.233.0/24 ip4:72.3.212.195 ip4:5.152.188.0/24 ip4:174.37.170.192/27 ~all v=spf1 ip4:75.126.84.128/26 ip4:67.228.8.0/25 ip4:67.227.149.19 ip4:64.56.208.32/27 ip4:67.228.91.90 ip4:67.228.158.174 ip4:174.36.44.116/30 ip4:50.201.66.168 ip4:63.71.8.0/21 ip4:199.30.232.0/21 ip4:74.203.184.0/23 ip4:207.195.176.0/20 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX obermumpf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "obermumpf.ch" + ], + "redirect":[], + "wikidata":[ + "obermumpf.ch" + ], + "guess":[ + "obermumpf.ch" + ] + }, + "resolve_flags":[] }, "4257":{ "bfs":"4257", "name":"Olsberg", - "canton":"", + "canton":"Kanton Aargau", "domain":"olsberg.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "olsberg.ch" + ], + "guess":[ + "olsberg.ch" + ] + }, + "resolve_flags":[] }, "4258":{ "bfs":"4258", "name":"Rheinfelden", - "canton":"", + "canton":"Kanton Aargau", "domain":"rheinfelden.ch", "mx":[ "rheinfelden-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx include:_spf.i-web.ch include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com include:spf.protect.kvnbw.de include:_spf.psm.knowbe4.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spf.i-web.ch include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com include:spf.protect.kvnbw.de include:_spf.psm.knowbe4.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.59.36.32/27 ip4:194.0.94.32/28 ip4:195.189.93.7 ip4:195.189.93.21 ip4:195.189.93.24/29 ip4:195.189.93.96 ip4:195.189.93.149 ip4:195.189.93.151 ip4:195.189.93.154 ip4:195.189.93.163 ip4:195.189.93.164 ip4:195.189.94.64/27 ip4:195.189.95.87 ip4:87.106.113.62 ~all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rheinfelden.ch" + ], + "guess":[ + "rheinfelden.ch", + "stadt-rheinfelden.ch" + ] + }, + "resolve_flags":[] }, "4259":{ "bfs":"4259", "name":"Schupfart", - "canton":"", + "canton":"Kanton Aargau", "domain":"schupfart.ch", "mx":[ "schupfart-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.47.120.64 ip4:193.47.120.65 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.47.120.64 ip4:193.47.120.65 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schupfart-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "schupfart.ch" + ], + "guess":[ + "schupfart.ch" + ] + }, + "resolve_flags":[] }, "4260":{ "bfs":"4260", - "name":"Stein", - "canton":"", + "name":"Stein (AG)", + "canton":"Kanton Aargau", "domain":"gemeinde-stein.ch", "mx":[ "gemeindestein-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindestein-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gemeinde-stein.ch CNAME → selector1-gemeindestein-ch02b._domainkey.gemeindesteinagch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gemeinde-stein.ch CNAME → selector2-gemeindestein-ch02b._domainkey.gemeindesteinagch.onmicrosoft.com" + }, + { + "kind":"dmarc", + "provider":"microsoft", + "weight":0.02, + "detail":"DMARC record matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "gemeinde-stein.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-stein.ch" + ], + "guess":[ + "gemeinde-stein.ch" + ] + }, + "resolve_flags":[] }, "4261":{ "bfs":"4261", "name":"Wallbach", - "canton":"", + "canton":"Kanton Aargau", "domain":"wallbach.ch", "mx":[ "wallbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX wallbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.wallbach.ch CNAME → selector1-wallbach-ch._domainkey.gemeindewallbach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.wallbach.ch CNAME → selector2-wallbach-ch._domainkey.gemeindewallbach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wallbach.ch" + ], + "redirect":[], + "wikidata":[ + "wallbach.ch" + ], + "guess":[ + "wallbach.ch" + ] + }, + "resolve_flags":[] }, "4262":{ "bfs":"4262", "name":"Wegenstetten", - "canton":"", + "canton":"Kanton Aargau", "domain":"wegenstetten.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "wegenstetten.ch" + ], + "redirect":[], + "wikidata":[ + "wegenstetten.ch" + ], + "guess":[ + "wegenstetten.ch" + ] + }, + "resolve_flags":[] }, "4263":{ "bfs":"4263", "name":"Zeiningen", - "canton":"", + "canton":"Kanton Aargau", "domain":"zeiningen.ch", "mx":[ "zeiningen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all v=spf1 ip4:195.48.58.75 -all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zeiningen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zeiningen.ch" + ], + "redirect":[], + "wikidata":[ + "zeiningen.ch" + ], + "guess":[ + "zeiningen.ch" + ] + }, + "resolve_flags":[] }, "4264":{ "bfs":"4264", "name":"Zuzgen", - "canton":"", + "canton":"Kanton Aargau", "domain":"zuzgen.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all v=spf1 ip4:195.48.58.75 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "zuzgen.ch" + ], + "redirect":[], + "wikidata":[ + "zuzgen.ch" + ], + "guess":[ + "zuzgen.ch" + ] + }, + "resolve_flags":[] }, "4271":{ "bfs":"4271", "name":"Aarburg", - "canton":"", + "canton":"Kanton Aargau", "domain":"aarburg.ch", "mx":[ "aarburg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.abacuscity.ch include:_spf.i-web.ch ip4:193.5.117.74 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.abacuscity.ch include:_spf.i-web.ch ip4:193.5.117.74 include:spf.protection.outlook.com -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aarburg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aarburg.ch" + ], + "redirect":[], + "wikidata":[ + "aarburg.ch" + ], + "guess":[ + "aarburg.ch" + ] + }, + "resolve_flags":[] }, "4273":{ "bfs":"4273", "name":"Bottenwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"bottenwil.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":84.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "bottenwil.ch" + ], + "redirect":[], + "wikidata":[ + "bottenwil.ch" + ], + "guess":[ + "bottenwil.ch" + ] + }, + "resolve_flags":[] }, "4274":{ "bfs":"4274", "name":"Brittnau", - "canton":"", + "canton":"Kanton Aargau", "domain":"brittnau.ch", "mx":[ "brittnau1.cleanmail.ch", @@ -24826,38 +88220,111 @@ ], "spf":"v=spf1 mx include:_cmspf.cleanmail.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_cmspf.cleanmail.ch -all v=spf1 ip4:91.208.173.0/24 ip4:91.212.152.0/24 ip4:195.141.89.0/24 ip4:185.188.196.0/24 ip4:83.145.109.0/24 ip4:31.172.161.0/24 ip4:80.83.63.195/32 ip4:80.83.63.196/32 a:outbound.appriver.com ~all", - "gateway":"cleanmail", - "mx_asns":[ - 15547 + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"mail.brittnau.ch", - "autodiscover_srv":"autodiscover.brittnau.ch" - } + "gateway":"cleanmail", + "sources_detail":{ + "scrape":[ + "brittnau.ch" + ], + "redirect":[], + "wikidata":[ + "brittnau.ch" + ], + "guess":[ + "brittnau.ch" + ] + }, + "resolve_flags":[] }, "4275":{ "bfs":"4275", "name":"Kirchleerau", - "canton":"", + "canton":"Kanton Aargau", "domain":"kirchleerau.ch", "mx":[ "kirchleerau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX kirchleerau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kirchleerau.ch" + ], + "redirect":[], + "wikidata":[ + "kirchleerau.ch" + ], + "guess":[ + "kirchleerau.ch" + ] + }, + "resolve_flags":[] }, "4276":{ "bfs":"4276", "name":"Kölliken", - "canton":"", + "canton":"Kanton Aargau", "domain":"koelliken.ch", "mx":[ "mail.format-ag.ch", @@ -24867,55 +88334,228 @@ ], "spf":"v=spf1 include:_spf.talus.ch ip4:193.135.56.6 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.talus.ch ip4:193.135.56.6 ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "koelliken.ch" + ], + "redirect":[], + "wikidata":[ + "koelliken.ch" + ], + "guess":[ + "koelliken.ch" + ] + }, + "resolve_flags":[] }, "4277":{ "bfs":"4277", "name":"Moosleerau", - "canton":"", + "canton":"Kanton Aargau", "domain":"moosleerau.ch", "mx":[ "moosleerau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:213.193.80.0/27 ip4:91.118.154.96 ip4:62.99.130.28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:213.193.80.0/27 ip4:91.118.154.96 ip4:62.99.130.28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.moosleerau.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX moosleerau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "moosleerau.ch" + ], + "redirect":[], + "wikidata":[ + "moosleerau.ch" + ], + "guess":[ + "moosleerau.ch" + ] + }, + "resolve_flags":[] }, "4279":{ "bfs":"4279", "name":"Murgenthal", - "canton":"", + "canton":"Kanton Aargau", "domain":"murgenthal.ch", "mx":[ "murgenthal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX murgenthal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.murgenthal.ch CNAME → selector1-murgenthal-ch._domainkey.murgenthal.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.murgenthal.ch CNAME → selector2-murgenthal-ch._domainkey.murgenthal.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "murgenthal.ch" + ], + "redirect":[], + "wikidata":[ + "murgenthal.ch" + ], + "guess":[ + "murgenthal.ch" + ] + }, + "resolve_flags":[] }, "4280":{ "bfs":"4280", "name":"Oftringen", - "canton":"", + "canton":"Kanton Aargau", "domain":"oftringen.ch", "mx":[ "mta1.abxsec.com", @@ -24923,19 +88563,59 @@ ], "spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:213.193.80.0/27 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.ch.seppmail.cloud ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:213.193.80.0/27 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.ch.seppmail.cloud ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "oftringen.ch" + ], + "redirect":[], + "wikidata":[ + "oftringen.ch" + ], + "guess":[ + "oftringen.ch" + ] + }, + "resolve_flags":[] }, "4281":{ "bfs":"4281", "name":"Reitnau", - "canton":"", + "canton":"Kanton Aargau", "domain":"reitnau.ch", "mx":[ "mail.format-ag.ch", @@ -24943,38 +88623,117 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "reitnau.ch" + ], + "redirect":[], + "wikidata":[ + "reitnau.ch" + ], + "guess":[ + "reitnau.ch" + ] + }, + "resolve_flags":[] }, "4282":{ "bfs":"4282", "name":"Rothrist", - "canton":"", + "canton":"Kanton Aargau", "domain":"rothrist.ch", "mx":[ "rothrist-ch.gate.seppmail.cloud" ], "spf":"v=spf1 mx a:relay.mailchannels.net ip4:193.47.120.0/24 ip4:46.232.183.86 ip4:178.174.91.83 include:relay.mailchannels.net include:_spf.sui-inter.net include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:relay.mailchannels.net ip4:193.47.120.0/24 ip4:46.232.183.86 ip4:178.174.91.83 include:relay.mailchannels.net include:_spf.sui-inter.net include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:86.119.9.0/29 ip4:86.119.57.0/29 ip4:217.20.196.64/27 ip6:2001:620:5ca1:4018::/64 ip6:2001:620:5ca1:200b::/64 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rothrist.ch CNAME → selector1-rothrist-ch._domainkey.rothristch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rothrist.ch CNAME → selector2-rothrist-ch._domainkey.rothristch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"seppmail", + "sources_detail":{ + "scrape":[ + "rothrist.ch" + ], + "redirect":[], + "wikidata":[ + "rothrist.ch" + ], + "guess":[ + "rothrist.ch" + ] + }, + "resolve_flags":[] }, "4283":{ "bfs":"4283", "name":"Safenwil", - "canton":"", + "canton":"Kanton Aargau", "domain":"safenwil.ch", "mx":[ "mail.format-ag.ch", @@ -24984,36 +88743,134 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "safenwil.ch" + ], + "redirect":[], + "wikidata":[ + "safenwil.ch" + ], + "guess":[ + "safenwil.ch" + ] + }, + "resolve_flags":[] }, "4284":{ "bfs":"4284", "name":"Staffelbach", - "canton":"", + "canton":"Kanton Aargau", "domain":"staffelbach.ch", "mx":[ "staffelbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.47.120.0/24 include:spf.hli.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.47.120.0/24 include:spf.hli.ch include:spf.protection.outlook.com -all v=spf1 ip4:212.41.195.176/29 ip4:81.221.33.0/28 ip4:195.48.41.0/28 ip4:195.49.62.24/29 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX staffelbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "staffelbach.ch" + ], + "redirect":[], + "wikidata":[ + "staffelbach.ch" + ], + "guess":[ + "staffelbach.ch" + ] + }, + "resolve_flags":[] }, "4285":{ "bfs":"4285", "name":"Strengelbach", - "canton":"", + "canton":"Kanton Aargau", "domain":"strengelbach.ch", "mx":[ "mail.format-ag.ch", @@ -25023,37 +88880,79 @@ ], "spf":"v=spf1 a include:_spf.talus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch ~all v=spf1 ip4:194.56.218.0/24 ~all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "strengelbach.ch" + ], + "guess":[ + "strengelbach.ch" + ] + }, + "resolve_flags":[] }, "4286":{ "bfs":"4286", "name":"Uerkheim", - "canton":"", + "canton":"Kanton Aargau", "domain":"uerkheim.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "uerkheim.ch" + ], + "redirect":[], + "wikidata":[ + "uerkheim.ch" + ], + "guess":[ + "uerkheim.ch" + ] + }, + "resolve_flags":[] }, "4287":{ "bfs":"4287", "name":"Vordemwald", - "canton":"", + "canton":"Kanton Aargau", "domain":"vordemwald.ch", "mx":[ "mail.format-ag.ch", @@ -25061,441 +88960,1643 @@ ], "spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all v=spf1 ip4:194.56.218.0/24 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 202035 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.talus.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vordemwald.ch" + ], + "redirect":[], + "wikidata":[ + "vordemwald.ch" + ], + "guess":[ + "vordemwald.ch" + ] + }, + "resolve_flags":[] }, "4288":{ "bfs":"4288", "name":"Wiliberg", - "canton":"", + "canton":"Kanton Aargau", "domain":"wiliberg.ch", "mx":[ "wiliberg-ch.gate.seppmail.cloud" ], "spf":"v=spf1 ip4:193.135.56.0/24 include:egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:193.135.56.0/24 include:egeko.ch -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + } + ], "gateway":"seppmail", - "mx_asns":[ - 559, - 24951 - ] + "sources_detail":{ + "scrape":[ + "wiliberg.ch" + ], + "redirect":[], + "wikidata":[ + "wiliberg.ch" + ], + "guess":[ + "wiliberg.ch" + ] + }, + "resolve_flags":[] }, "4289":{ "bfs":"4289", "name":"Zofingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"zofingen.ch", "mx":[ "zofingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zofingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.zofingen.ch CNAME → selector1-zofingen-ch._domainkey.stadtzofingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.zofingen.ch CNAME → selector2-zofingen-ch._domainkey.stadtzofingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "zofingen.ch" + ], + "guess":[ + "zofingen.ch" + ] + }, + "resolve_flags":[] }, "4303":{ "bfs":"4303", "name":"Böttstein", - "canton":"", + "canton":"Kanton Aargau", "domain":"boettstein.ch", "mx":[ "boettstein-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boettstein-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "boettstein.ch" + ], + "redirect":[], + "wikidata":[ + "boettstein.ch" + ], + "guess":[ + "boettstein.ch" + ] + }, + "resolve_flags":[] }, "4304":{ "bfs":"4304", "name":"Döttingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"doettingen.ch", "mx":[ "doettingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:spf.abacuscity.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:spf.abacuscity.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX doettingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "doettingen.ch", + "megura.ch" + ], + "redirect":[], + "wikidata":[ + "doettingen.ch" + ], + "guess":[ + "doettingen.ch" + ] + }, + "resolve_flags":[] }, "4305":{ "bfs":"4305", "name":"Endingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"endingen.ch", "mx":[ "endingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX endingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.endingen.ch CNAME → selector1-endingen-ch._domainkey.gemendingen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.endingen.ch CNAME → selector2-endingen-ch._domainkey.gemendingen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "endingen.ch", + "unterendingen.ch" + ], + "redirect":[], + "wikidata":[ + "endingen.ch" + ], + "guess":[ + "endingen.ch" + ] + }, + "resolve_flags":[] }, "4306":{ "bfs":"4306", "name":"Fisibach", - "canton":"", + "canton":"Kanton Aargau", "domain":"fisibach.ch", "mx":[ "inbound-smtp.eu-west-1.amazonaws.com" ], "spf":"v=spf1 a mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch -all", "provider":"aws", - "spf_resolved":"v=spf1 a mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch -all v=spf1 ip4:195.48.58.75 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_srv":"rzowa.hi-ag.ch" - } + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"aws", + "weight":0.2, + "detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + } + ], + "sources_detail":{ + "scrape":[ + "fisibach.ch" + ], + "redirect":[], + "wikidata":[ + "fisibach.ch" + ], + "guess":[ + "fisibach.ch" + ] + }, + "resolve_flags":[] }, "4307":{ "bfs":"4307", "name":"Full-Reuenthal", - "canton":"", + "canton":"Kanton Aargau", "domain":"full-reuenthal.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "override":[ + "full-reuenthal.ch" + ] + }, + "resolve_flags":[] }, "4309":{ "bfs":"4309", "name":"Klingnau", - "canton":"", + "canton":"Kanton Aargau", "domain":"klingnau.ch", "mx":[ "klingnau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com ip4:195.48.58.75 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com ip4:195.48.58.75 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX klingnau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "klingnau.ch" + ], + "redirect":[], + "wikidata":[ + "klingnau.ch" + ], + "guess":[ + "klingnau.ch" + ] + }, + "resolve_flags":[] }, "4310":{ "bfs":"4310", - "name":"Koblenz AG", - "canton":"", + "name":"Koblenz", + "canton":"Kanton Aargau", "domain":"koblenz.ch", "mx":[ "koblenz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX koblenz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "koblenz.ch", + "megura.ch" + ], + "redirect":[], + "wikidata":[ + "koblenz.ch" + ], + "guess":[ + "koblenz.ch" + ] + }, + "resolve_flags":[] }, "4311":{ "bfs":"4311", "name":"Leibstadt", - "canton":"", + "canton":"Kanton Aargau", "domain":"leibstadt.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "full-reuenthal.ch", + "leibstadt.ch" + ], + "redirect":[], + "wikidata":[ + "leibstadt.ch" + ], + "guess":[ + "leibstadt.ch" + ] + }, + "resolve_flags":[] }, "4312":{ "bfs":"4312", - "name":"Lengnau", - "canton":"", + "name":"Lengnau (AG)", + "canton":"Kanton Aargau", "domain":"lengnau-ag.ch", "mx":[ "lengnauag-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lengnauag-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lengnau-ag.ch" + ], + "redirect":[], + "wikidata":[ + "lengnau-ag.ch" + ], + "guess":[ + "lengnau.ch" + ] + }, + "resolve_flags":[] }, "4313":{ "bfs":"4313", "name":"Leuggern", - "canton":"", + "canton":"Kanton Aargau", "domain":"leuggern.ch", "mx":[ "leuggern-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leuggern-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.leuggern.ch CNAME → selector1-leuggern-ch._domainkey.leuggern.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.leuggern.ch CNAME → selector2-leuggern-ch._domainkey.leuggern.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "leuggern.ch" + ], + "redirect":[], + "wikidata":[ + "leuggern.ch" + ], + "guess":[ + "leuggern.ch" + ] + }, + "resolve_flags":[] }, "4314":{ "bfs":"4314", "name":"Mellikon", - "canton":"", + "canton":"Kanton Aargau", "domain":"mellikon.ch", "mx":[ "mellikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mellikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mellikon.ch" + ], + "redirect":[], + "wikidata":[ + "mellikon.ch" + ], + "guess":[ + "mellikon.ch" + ] + }, + "resolve_flags":[] }, "4318":{ "bfs":"4318", "name":"Schneisingen", - "canton":"", + "canton":"Kanton Aargau", "domain":"schneisingen.ch", "mx":[ "schneisingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX schneisingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "schneisingen.ch" + ], + "redirect":[], + "wikidata":[ + "schneisingen.ch" + ], + "guess":[ + "schneisingen.ch" + ] + }, + "resolve_flags":[] }, "4319":{ "bfs":"4319", "name":"Siglistorf", - "canton":"", + "canton":"Kanton Aargau", "domain":"siglistorf.ch", "mx":[ "siglistorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX siglistorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "siglistorf.ch" + ], + "redirect":[], + "wikidata":[ + "siglistorf.ch" + ], + "guess":[ + "siglistorf.ch" + ] + }, + "resolve_flags":[] }, "4320":{ "bfs":"4320", "name":"Tegerfelden", - "canton":"", + "canton":"Kanton Aargau", "domain":"tegerfelden.ch", "mx":[ "tegerfelden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tegerfelden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "tegerfelden.ch" + ], + "redirect":[], + "wikidata":[ + "tegerfelden.ch" + ], + "guess":[ + "tegerfelden.ch" + ] + }, + "resolve_flags":[] }, "4324":{ "bfs":"4324", "name":"Zurzach", - "canton":"", + "canton":"Kanton Aargau", "domain":"zurzach.ch", "mx":[ "zurzach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zurzach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zurzach.ch" + ], + "redirect":[], + "wikidata":[ + "zurzach.ch" + ], + "guess":[ + "zurzach.ch" + ] + }, + "resolve_flags":[] }, "4401":{ "bfs":"4401", "name":"Arbon", - "canton":"", + "canton":"Kanton Thurgau", "domain":"arbon.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 include:spf.abxsec.com include:_spf.sui-inter.net +mx +a ip4:193.135.56.6 ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.abxsec.com include:_spf.sui-inter.net +mx +a ip4:193.135.56.6 ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "arbon.ch" + ], + "redirect":[], + "wikidata":[ + "arbon.ch" + ], + "guess":[ + "arbon.ch" + ] + }, + "resolve_flags":[] }, "4406":{ "bfs":"4406", "name":"Dozwil", - "canton":"", + "canton":"Kanton Thurgau", "domain":"dozwil.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:cs5.chrisign.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:cs5.chrisign.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:217.150.252.8 ~all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dozwil.ch", + "ew-dozwil.ch" + ], + "redirect":[], + "wikidata":[ + "dozwil.ch" + ], + "guess":[ + "dozwil.ch" + ] + }, + "resolve_flags":[] }, "4411":{ "bfs":"4411", "name":"Egnach", - "canton":"", + "canton":"Kanton Thurgau", "domain":"egnach.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "egnach.ch" + ], + "redirect":[], + "wikidata":[ + "egnach.ch" + ], + "guess":[ + "egnach.ch" + ] + }, + "resolve_flags":[] }, "4416":{ "bfs":"4416", "name":"Hefenhofen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"hefenhofen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "hefenhofen.ch" + ], + "redirect":[], + "wikidata":[ + "hefenhofen.ch" + ], + "guess":[ + "hefenhofen.ch" + ] + }, + "resolve_flags":[] }, "4421":{ "bfs":"4421", "name":"Horn", - "canton":"", + "canton":"Kanton Thurgau", "domain":"horn.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:194.209.60.21 ip4:194.209.60.7 include:spf1.egeko.ch include:_spf.i-web.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:194.209.60.21 ip4:194.209.60.7 include:spf1.egeko.ch include:_spf.i-web.ch include:spf.abxsec.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "horn.ch" + ], + "redirect":[], + "wikidata":[ + "horn.ch" + ], + "guess":[ + "horn.ch" + ] + }, + "resolve_flags":[] }, "4426":{ "bfs":"4426", "name":"Kesswil", - "canton":"", + "canton":"Kanton Thurgau", "domain":"kesswil.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.abxsec.com include:egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.abxsec.com include:egeko.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "kesswil.ch" + ], + "redirect":[], + "wikidata":[ + "kesswil.ch" + ], + "guess":[ + "kesswil.ch" + ] + }, + "resolve_flags":[] }, "4431":{ "bfs":"4431", - "name":"Roggwil", - "canton":"", + "name":"Roggwil (TG)", + "canton":"Kanton Thurgau", "domain":"roggwil-tg.ch", "mx":[ "mx01.sui-inter.net", @@ -25504,372 +90605,1285 @@ ], "spf":"v=spf1 include:tg.ch include:_spf.sui-inter.net +mx +a ip4:213.193.123.194 ip4:193.135.56.6 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:tg.ch include:_spf.sui-inter.net +mx +a ip4:213.193.123.194 ip4:193.135.56.6 ~all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "roggwil-tg.ch" + ], + "redirect":[], + "wikidata":[ + "roggwil-tg.ch" + ], + "guess":[ + "roggwil.ch" + ] + }, + "resolve_flags":[] }, "4436":{ "bfs":"4436", "name":"Romanshorn", - "canton":"", + "canton":"Kanton Thurgau", "domain":"romanshorn.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "romanshorn.ch" + ], + "redirect":[], + "wikidata":[ + "romanshorn.ch" + ], + "guess":[ + "romanshorn.ch" + ] + }, + "resolve_flags":[] }, "4441":{ "bfs":"4441", "name":"Salmsach", - "canton":"", + "canton":"Kanton Thurgau", "domain":"salmsach.ch", "mx":[ "salmsach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:tg.ch include:_spf.i-web.ch ip4:89.186.196.202 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:tg.ch include:_spf.i-web.ch ip4:89.186.196.202 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX salmsach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.salmsach.ch CNAME → selector1-salmsach-ch._domainkey.salmsach.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.salmsach.ch CNAME → selector2-salmsach-ch._domainkey.salmsach.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "salmsach.ch" + ], + "redirect":[], + "wikidata":[ + "salmsach.ch" + ], + "guess":[ + "salmsach.ch" + ] + }, + "resolve_flags":[] }, "4446":{ "bfs":"4446", "name":"Sommeri", - "canton":"", + "canton":"Kanton Thurgau", "domain":"sommeri.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sommeri.ch" + ], + "guess":[ + "sommeri.ch" + ] + }, + "resolve_flags":[] }, "4451":{ "bfs":"4451", "name":"Uttwil", - "canton":"", + "canton":"Kanton Thurgau", "domain":"uttwil.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:egeko.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "uttwil.ch" + ], + "redirect":[], + "wikidata":[ + "uttwil.ch" + ], + "guess":[ + "uttwil.ch" + ] + }, + "resolve_flags":[] }, "4461":{ "bfs":"4461", "name":"Amriswil", - "canton":"", + "canton":"Kanton Thurgau", "domain":"amriswil.ch", "mx":[ "amriswil-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx mx:hin.ch ip4:193.25.102.54 include:_spf.i-web.ch include:spf.protection.outlook.com include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx mx:hin.ch ip4:193.25.102.54 include:_spf.i-web.ch include:spf.protection.outlook.com include:spf.abxsec.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX amriswil-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.amriswil.ch CNAME → selector1-amriswil-ch._domainkey.amriswiltg.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.amriswil.ch CNAME → selector2-amriswil-ch._domainkey.amriswiltg.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "amriswil.ch" + ], + "redirect":[], + "wikidata":[ + "amriswil.ch" + ], + "guess":[ + "amriswil.ch" + ] + }, + "resolve_flags":[] }, "4471":{ "bfs":"4471", "name":"Bischofszell", - "canton":"", + "canton":"Kanton Thurgau", "domain":"bischofszell.ch", "mx":[ "bischofszell-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.25.102.170 include:spf.protection.outlook.com include:_spf.i-web.ch include:tg.ch include:_spf.psm.knowbe4.com include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.25.102.170 include:spf.protection.outlook.com include:_spf.i-web.ch include:tg.ch include:_spf.psm.knowbe4.com include:spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bischofszell-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bischofszell.ch CNAME → selector1-bischofszell-ch._domainkey.bischofszell.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bischofszell.ch CNAME → selector2-bischofszell-ch._domainkey.bischofszell.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "bischofszell.ch" + ], + "redirect":[], + "wikidata":[ + "bischofszell.ch" + ], + "guess":[ + "bischofszell.ch" + ] + }, + "resolve_flags":[] }, "4476":{ "bfs":"4476", "name":"Erlen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"erlen.ch", "mx":[ "erlen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:89.186.196.82/29 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:89.186.196.82/29 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX erlen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "erlen.ch" + ], + "redirect":[], + "wikidata":[ + "erlen.ch" + ], + "guess":[ + "erlen.ch" + ] + }, + "resolve_flags":[] }, "4486":{ "bfs":"4486", "name":"Hauptwil-Gottshaus", - "canton":"", + "canton":"Kanton Thurgau", "domain":"hauptwil-gottshaus.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"", - "provider":"swiss-isp", - "mx_asns":[ - 3303 + "provider":"independent", + "category":"swiss-based", + "classification_confidence":62.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "pghg.ch" + ], + "redirect":[], + "wikidata":[ + "hauptwil-gottshaus.ch" + ], + "guess":[ + "hauptwil-gottshaus.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "4495":{ "bfs":"4495", "name":"Hohentannen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"hohentannen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "hohentannen.ch" + ], + "guess":[ + "hohentannen.ch" + ] + }, + "resolve_flags":[] }, "4501":{ "bfs":"4501", "name":"Kradolf-Schönenberg", - "canton":"", - "domain":"kradolf-schoenenberg.ch", + "canton":"Kanton Thurgau", + "domain":"pgks.ch", "mx":[ - "mx1.onlime.ch", - "mx2.onlime.ch" + "mta1.abxsec.com", + "mta2.abxsec.com" ], - "spf":"v=spf1 a mx include:spf.onlime.ch ~all", + "spf":"v=spf1 a mx include:_spf.abxsec.com include:spf.onlime.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.onlime.ch ~all v=spf1 ip4:46.231.201.128/25 ip4:78.46.160.129 ip4:162.55.162.196 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "gateway":"abxsec", + "sources_detail":{ + "override":[ + "pgks.ch" + ] + }, + "resolve_flags":[] }, "4506":{ "bfs":"4506", "name":"Sulgen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"sulgen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 ip4:212.90.214.230 ip4:83.173.225.254 ip4:193.135.56.6 include:tg.ch include:spf.protection.outlook.com include:spf.ess.de.barracudanetworks.com include:spf.mailxpert.ch include:spf.protection.cyon.net include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:212.90.214.230 ip4:83.173.225.254 ip4:193.135.56.6 include:tg.ch include:spf.protection.outlook.com include:spf.ess.de.barracudanetworks.com include:spf.mailxpert.ch include:spf.protection.cyon.net include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:35.157.190.224/27 ip4:18.185.115.192/26 ip4:18.184.203.224/27 -all v=spf1 ip4:91.233.182.0/24 ip4:193.17.79.203 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch", - "autodiscover_srv":"autodiscoverknd.tg.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "sulgen.ch" + ], + "redirect":[], + "wikidata":[ + "sulgen.ch" + ], + "guess":[ + "sulgen.ch" + ] + }, + "resolve_flags":[] }, "4511":{ "bfs":"4511", "name":"Zihlschlacht-Sitterdorf", - "canton":"", + "canton":"Kanton Thurgau", "domain":"zihlschlacht-sitterdorf.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "zihlschlacht-sitterdorf.ch" + ], + "redirect":[], + "wikidata":[ + "zihlschlacht-sitterdorf.ch" + ], + "guess":[ + "zihlschlacht-sitterdorf.ch" + ] + }, + "resolve_flags":[] }, "4536":{ "bfs":"4536", "name":"Basadingen-Schlattingen", - "canton":"", - "domain":"basadingen-schlattingen.ch", + "canton":"Kanton Thurgau", + "domain":"pg-bs.ch", "mx":[ "mx.pg-bs.ch" ], - "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "spf":"v=spf1 mx -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "pg-bs.ch" + ] + }, + "resolve_flags":[] }, "4545":{ "bfs":"4545", "name":"Diessenhofen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"diessenhofen.ch", "mx":[ "diessenhofen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf.abxsec.com include:mandrillapp.com a:mail.ostendis.ch a:mta1.tg.ch a:mta2.tg.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf.abxsec.com include:mandrillapp.com a:mail.ostendis.ch a:mta1.tg.ch a:mta2.tg.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 include:spf.mandrillapp.com ~all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX diessenhofen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.diessenhofen.ch CNAME → selector1-diessenhofen-ch._domainkey.rathausdh.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.diessenhofen.ch CNAME → selector2-diessenhofen-ch._domainkey.rathausdh.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "diessenhofen.ch" + ], + "redirect":[], + "wikidata":[ + "diessenhofen.ch" + ], + "guess":[ + "diessenhofen.ch" + ] + }, + "resolve_flags":[] }, "4546":{ "bfs":"4546", - "name":"Schlatt", - "canton":"", + "name":"Schlatt (TG)", + "canton":"Kanton Thurgau", "domain":"schlatt.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schlatt.ch" + ], + "redirect":[], + "wikidata":[ + "schlatt.ch" + ], + "guess":[ + "schlatt.ch" + ] + }, + "resolve_flags":[] }, "4551":{ "bfs":"4551", "name":"Aadorf", - "canton":"", + "canton":"Kanton Thurgau", "domain":"aadorf.ch", "mx":[ "aadorf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"autodiscover.aadorf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aadorf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aadorf.ch" + ], + "redirect":[], + "wikidata":[ + "aadorf.ch" + ], + "guess":[ + "aadorf.ch" + ] + }, + "resolve_flags":[] }, "4561":{ "bfs":"4561", "name":"Felben-Wellhausen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"felben-wellhausen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abacuscity.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "felben-wellhausen.ch" + ], + "redirect":[], + "wikidata":[ + "felben-wellhausen.ch" + ], + "guess":[ + "felben-wellhausen.ch" + ] + }, + "resolve_flags":[] }, "4566":{ "bfs":"4566", "name":"Frauenfeld", - "canton":"", + "canton":"Kanton Thurgau", "domain":"frauenfeld.ch", "mx":[ "mail.stadtfrauenfeld.ch" ], "spf":"v=spf1 redirect:stadtfrauenfeld.ch", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "frauenfeld.ch" + ], + "guess":[ + "frauenfeld.ch" + ] + }, + "resolve_flags":[] }, "4571":{ "bfs":"4571", "name":"Gachnang", - "canton":"", + "canton":"Kanton Thurgau", "domain":"gachnang.ch", "mx":[ "gachnang-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:tg.ch include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gachnang-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gachnang.ch" + ], + "redirect":[], + "wikidata":[ + "gachnang.ch" + ], + "guess":[ + "gachnang.ch" + ] + }, + "resolve_flags":[] }, "4590":{ "bfs":"4590", "name":"Hüttlingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"huettlingen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "huettlingen.ch" + ], + "redirect":[], + "wikidata":[ + "huettlingen.ch" + ], + "guess":[ + "huettlingen.ch" + ] + }, + "resolve_flags":[] }, "4591":{ "bfs":"4591", @@ -25881,38 +91895,94 @@ "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "matzingen.ch" + ], + "redirect":[], + "wikidata":[ + "matzingen.ch" + ], + "guess":[ + "matzingen.ch" + ] + }, + "resolve_flags":[] }, "4601":{ "bfs":"4601", "name":"Neunforn", - "canton":"", + "canton":"Kanton Thurgau", "domain":"neunforn.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx a:webcms.ruf.ch include:spf1.egeko.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch include:spf1.egeko.ch include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "neunforn.ch" + ], + "redirect":[], + "wikidata":[ + "neunforn.ch" + ], + "guess":[ + "neunforn.ch" + ] + }, + "resolve_flags":[] }, "4606":{ "bfs":"4606", "name":"Stettfurt", - "canton":"", + "canton":"Kanton Thurgau", "domain":"stettfurt.ch", "mx":[ "mta1.abxsec.com", @@ -25920,488 +91990,1581 @@ ], "spf":"v=spf1 mx ip4:193.135.56.6 include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"abxsec", - "mx_asns":[ - 9108 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"abxsec", + "sources_detail":{ + "scrape":[ + "stettfurt.ch" + ], + "redirect":[], + "wikidata":[ + "stettfurt.ch" + ], + "guess":[ + "stettfurt.ch" + ] + }, + "resolve_flags":[] }, "4611":{ "bfs":"4611", "name":"Thundorf", - "canton":"", + "canton":"Kanton Thurgau", "domain":"thundorf.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:193.135.56.0/24 -all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch", - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "thundorf.ch" + ], + "redirect":[], + "wikidata":[ + "thundorf.ch" + ], + "guess":[ + "thundorf.ch" + ] + }, + "resolve_flags":[] }, "4616":{ "bfs":"4616", "name":"Uesslingen-Buch", - "canton":"", + "canton":"Kanton Thurgau", "domain":"uesslingen-buch.ch", "mx":[ "uesslingenbuch-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf-de.emailsignatures365.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf-de.emailsignatures365.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX uesslingenbuch-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.uesslingen-buch.ch CNAME → selector1-uesslingenbuch-ch02e._domainkey.uesslingenbuch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.uesslingen-buch.ch CNAME → selector2-uesslingenbuch-ch02e._domainkey.uesslingenbuch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "uesslingen-buch.ch" + ], + "guess":[ + "uesslingen-buch.ch" + ] + }, + "resolve_flags":[] }, "4621":{ "bfs":"4621", "name":"Warth-Weiningen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"warth-weiningen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "warth-weiningen.ch" + ], + "redirect":[], + "wikidata":[ + "warth-weiningen.ch" + ], + "guess":[ + "warth-weiningen.ch" + ] + }, + "resolve_flags":[] }, "4641":{ "bfs":"4641", "name":"Altnau", - "canton":"", + "canton":"Kanton Thurgau", "domain":"altnau.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:_spf.i-web.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "altnau.ch" + ], + "redirect":[], + "wikidata":[ + "altnau.ch" + ], + "guess":[ + "altnau.ch" + ] + }, + "resolve_flags":[] }, "4643":{ "bfs":"4643", "name":"Bottighofen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"bottighofen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.i-web.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bottighofen.ch" + ], + "redirect":[], + "wikidata":[ + "bottighofen.ch" + ], + "guess":[ + "bottighofen.ch" + ] + }, + "resolve_flags":[] }, "4646":{ "bfs":"4646", "name":"Ermatingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"ermatingen.ch", "mx":[ - "mta1.tg.ch", - "mta2.tg.ch" - ], - "spf":"v=spf1 ip4:193.135.56.6 include:_spf.sui-inter.net include:tg.ch include:spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:spf-westeu.emailsignatures365.com +mx +a ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:193.135.56.6 include:_spf.sui-inter.net include:tg.ch include:spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:spf-westeu.emailsignatures365.com +mx +a ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all v=spf1 ip4:20.93.157.195 ip4:13.93.42.39 ip4:20.86.165.118 ip4:40.69.19.60 ip4:137.116.240.241 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] + "ermatingen-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:_spf.sui-inter.net include:spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:spf-westeu.emailsignatures365.com +mx +a ~all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ermatingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ermatingen.ch" + ], + "redirect":[], + "wikidata":[ + "ermatingen.ch" + ], + "guess":[ + "ermatingen.ch" + ] + }, + "resolve_flags":[] }, "4651":{ "bfs":"4651", "name":"Gottlieben", - "canton":"", + "canton":"Kanton Thurgau", "domain":"gottlieben.ch", "mx":[ "mx.gottlieben.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:170.205.81.210 ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:170.205.81.210 ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "gottlieben.ch" + ], + "redirect":[], + "wikidata":[ + "gottlieben.ch" + ], + "guess":[ + "gottlieben.ch" + ] + }, + "resolve_flags":[] }, "4656":{ "bfs":"4656", "name":"Güttingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"guettingen.ch", "mx":[ "mx.guettingen.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 ip4:81.63.169.2 include:spf.protection.outlook.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 ip4:81.63.169.2 include:spf.protection.outlook.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "guettingen.ch" + ], + "redirect":[], + "wikidata":[ + "guettingen.ch" + ], + "guess":[ + "guettingen.ch" + ] + }, + "resolve_flags":[] }, "4666":{ "bfs":"4666", "name":"Kemmental", - "canton":"", + "canton":"Kanton Thurgau", "domain":"kemmental.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 include:spf.abacuscity.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch ip4:193.135.56.6 include:spf.abacuscity.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "kemmental.ch" + ], + "redirect":[], + "wikidata":[ + "kemmental.ch" + ], + "guess":[ + "kemmental.ch" + ] + }, + "resolve_flags":[] }, "4671":{ "bfs":"4671", "name":"Kreuzlingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"kreuzlingen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx a:mail.codx.ch include:spf.privasphere.com ip4:212.4.70.131 ip4:193.246.95.120 ip4:193.246.95.101 ip4:149.126.4.25 include:spf.protection.outlook.com include:_spf.abxsec.com include:skr.spf.ymc.host include:_spf.psm.knowbe4.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx a:mail.codx.ch include:spf.privasphere.com ip4:212.4.70.131 ip4:193.246.95.120 ip4:193.246.95.101 ip4:149.126.4.25 include:spf.protection.outlook.com include:_spf.abxsec.com include:skr.spf.ymc.host include:_spf.psm.knowbe4.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:185.110.152.8 ip4:185.110.153.8 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "kreuzlingen.ch" + ], + "redirect":[], + "wikidata":[ + "kreuzlingen.ch" + ], + "guess":[ + "kreuzlingen.ch", + "stadt-kreuzlingen.ch" + ] + }, + "resolve_flags":[] }, "4681":{ "bfs":"4681", "name":"Langrickenbach", - "canton":"", + "canton":"Kanton Thurgau", "domain":"langrickenbach.ch", "mx":[ "langrickenbach-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:193.135.56.6 ip4:213.55.169.132 include:spf.protection.outlook.com include:tg.ch include:spf.abxsec.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 ip4:213.55.169.132 include:spf.protection.outlook.com include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX langrickenbach-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15796 is Swiss ISP: Netzone AG" + } + ], + "sources_detail":{ + "scrape":[ + "langrickenbach.ch" + ], + "redirect":[], + "wikidata":[ + "langrickenbach.ch" + ], + "guess":[ + "langrickenbach.ch" + ] + }, + "resolve_flags":[] }, "4683":{ "bfs":"4683", "name":"Lengwil", - "canton":"", + "canton":"Kanton Thurgau", "domain":"lengwil.ch", "mx":[ "mail1.rzobt.ch", "mail2.rzobt.ch" ], "spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all v=spf1 ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:185.156.8.32/32 ip4:185.156.8.31/32 ip4:185.156.11.2/32 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.rzobt.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "lengwil.ch" + ], + "redirect":[], + "wikidata":[ + "lengwil.ch" + ], + "guess":[ + "lengwil.ch" + ] + }, + "resolve_flags":[] }, "4691":{ "bfs":"4691", "name":"Münsterlingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"muensterlingen.ch", "mx":[ "muensterlingen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:mx01.securemailbox.ch include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abxsec.com include:spf.eu.signature365.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:mx01.securemailbox.ch include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abxsec.com include:spf.eu.signature365.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:20.54.238.131 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.swhost.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muensterlingen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "muensterlingen.ch" + ], + "redirect":[], + "wikidata":[ + "muensterlingen.ch" + ], + "guess":[ + "muensterlingen.ch" + ] + }, + "resolve_flags":[] }, "4696":{ "bfs":"4696", "name":"Tägerwilen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"taegerwilen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 a mx ip4:193.135.56.0/24 ip4:193.135.56.6 ~all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.taegerwilen.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "taegerwilen.ch" + ], + "redirect":[], + "wikidata":[ + "taegerwilen.ch" + ], + "guess":[ + "taegerwilen.ch" + ] + }, + "resolve_flags":[] }, "4701":{ "bfs":"4701", "name":"Wäldi", - "canton":"", + "canton":"Kanton Thurgau", "domain":"waeldi.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "waeldi.ch" + ], + "redirect":[], + "wikidata":[ + "waeldi.ch" + ], + "guess":[ + "waeldi.ch" + ] + }, + "resolve_flags":[] }, "4711":{ "bfs":"4711", "name":"Affeltrangen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"affeltrangen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "affeltrangen.ch" + ], + "redirect":[], + "wikidata":[ + "affeltrangen.ch" + ], + "guess":[ + "affeltrangen.ch" + ] + }, + "resolve_flags":[] }, "4716":{ "bfs":"4716", "name":"Bettwiesen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"bettwiesen.ch", "mx":[ "bettwiesen.in.tmes.trendmicro.eu" ], "spf":"v=spf1 include:spf.tmes.trendmicro.eu include:spf.protection.outlook.com ip4:109.205.200.45 ip4:193.135.56.6 mx include:spf.abxsec.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.tmes.trendmicro.eu include:spf.protection.outlook.com ip4:109.205.200.45 ip4:193.135.56.6 mx include:spf.abxsec.com ~all v=spf1 ip4:18.185.115.0/25 ip4:18.185.115.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:3.72.196.143 ip4:18.156.0.20 ip4:35.156.245.132 ip4:18.208.22.124 ip4:18.208.22.125 ip4:18.96.32.128/27 ip6:2a05:d014:10e:d900::/60 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "gateway":"trendmicro", - "mx_asns":[ - 16509 + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"trendmicro", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bettwiesen.ch" + ], + "guess":[ + "bettwiesen.ch" + ] + }, + "resolve_flags":[] }, "4721":{ "bfs":"4721", "name":"Bichelsee-Balterswil", - "canton":"", + "canton":"Kanton Thurgau", "domain":"bichelsee-balterswil.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bichelsee-balterswil.ch" + ], + "redirect":[], + "wikidata":[ + "bichelsee-balterswil.ch" + ], + "guess":[ + "bichelsee-balterswil.ch" + ] + }, + "resolve_flags":[] }, "4723":{ "bfs":"4723", "name":"Braunau", - "canton":"", + "canton":"Kanton Thurgau", "domain":"braunau.ch", "mx":[ "braunau-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:46.4.250.97 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:46.4.250.97 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX braunau-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.braunau.ch CNAME → selector1-braunau-ch._domainkey.gmdbraunau.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.braunau.ch CNAME → selector2-braunau-ch._domainkey.gmdbraunau.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "braunau.ch" + ], + "redirect":[], + "wikidata":[ + "braunau.ch" + ], + "guess":[ + "braunau.ch" + ] + }, + "resolve_flags":[] }, "4724":{ "bfs":"4724", "name":"Eschlikon", - "canton":"", + "canton":"Kanton Thurgau", "domain":"eschlikon.ch", "mx":[ "eschlikon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 include:_spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 include:_spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eschlikon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.eschlikon.ch CNAME → selector1-eschlikon-ch._domainkey.gmdeschlikon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.eschlikon.ch CNAME → selector2-eschlikon-ch._domainkey.gmdeschlikon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eschlikon.ch" + ], + "guess":[ + "eschlikon.ch" + ] + }, + "resolve_flags":[] }, "4726":{ "bfs":"4726", "name":"Fischingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"fischingen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 include:tg.ch include:spf1.egeko.ch include:spf.abxsec.com include:_spf.sui-inter.net +mx +a ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:tg.ch include:spf1.egeko.ch include:spf.abxsec.com include:_spf.sui-inter.net +mx +a ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fischingen.ch" + ], + "guess":[ + "fischingen.ch" + ] + }, + "resolve_flags":[] }, "4741":{ "bfs":"4741", "name":"Lommis", - "canton":"", + "canton":"Kanton Thurgau", "domain":"lommis.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 a mx include:spf.abxsec.com include:tg.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx include:spf.abxsec.com include:tg.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lommis.ch" + ], + "redirect":[], + "wikidata":[ + "lommis.ch" + ], + "guess":[ + "lommis.ch" + ] + }, + "resolve_flags":[] }, "4746":{ "bfs":"4746", - "name":"Münchwilen", - "canton":"", + "name":"Münchwilen (TG)", + "canton":"Kanton Thurgau", "domain":"muenchwilen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muenchwilen.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "muenchwilen.ch" + ] + }, + "resolve_flags":[] }, "4751":{ "bfs":"4751", - "name":"Rickenbach", - "canton":"", + "name":"Rickenbach (TG)", + "canton":"Kanton Thurgau", "domain":"rickenbach-tg.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:spf.protection.cyon.net -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:spf.protection.cyon.net -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] - }, - "4752":{ - "bfs":"4752", - "name":"Wilen", - "canton":"", - "domain":"wilen.ch", - "mx":[ - "mta1.tg.ch", - "mta2.tg.ch" - ], - "spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rickenbach-tg.ch" + ], + "guess":[ + "rickenbach.ch" + ] + }, + "resolve_flags":[] }, "4756":{ "bfs":"4756", "name":"Schönholzerswilen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"schoenholzerswilen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.i-web.ch ~all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "schoenholzerswilen.ch" + ], + "redirect":[], + "wikidata":[ + "schoenholzerswilen.ch" + ], + "guess":[ + "schoenholzerswilen.ch" + ] + }, + "resolve_flags":[] }, "4761":{ "bfs":"4761", "name":"Sirnach", - "canton":"", + "canton":"Kanton Thurgau", "domain":"sirnach.ch", "mx":[ "mta1.abxsec.com", @@ -26409,534 +93572,1612 @@ ], "spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.0/24 a:mail.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.0/24 a:mail.i-web.ch -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], "gateway":"abxsec", - "mx_asns":[ - 9108 - ] + "sources_detail":{ + "scrape":[ + "sirnach.ch" + ], + "redirect":[], + "wikidata":[ + "sirnach.ch" + ], + "guess":[ + "sirnach.ch" + ] + }, + "resolve_flags":[] }, "4776":{ "bfs":"4776", "name":"Tobel-Tägerschen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"tobel-taegerschen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.16 include:spf.escapenet.ch include:egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.16 include:spf.escapenet.ch include:egeko.ch -all v=spf1 ip4:193.9.122.0/24 ip6:2a05:d014:564:200::/56 include:_spf.sui-inter.net -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "tobel-taegerschen.ch" + ], + "guess":[ + "tobel-taegerschen.ch" + ] + }, + "resolve_flags":[] }, "4781":{ "bfs":"4781", "name":"Wängi", - "canton":"", + "canton":"Kanton Thurgau", "domain":"waengi.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:sui-inter.net include:dxb.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:sui-inter.net include:dxb.ch ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 include:_spf.sui-inter.net +mx +a -all v=spf1 +a +mx include:spf.dxb-hosting.ch include:spf.smtp.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip6:2001:1680:101:abc::1 ip6:2001:1680:101:3c7::1 ip4:83.150.38.164 ip4:82.220.39.205 ip4:82.220.39.132 ip4:83.150.38.161 ip4:83.150.38.163 ip4:83.150.38.167 ip4:185.223.31.127 include:spf.protection.outlook.com +a +mx -all v=spf1 ip4:192.40.160.0/19 ip4:74.91.80.0/20 include:mktomail.com ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 ip4:199.15.212.0/22 ip4:72.3.185.0/24 ip4:72.32.154.0/24 ip4:72.32.217.0/24 ip4:72.32.243.0/24 ip4:94.236.119.0/26 ip4:37.188.97.188/32 ip4:185.28.196.0/22 ip4:192.28.128.0/18 ip4:103.237.104.0/22 ip4:130.248.172.0/24 ip4:130.248.173.0/24 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "waengi.ch" + ], + "guess":[ + "waengi.ch" + ] + }, + "resolve_flags":[] }, "4786":{ "bfs":"4786", - "name":"Wilen", - "canton":"", + "name":"Wilen (TG)", + "canton":"Kanton Thurgau", "domain":"wilen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "wilen.ch" + ], + "redirect":[], + "wikidata":[ + "wilen.ch" + ], + "guess":[ + "wilen.ch" + ] + }, + "resolve_flags":[] }, "4791":{ "bfs":"4791", "name":"Wuppenau", - "canton":"", + "canton":"Kanton Thurgau", "domain":"wuppenau.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "wuppenau.ch" + ], + "redirect":[], + "wikidata":[ + "wuppenau.ch" + ], + "guess":[ + "wuppenau.ch" + ] + }, + "resolve_flags":[] }, "4801":{ "bfs":"4801", "name":"Berlingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"berlingen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "berlingen.ch" + ], + "guess":[ + "berlingen.ch" + ] + }, + "resolve_flags":[] }, "4806":{ "bfs":"4806", "name":"Eschenz", - "canton":"", + "canton":"Kanton Thurgau", "domain":"eschenz.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eschenz.ch" + ], + "redirect":[], + "wikidata":[ + "eschenz.ch" + ], + "guess":[ + "eschenz.ch" + ] + }, + "resolve_flags":[] }, "4811":{ "bfs":"4811", "name":"Herdern", - "canton":"", + "canton":"Kanton Thurgau", "domain":"herdern.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "herdern.ch" + ], + "redirect":[], + "wikidata":[ + "herdern.ch" + ], + "guess":[ + "herdern.ch" + ] + }, + "resolve_flags":[] }, "4816":{ "bfs":"4816", "name":"Homburg", - "canton":"", + "canton":"Kanton Thurgau", "domain":"homburg.ch", "mx":[ "mail.homburg.ch" ], "spf":"v=spf1 mx include:tg.ch", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mail.homburg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "homburg.ch" + ], + "redirect":[], + "wikidata":[ + "homburg.ch" + ], + "guess":[ + "homburg.ch" + ] + }, + "resolve_flags":[] }, "4821":{ "bfs":"4821", "name":"Hüttwilen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"huettwilen.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:egeko.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:egeko.ch -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:spf1.egeko.ch include:spfhelik.ategra.ch include:spf.privasphere.com mx -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:49.13.159.203 ip4:80.254.182.95 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "huettwilen.ch" + ], + "redirect":[], + "wikidata":[ + "huettwilen.ch" + ], + "guess":[ + "huettwilen.ch" + ] + }, + "resolve_flags":[] }, "4826":{ "bfs":"4826", "name":"Mammern", - "canton":"", + "canton":"Kanton Thurgau", "domain":"mammern.ch", "mx":[ "mx1.rufcloud.ch", "mx2.rufcloud.ch" ], "spf":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all", - "provider":"swiss-isp", - "spf_resolved":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"owa.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "mammern.ch" + ], + "redirect":[], + "wikidata":[ + "mammern.ch" + ], + "guess":[ + "mammern.ch" + ] + }, + "resolve_flags":[] }, "4831":{ "bfs":"4831", "name":"Müllheim", - "canton":"", + "canton":"Kanton Thurgau", "domain":"muellheim.ch", "mx":[ "mail.muellheim.ch" ], "spf":"v=spf1 +a +mx include:spf.customer.swiss-egov.cloud include:_spf.sui-inter.net include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx include:spf.customer.swiss-egov.cloud include:_spf.sui-inter.net include:spf.abxsec.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mail.muellheim.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "muellheim.ch" + ], + "guess":[ + "muellheim.ch" + ] + }, + "resolve_flags":[] }, "4841":{ "bfs":"4841", "name":"Pfyn", - "canton":"", + "canton":"Kanton Thurgau", "domain":"pfyn.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:_spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pfyn.ch" + ], + "redirect":[], + "wikidata":[ + "pfyn.ch" + ], + "guess":[ + "pfyn.ch" + ] + }, + "resolve_flags":[] }, "4846":{ "bfs":"4846", "name":"Raperswilen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"raperswilen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "raperswilen.ch" + ], + "redirect":[], + "wikidata":[ + "raperswilen.ch" + ], + "guess":[ + "raperswilen.ch" + ] + }, + "resolve_flags":[] }, "4851":{ "bfs":"4851", "name":"Salenstein", - "canton":"", + "canton":"Kanton Thurgau", "domain":"salenstein.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch", - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "salenstein.ch" + ], + "redirect":[], + "wikidata":[ + "salenstein.ch" + ], + "guess":[ + "salenstein.ch" + ] + }, + "resolve_flags":[] }, "4864":{ "bfs":"4864", "name":"Steckborn", - "canton":"", + "canton":"Kanton Thurgau", "domain":"steckborn.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 ip4:193.33.128.155 +a +mx +ip4:193.33.128.141 +include:spf.mandrillapp.com +include:relay.mailchannels.net include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:193.33.128.155 +a +mx +ip4:193.33.128.141 +include:spf.mandrillapp.com +include:relay.mailchannels.net include:_spf.i-web.ch ~all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch", - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "steckborn.ch" + ], + "redirect":[], + "wikidata":[ + "steckborn.ch" + ], + "guess":[ + "steckborn.ch" + ] + }, + "resolve_flags":[] }, "4871":{ "bfs":"4871", "name":"Wagenhausen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"wagenhausen.ch", "mx":[ "mx.wagenhausen.ch" ], "spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mx.wagenhausen.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wagenhausen.ch" + ], + "redirect":[], + "wikidata":[ + "wagenhausen.ch" + ], + "guess":[ + "wagenhausen.ch" + ] + }, + "resolve_flags":[] }, "4881":{ "bfs":"4881", "name":"Amlikon-Bissegg", - "canton":"", + "canton":"Kanton Thurgau", "domain":"amlikon-bissegg.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf1.egeko.ch ip4:193.135.56.6 -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf1.egeko.ch ip4:193.135.56.6 -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:159.144.38.58 ip4:159.144.36.112 ip4:159.144.218.138 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "amlikon-bissegg.ch" + ], + "redirect":[], + "wikidata":[ + "amlikon-bissegg.ch" + ], + "guess":[ + "amlikon-bissegg.ch" + ] + }, + "resolve_flags":[] }, "4891":{ "bfs":"4891", - "name":"Berg", - "canton":"", + "name":"Berg (TG)", + "canton":"Kanton Thurgau", "domain":"berg-tg.ch", "mx":[ "gmd-berg.in.tmes.trendmicro.eu" ], "spf":"v=spf1 +a ip4:185.230.20.53 include:spf.yop.ch include:spf.tmes.trendmicro.com include:spf.abxsec.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a ip4:185.230.20.53 include:spf.yop.ch include:spf.tmes.trendmicro.com include:spf.abxsec.com include:spf.protection.outlook.com -all v=spf1 ip4:88.99.104.177 ip6:2a01:4f8:10a:18f0::2 ip4:142.132.151.148 ip4:176.9.125.122 ip6:2a01:4f8:151:8471::2 ip4:116.202.134.208 ip4:162.55.89.17 ip4:128.140.61.185 -all v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:107.22.223.18 ip4:52.70.252.86 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.72.196.143 ip4:54.146.4.63 ip4:54.174.82.86 ip6:2600:1f18:42fe:5c00::/60 ip6:2a05:d014:10e:d900::/60 ip6:2406:da1c:1ef6:1c00::/60 include:spfc.tmes.trendmicro.com ~all v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:15.168.56.0/25 ip4:15.168.49.64/26 ip4:15.168.56.128/26 ip4:18.97.0.160/27 ip4:18.96.32.128/27 ip6:2406:da14:194d:a200::/60 ip6:2406:da18:4ed:be00::/60 ~all", - "gateway":"trendmicro", - "mx_asns":[ - 16509 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"trendmicro", + "sources_detail":{ + "scrape":[ + "143.ch", + "alz.ch", + "atlantis-kita-hort.ch", + "azweinfelden.ch", + "babysits.ch", + "bbm-tg.ch", + "berg-tg.ch", + "bergerzentrum.ch", + "bruennliacker.ch", + "christ-in-us.org", + "eg-kehlhof.ch", + "evang-berg.ch", + "familien-zentrum.ch", + "familienplattform-ostschweiz.ch", + "forstrevier-mittelthurgau.ch", + "grunliberale.ch", + "hpsm.ch", + "kabag.ch", + "kath-berg.ch", + "kinderkrippe-calimero.ch", + "koibw.ch", + "kulturpool-mittelthurgau.ch", + "kvatg.ch", + "ludo-buerglen.ch", + "lungenliga-tg.ch", + "mzdberg.ch", + "nrpag.ch", + "perspektive-tg.ch", + "post.ch", + "projuventute-sh-tg.ch", + "raiffeisen.ch", + "regiobiblio-weinfelden.ch", + "rheumaliga.ch", + "scberg.ch", + "selbsthilfe-tg.ch", + "spielchischte.net", + "spitex-mittelthurgau.ch", + "stgag.ch", + "tageo.ch", + "tagesfamilien-motg.ch", + "tbweinfelden.ch", + "tcberg.ch", + "tertianum.ch", + "tg.ch", + "tg.prosenectute.ch", + "thalmannbestattungsdienste.ch", + "vsbb.ch", + "weinfelden.ch" + ], + "redirect":[], + "wikidata":[ + "berg-tg.ch" + ], + "guess":[ + "berg.ch", + "gemeinde-berg.ch" + ] + }, + "resolve_flags":[] }, "4901":{ "bfs":"4901", "name":"Birwinken", - "canton":"", + "canton":"Kanton Thurgau", "domain":"birwinken.ch", "mx":[ "mail100.rizag.ch" ], "spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all v=spf1 ip4:46.140.146.20 ip4:46.140.146.21 ip4:46.140.146.22 ip4:46.140.146.68 ip4:62.2.255.205 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 6730 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "birwinken.ch" + ], + "redirect":[], + "wikidata":[ + "birwinken.ch" + ], + "guess":[ + "birwinken.ch" + ] + }, + "resolve_flags":[] }, "4911":{ "bfs":"4911", - "name":"Bürglen", - "canton":"", + "name":"Bürglen (TG)", + "canton":"Kanton Thurgau", "domain":"buerglen-tg.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "buerglen-tg.ch" + ], + "redirect":[], + "wikidata":[ + "buerglen-tg.ch" + ], + "guess":[ + "buerglen.ch" + ] + }, + "resolve_flags":[] }, "4921":{ "bfs":"4921", "name":"Bussnang", - "canton":"", + "canton":"Kanton Thurgau", "domain":"bussnang.ch", "mx":[ "mx.bussnang.ch" ], "spf":"v=spf1 mx include:tg.ch include:spf.protection.cyon.net include:spf.abxsec.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:spf.protection.cyon.net include:spf.abxsec.com -all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mx.bussnang.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bussnang.ch" + ], + "redirect":[], + "wikidata":[ + "bussnang.ch" + ], + "guess":[ + "bussnang.ch" + ] + }, + "resolve_flags":[] }, "4941":{ "bfs":"4941", "name":"Märstetten", - "canton":"", + "canton":"Kanton Thurgau", "domain":"maerstetten.ch", "mx":[ "maerstetten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:193.135.56.6 ip4:34.65.211.248 ip4:81.63.140.74 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:193.135.56.6 ip4:34.65.211.248 ip4:81.63.140.74 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX maerstetten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.maerstetten.ch CNAME → selector1-maerstetten-ch._domainkey.gmdmaerstetten.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.maerstetten.ch CNAME → selector2-maerstetten-ch._domainkey.gmdmaerstetten.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"google", + "weight":0.08, + "detail":"SPF ip4/a ASN 396982 matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "maerstetten.ch" + ], + "redirect":[], + "wikidata":[ + "maerstetten.ch" + ], + "guess":[ + "maerstetten.ch", + "mrstetten.ch" + ] + }, + "resolve_flags":[] }, "4946":{ "bfs":"4946", "name":"Weinfelden", - "canton":"", + "canton":"Kanton Thurgau", "domain":"weinfelden.ch", "mx":[ "weinfelden-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com ip4:193.135.56.6 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com ip4:193.135.56.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.246.95.96/27 ip6:2A02:C382:0:8007::/64 ip4:193.246.95.252 ip4:160.63.80.14/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX weinfelden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.weinfelden.ch CNAME → selector1-weinfelden-ch._domainkey.gmdweinfelden.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.weinfelden.ch CNAME → selector2-weinfelden-ch._domainkey.gmdweinfelden.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "weinfelden.ch" + ], + "guess":[ + "weinfelden.ch" + ] + }, + "resolve_flags":[] }, "4951":{ "bfs":"4951", "name":"Wigoltingen", - "canton":"", + "canton":"Kanton Thurgau", "domain":"wigoltingen.ch", "mx":[ "mta1.tg.ch", "mta2.tg.ch" ], "spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:tg.ch include:_spf.i-web.ch ~all v=spf1 ip4:161.78.14.101 ip4:161.78.3.250 mx include:spf.privasphere.com include:spf.protection.outlook.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverknd.tg.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "wigoltingen.ch" + ], + "redirect":[], + "wikidata":[ + "wigoltingen.ch" + ], + "guess":[ + "wigoltingen.ch" + ] + }, + "resolve_flags":[] }, "5001":{ "bfs":"5001", "name":"Arbedo-Castione", - "canton":"", + "canton":"Kanton Tessin", "domain":"arbedocastione.ch", "mx":[ "mail.arbedocastione.ch" ], "spf":"v=spf1 a:lin24.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:89.251.240.236 ip4:213.133.233.20 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin24.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:89.251.240.236 ip4:213.133.233.20 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 198172 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "arbedocastione.ch" + ], + "redirect":[], + "wikidata":[ + "arbedocastione.ch" + ], + "guess":[ + "arbedocastione.ch" + ] + }, + "resolve_flags":[] }, "5002":{ "bfs":"5002", "name":"Bellinzona", - "canton":"", + "canton":"Kanton Tessin", "domain":"bellinzona.ch", "mx":[ "mail2.bellinzona.ch" ], "spf":"v=spf1 mx ptr ip4:89.251.240.236 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.13 include:_asms6spf.assolo.net ip4:213.133.224.155 ip4:178.23.174.28 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:54.229.2.165 ip4:52.17.45.98 ip4:52.16.190.81 ip4:52.30.130.201 ip4:213.133.224.78 ip4:62.55.182.68/32 include:_spf.bellinzona.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr ip4:89.251.240.236 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.13 include:_asms6spf.assolo.net ip4:213.133.224.155 ip4:178.23.174.28 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:54.229.2.165 ip4:52.17.45.98 ip4:52.16.190.81 ip4:52.30.130.201 ip4:213.133.224.78 ip4:62.55.182.68/32 include:_spf.bellinzona.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com -all v=spf1 ip4:213.133.224.19 ip4:213.133.224.59 ip4:213.133.224.90 ip4:213.133.224.91 ip4:213.133.224.83 ~all v=spf1 ip4:178.23.174.19 ip4:178.23.174.18 ip4:178.23.174.17 ip4:178.23.174.16 ip4:62.55.182.68 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all", - "mx_asns":[ - 198172 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"aws", + "weight":0.08, + "detail":"SPF ip4/a ASN 16509 matches aws" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bellinzona.ch" + ], + "guess":[ + "bellinzona.ch" + ] + }, + "resolve_flags":[] }, "5003":{ "bfs":"5003", "name":"Cadenazzo", - "canton":"", + "canton":"Kanton Tessin", "domain":"cadenazzo.ch", "mx":[ "mail.cadenazzo.ch" ], "spf":"v=spf1 mx ptr include:spf.protection.outlook.com ip4:89.251.240.236 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr include:spf.protection.outlook.com ip4:89.251.240.236 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 198172 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "cadenazzo.ch" + ], + "redirect":[], + "wikidata":[ + "cadenazzo.ch" + ], + "guess":[ + "cadenazzo.ch" + ] + }, + "resolve_flags":[] }, "5009":{ "bfs":"5009", "name":"Isone", - "canton":"", + "canton":"Kanton Tessin", "domain":"isone.ch", "mx":[ "isone-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:lin24.assolo.net ip4:213.133.224.180 include:_asms10spf.assolo.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin24.assolo.net ip4:213.133.224.180 include:_asms10spf.assolo.net include:spf.protection.outlook.com -all v=spf1 ip4:213.133.224.51 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX isone-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "edu.ti.ch", + "isone.ch", + "isuav.ch" + ], + "redirect":[], + "wikidata":[ + "isone.ch" + ], + "guess":[ + "isone.ch" + ] + }, + "resolve_flags":[] }, "5010":{ "bfs":"5010", - "name":"Lumino TI", + "name":"Lumino", "canton":"Kanton Tessin", "domain":"lumino.ch", "mx":[ @@ -26944,17 +95185,81 @@ ], "spf":"v=spf1 mx a include:CustSPF.tinext.com ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.64 ip4:178.23.174.0/27 ip4:213.133.224.40 ip4:213.133.224.18 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a include:CustSPF.tinext.com ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.64 ip4:178.23.174.0/27 ip4:213.133.224.40 ip4:213.133.224.18 include:spf.protection.outlook.com -all v=spf1 ip4:46.21.25.0/24 include:spf.iway.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lumino-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lumino.ch" + ], + "redirect":[], + "wikidata":[ + "lumino.ch" + ], + "guess":[ + "lumino.ch" + ] + }, + "resolve_flags":[] }, "5017":{ "bfs":"5017", - "name":"Sant’Antonino TI", + "name":"Sant'Antonino", "canton":"Kanton Tessin", "domain":"santonino.ch", "mx":[ @@ -26962,168 +95267,545 @@ ], "spf":"v=spf1 mx a ip4:89.251.240.236 ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"independent", - "mx_asns":[ - 198172 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "santonino.ch" + ], + "redirect":[], + "wikidata":[ + "santonino.ch" + ], + "guess":[ + "santantonino.ch" + ] + }, + "resolve_flags":[] }, "5048":{ "bfs":"5048", "name":"Acquarossa", - "canton":"", + "canton":"Kanton Tessin", "domain":"acquarossa.ch", "mx":[ "acquarossa-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX acquarossa-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "acquarossa.ch" + ], + "redirect":[], + "wikidata":[ + "acquarossa.ch" + ], + "guess":[ + "acquarossa.ch" + ] + }, + "resolve_flags":[] }, "5049":{ "bfs":"5049", "name":"Blenio", - "canton":"", + "canton":"Kanton Tessin", "domain":"comuneblenio.ch", "mx":[ "comuneblenio-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.133.224.103 ip4:213.133.224.105 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.133.224.103 ip4:213.133.224.105 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX comuneblenio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "comuneblenio.ch" + ], + "redirect":[], + "wikidata":[ + "comuneblenio.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5050":{ "bfs":"5050", "name":"Serravalle", - "canton":"", + "canton":"Kanton Tessin", "domain":"serravalle.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:89.207.237.84 ip4:213.133.224.180 ip4:213.133.224.209 ip4:213.133.224.68 ip4:178.23.174.0/27 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:89.207.237.84 ip4:213.133.224.180 ip4:213.133.224.209 ip4:213.133.224.68 ip4:178.23.174.0/27 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "distrettoblenio.ch", + "serravalle.ch" + ], + "redirect":[], + "wikidata":[ + "serravalle.ch" + ], + "guess":[ + "serravalle.ch" + ] + }, + "resolve_flags":[] }, "5061":{ "bfs":"5061", "name":"Airolo", - "canton":"", - "domain":"comuneairolo.ch", - "mx":[ - "mx.swizzonic.email" - ], - "spf":"v=spf1 include:spf.webapps.net ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.webapps.net ~all v=spf1 a include:spf1.webapps.net include:spf2.webapps.net ~all v=spf1 ip4:81.88.48.32/27 ip4:81.88.50.224/27 ip4:81.88.54.64/27 ip4:81.88.55.96/27 ip4:81.88.56.0/27 ip4:81.88.62.160/27 ip4:81.88.63.128/27 ip4:195.7.249.16/29 include:dominiando.email ~all v=spf1 ip4:195.110.101.32/27 ip4:195.110.122.160/27 ip4:195.110.123.0/27 ip4:185.2.4.0/22 ip4:81.88.49.224/27 ip4:195.7.249.29 ip4:81.88.52.0/23 ip4:185.110.66.0/24 ip4:213.158.94.0/23 ip4:81.88.54.154/32 ip4:3.73.27.108 ip4:3.125.172.46 ~all v=spf1 mx ip4:81.88.54.130 ip4:81.88.54.152/30 ~all", - "mx_asns":[ - 39729 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscoverredirect.liveapp.ch" - } + "canton":"Kanton Tessin", + "domain":"airolo.ch", + "mx":[ + "airolo-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX airolo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.airolo.ch CNAME → selector1-airolo-ch._domainkey.municipioairolo.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.airolo.ch CNAME → selector2-airolo-ch._domainkey.municipioairolo.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "airolo.ch" + ], + "redirect":[], + "wikidata":[ + "comuneairolo.ch" + ], + "guess":[ + "airolo.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "5063":{ "bfs":"5063", "name":"Bedretto", - "canton":"", + "canton":"Kanton Tessin", "domain":"bedretto.ch", "mx":[ "bedretto.ch" ], "spf":"v=spf1 ip4:5.182.248.166 include:tizoo.com +a +mx +ip4:212.147.66.228 +ip4:89.207.237.84 +ip4:178.23.174.0/27 ~all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:5.182.248.166 include:tizoo.com +a +mx +ip4:212.147.66.228 +ip4:89.207.237.84 +ip4:178.23.174.0/27 ~all v=spf1 ip4:212.147.66.228 +a +mx ip4:5.182.248.3 ip4:5.182.248.4 ip4:5.182.248.140 ip4:5.182.248.144 ip4:5.182.248.148 ip4:5.182.248.151 ip4:5.182.248.160 ip4:5.182.248.166 ip4:5.182.248.176 ip4:5.182.248.183 ip4:5.182.248.132 ip4:212.147.66.247 ip4:212.147.66.245 ip4:212.147.66.246 ip4:5.182.248.11 ~all", - "mx_asns":[ - 209042 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "bedretto.ch" + ], + "redirect":[], + "wikidata":[ + "bedretto.ch" + ], + "guess":[ + "bedretto.ch" + ] + }, + "resolve_flags":[] }, "5071":{ "bfs":"5071", "name":"Dalpe", - "canton":"", + "canton":"Kanton Tessin", "domain":"dalpe.ch", "mx":[ "dalpe.ch" ], "spf":"v=spf1 a mx ip4:89.207.237.84 ip4:178.23.174.0/27 include:_spf.server4all.de ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:89.207.237.84 ip4:178.23.174.0/27 include:_spf.server4all.de ~all v=spf1 include:_netblocks-v4.server4all.de ~all v=spf1 ip4:212.48.119.0/24 ip4:212.48.120.0/24 ip4:212.48.127.0/24 ip4:212.53.140.0/24 ip4:212.53.160.0/24 ip4:212.72.171.0/24 ip4:212.72.182.0/24 ip4:212.72.183.0/24 ip4:212.72.184.0/24 ip4:212.53.165.0/24 ~all", - "mx_asns":[ - 8893 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "dalpe.ch" + ], + "guess":[ + "dalpe.ch" + ] + }, + "resolve_flags":[] }, "5072":{ "bfs":"5072", "name":"Faido", - "canton":"", + "canton":"Kanton Tessin", "domain":"faido.ch", "mx":[ "mail.faido.ch" ], "spf":"v=spf1 mx ptr include:spf.protection.outlook.com ip4:89.251.240.236 ip4:178.23.174.28 ip4:178.23.174.19 ip4:178.23.174.18 ip4:178.23.174.17 ip4:178.23.174.16 ip4:178.23.174.0/27 ip4:89.207.237.84/32 ip4:213.133.224.98 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ptr include:spf.protection.outlook.com ip4:89.251.240.236 ip4:178.23.174.28 ip4:178.23.174.19 ip4:178.23.174.18 ip4:178.23.174.17 ip4:178.23.174.16 ip4:178.23.174.0/27 ip4:89.207.237.84/32 ip4:213.133.224.98 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 198172 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "faido.ch" + ], + "guess":[ + "faido.ch" + ] + }, + "resolve_flags":[] }, "5073":{ "bfs":"5073", "name":"Giornico", - "canton":"", + "canton":"Kanton Tessin", "domain":"giornico.ch", "mx":[ "asms.assolo.net" ], "spf":"v=spf1 a include:_asms6spf.assolo.net ip4:213.133.224.99 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.13 ip4:213.133.224.14 ip4:213.133.224.16 ip4:213.133.224.5 -all", "provider":"independent", - "spf_resolved":"v=spf1 a include:_asms6spf.assolo.net ip4:213.133.224.99 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.13 ip4:213.133.224.14 ip4:213.133.224.16 ip4:213.133.224.5 -all v=spf1 ip4:213.133.224.19 ip4:213.133.224.59 ip4:213.133.224.90 ip4:213.133.224.91 ip4:213.133.224.83 ~all", - "mx_asns":[ - 51423 - ], - "autodiscover":{ - "autodiscover_cname":"wasms.assolo.net" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "giornico.ch" + ], + "redirect":[], + "wikidata":[ + "giornico.ch" + ], + "guess":[ + "giornico.ch" + ] + }, + "resolve_flags":[] }, "5076":{ "bfs":"5076", "name":"Personico", - "canton":"", + "canton":"Kanton Tessin", "domain":"personico.ch", "mx":[ "personico-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.62.135.38 include:spf.protection.outlook.com include:antispam01.moresi.com include:antispam02.moresi.com include:antispam03.moresi.com include:antispam04.moresi.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.62.135.38 include:spf.protection.outlook.com include:antispam01.moresi.com include:antispam02.moresi.com include:antispam03.moresi.com include:antispam04.moresi.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX personico-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "personico.ch" + ], + "redirect":[], + "wikidata":[ + "personico.ch" + ], + "guess":[ + "personico.ch" + ] + }, + "resolve_flags":[] }, "5077":{ "bfs":"5077", @@ -27135,42 +95817,123 @@ ], "spf":"v=spf1 include:_asms7spf.assolo.net ip4:213.133.224.143 ip4:213.133.224.79 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_asms7spf.assolo.net ip4:213.133.224.143 ip4:213.133.224.79 -all v=spf1 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.18 ip4:213.133.224.13 ~all", - "mx_asns":[ - 51423 - ], - "autodiscover":{ - "autodiscover_cname":"wasms.assolo.net" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "pollegio.ch" + ], + "redirect":[], + "wikidata":[ + "pollegio.ch" + ], + "guess":[ + "pollegio.ch" + ] + }, + "resolve_flags":[] }, "5079":{ "bfs":"5079", "name":"Quinto", - "canton":"", + "canton":"Kanton Tessin", "domain":"tiquinto.ch", "mx":[ "tiquinto-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:83.166.142.218 include:servers.mcsv.net ?all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:83.166.142.218 include:servers.mcsv.net ?all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all", - "mx_asns":[ - 8075 - ] + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tiquinto-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "tiquinto.ch" + ], + "redirect":[], + "wikidata":[ + "tiquinto.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5091":{ "bfs":"5091", "name":"Ascona", - "canton":"", + "canton":"Kanton Tessin", "domain":"ascona.ch", "mx":[ "asmav.assolo.net" ], "spf":"v=spf1 a:asmav.assolo.net a:lin12.assolo.net a:asms2.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ~all", "provider":"independent", - "mx_asns":[ - 51423 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "ascona.ch" + ], + "redirect":[], + "wikidata":[ + "ascona.ch" + ], + "guess":[ + "ascona.ch" + ] + }, + "resolve_flags":[] }, "5096":{ "bfs":"5096", @@ -27182,13 +95945,75 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brione-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brione.ch" + ], + "redirect":[], + "wikidata":[ + "brione.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5097":{ "bfs":"5097", @@ -27200,13 +96025,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com a:asmav.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:195.190.166.214 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:asmav.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:195.190.166.214 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brissago-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brissago.ch" + ], + "redirect":[], + "wikidata":[ + "brissago.ch" + ], + "guess":[ + "brissago.ch" + ] + }, + "resolve_flags":[] }, "5108":{ "bfs":"5108", @@ -27218,46 +96107,211 @@ ], "spf":"v=spf1 mx include:_asms4spf.assolo.net include:spf.protection.outlook.com a:lin31.assolo.net a:lin8.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:_asms4spf.assolo.net include:spf.protection.outlook.com a:lin31.assolo.net a:lin8.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all v=spf1 a:asms4.assolo.net ip4:213.133.224.22 a:asms8.assolo.net ip4:213.133.224.213 ip4:213.133.224.13 ip4:213.133.234.32 ip4:213.133.224.24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gordola-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gordola.ch" + ], + "redirect":[], + "wikidata":[ + "gordola.ch" + ], + "guess":[ + "gordola.ch" + ] + }, + "resolve_flags":[] }, "5112":{ "bfs":"5112", "name":"Lavertezzo", - "canton":"", + "canton":"Kanton Tessin", "domain":"lavertezzo.ch", "mx":[ "lavertezzo-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lavertezzo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lavertezzo.ch" + ], + "guess":[ + "lavertezzo.ch" + ] + }, + "resolve_flags":[] }, "5113":{ "bfs":"5113", "name":"Locarno", - "canton":"", + "canton":"Kanton Tessin", "domain":"locarno.ch", "mx":[ "mx42.locarno.ch", "mx43.locarno.ch" ], "spf":"v=spf1 ip4:212.4.70.139 ip4:62.55.182.68 ip4:217.193.141.42 ip4:217.193.141.43 a:mailout.ip-plus.net mx -all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "locarno.ch" + ], + "redirect":[], + "wikidata":[ + "locarno.ch" + ], + "guess":[ + "locarno.ch", + "stadt-locarno.ch" + ] + }, + "resolve_flags":[] }, "5115":{ "bfs":"5115", @@ -27269,18 +96323,82 @@ ], "spf":"v=spf1 a:lin24.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com a:asms2.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin24.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com a:asms2.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all v=spf1 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.18 ip4:213.133.224.13 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX losone-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "losone.ch" + ], + "redirect":[], + "wikidata":[ + "losone.ch" + ], + "guess":[ + "losone.ch" + ] + }, + "resolve_flags":[] }, "5117":{ "bfs":"5117", "name":"Mergoscia", - "canton":"", + "canton":"Kanton Tessin", "domain":"mergoscia.ch", "mx":[ "mx01.tophost.ch", @@ -27288,81 +96406,299 @@ ], "spf":"", "provider":"independent", - "mx_asns":[ - 35206 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":60.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mergoscia.ch" + ], + "guess":[ + "mergoscia.ch" + ] + }, + "resolve_flags":[] }, "5118":{ "bfs":"5118", "name":"Minusio", - "canton":"", + "canton":"Kanton Tessin", "domain":"minusio.ch", "mx":[ "smtp.assolo.net" ], "spf":"v=spf1 include:_asms6spf.assolo.net a:lin32.assolo.net ip4:213.133.224.13 ip4:83.173.217.38 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.79 ip4:213.133.224.68 ip4:213.133.224.160 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_asms6spf.assolo.net a:lin32.assolo.net ip4:213.133.224.13 ip4:83.173.217.38 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.79 ip4:213.133.224.68 ip4:213.133.224.160 -all v=spf1 ip4:213.133.224.19 ip4:213.133.224.59 ip4:213.133.224.90 ip4:213.133.224.91 ip4:213.133.224.83 ~all", - "mx_asns":[ - 51423 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "minusio.ch" + ], + "redirect":[], + "wikidata":[ + "minusio.ch" + ], + "guess":[ + "minusio.ch" + ] + }, + "resolve_flags":[] }, "5120":{ "bfs":"5120", "name":"Muralto", - "canton":"", + "canton":"Kanton Tessin", "domain":"muralto.ch", "mx":[ "muralto-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:195.190.166.213 +a +mx ip4:195.190.166.204 ip4:89.207.237.84 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.190.166.213 +a +mx ip4:195.190.166.204 ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muralto-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "muralto.ch" + ], + "redirect":[], + "wikidata":[ + "muralto.ch" + ], + "guess":[ + "muralto.ch" + ] + }, + "resolve_flags":[] }, "5121":{ "bfs":"5121", "name":"Orselina", - "canton":"", + "canton":"Kanton Tessin", "domain":"orselina.ch", "mx":[ "orselina-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:lin12.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin12.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all v=spf1 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.18 ip4:213.133.224.13 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX orselina-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brione.ch", + "orselina.ch" + ], + "redirect":[], + "wikidata":[ + "orselina.ch" + ], + "guess":[ + "orselina.ch" + ] + }, + "resolve_flags":[] }, "5125":{ "bfs":"5125", "name":"Ronco sopra Ascona", - "canton":"", + "canton":"Kanton Tessin", "domain":"ronco-s-ascona.ch", "mx":[ "roncosascona-ch01k.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX roncosascona-ch01k.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ronco-s-ascona.ch" + ], + "redirect":[], + "wikidata":[ + "ronco-s-ascona.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5131":{ "bfs":"5131", @@ -27375,91 +96711,280 @@ ], "spf":"v=spf1 a:lin17.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin17.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 5602, - 31034 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "tenero-contra.ch" + ], + "redirect":[], + "wikidata":[ + "tenero-contra.ch" + ], + "guess":[ + "tenero-contra.ch" + ] + }, + "resolve_flags":[] }, "5136":{ "bfs":"5136", "name":"Onsernone", - "canton":"", + "canton":"Kanton Tessin", "domain":"onsernone.swiss", "mx":[ "onsernone-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 include:_asms5spf.assolo.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_asms5spf.assolo.net include:spf.protection.outlook.com -all v=spf1 ip4:213.133.224.60 ip4:213.133.224.13 ip4:213.133.224.14 ip4:213.133.224.6 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX onsernone-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "locarnese.ch", + "onsernone.swiss", + "ti.ch" + ], + "redirect":[], + "wikidata":[ + "onsernone.swiss" + ], + "guess":[ + "onsernone.ch" + ] + }, + "resolve_flags":[] }, "5138":{ "bfs":"5138", "name":"Cugnasco-Gerra", - "canton":"", + "canton":"Kanton Tessin", "domain":"cugnasco-gerra.ch", "mx":[ "mail.cugnasco-gerra.ch" ], "spf":"v=spf1 a:lin16.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 include:_asms4spf.assolo.net ~all", "provider":"independent", - "spf_resolved":"v=spf1 a:lin16.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 include:_asms4spf.assolo.net ~all v=spf1 a:asms4.assolo.net ip4:213.133.224.22 a:asms8.assolo.net ip4:213.133.224.213 ip4:213.133.224.13 ip4:213.133.234.32 ip4:213.133.224.24 ~all", - "mx_asns":[ - 51423 - ], - "autodiscover":{ - "autodiscover_cname":"wasms.assolo.net" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "cugnasco-gerra.ch" + ], + "redirect":[], + "wikidata":[ + "cugnasco-gerra.ch" + ], + "guess":[ + "cugnasco-gerra.ch", + "cugnascogerra.ch" + ] + }, + "resolve_flags":[] }, "5141":{ "bfs":"5141", "name":"Agno", - "canton":"", + "canton":"Kanton Tessin", "domain":"agno.ch", "mx":[ "asms4.assolo.net" ], "spf":"v=spf1 mx include:_asms4spf.assolo.net ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:_asms4spf.assolo.net ~all v=spf1 a:asms4.assolo.net ip4:213.133.224.22 a:asms8.assolo.net ip4:213.133.224.213 ip4:213.133.224.13 ip4:213.133.234.32 ip4:213.133.224.24 ~all", - "mx_asns":[ - 51423 - ], - "autodiscover":{ - "autodiscover_cname":"wasms.assolo.net" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "agno.ch" + ], + "redirect":[], + "wikidata":[ + "agno.ch" + ], + "guess":[ + "agno.ch" + ] + }, + "resolve_flags":[] }, "5143":{ "bfs":"5143", "name":"Aranno", - "canton":"", + "canton":"Kanton Tessin", "domain":"aranno.ch", "mx":[ "aranno-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:green.icteam.swiss a:asmav.assolo.net a:asms2.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.103 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:green.icteam.swiss a:asmav.assolo.net a:asms2.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.103 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aranno-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aranno.ch" + ], + "redirect":[], + "wikidata":[ + "aranno.ch" + ], + "guess":[ + "aranno.ch" + ] + }, + "resolve_flags":[] }, "5144":{ "bfs":"5144", "name":"Arogno", - "canton":"", + "canton":"Kanton Tessin", "domain":"arogno.ch", "mx":[ "7azulib01.atomdata.ch", @@ -27467,120 +96992,466 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.174.26.10 ip4:178.174.0.238 ip4:91.208.130.32 ip4:91.208.130.31 a:lin16.assolo.net include:mailhost.ticino-online.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.174.26.10 ip4:178.174.0.238 ip4:91.208.130.32 ip4:91.208.130.31 a:lin16.assolo.net include:mailhost.ticino-online.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075, - 25091 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "arogno.ch" + ], + "redirect":[], + "wikidata":[ + "arogno.ch" + ], + "guess":[ + "arogno.ch" + ] + }, + "resolve_flags":[] }, "5148":{ "bfs":"5148", "name":"Bedano", - "canton":"", + "canton":"Kanton Tessin", "domain":"bedano.ch", "mx":[ "mail.bedano.ch" ], "spf":"v=spf1 mx ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:146.4.99.230 include:spf.privasphere.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:146.4.99.230 include:spf.privasphere.com -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mail.bedano.ch", - "autodiscover_srv":"mail.bedano.ch" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "bedano.ch" + ], + "redirect":[], + "wikidata":[ + "bedano.ch" + ], + "guess":[ + "bedano.ch" + ] + }, + "resolve_flags":[] }, "5151":{ "bfs":"5151", "name":"Bioggio", - "canton":"", + "canton":"Kanton Tessin", "domain":"bioggio.ch", "mx":[ "bioggio-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.246.38.166 a:green.icteam.swiss -all ", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.246.38.166 a:green.icteam.swiss -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.bioggio.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bioggio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "bioggio.ch" + ], + "redirect":[], + "wikidata":[ + "bioggio.ch" + ], + "guess":[ + "bioggio.ch" + ] + }, + "resolve_flags":[] }, "5154":{ "bfs":"5154", "name":"Bissone", - "canton":"", + "canton":"Kanton Tessin", "domain":"bissone.ch", "mx":[ "bissone-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bissone-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bissone.ch CNAME → selector1-bissone-ch._domainkey.bissone.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bissone.ch CNAME → selector2-bissone-ch._domainkey.bissone.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bissone.ch" + ], + "redirect":[], + "wikidata":[ + "bissone.ch" + ], + "guess":[ + "bissone.ch" + ] + }, + "resolve_flags":[] }, "5160":{ "bfs":"5160", "name":"Brusino Arsizio", - "canton":"", + "canton":"Kanton Tessin", "domain":"brusinoarsizio.ch", "mx":[ "brusinoarsizio-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX brusinoarsizio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "brusinoarsizio.ch" + ], + "redirect":[], + "wikidata":[ + "brusinoarsizio.ch" + ], + "guess":[ + "brusinoarsizio.ch" + ] + }, + "resolve_flags":[] }, "5161":{ "bfs":"5161", "name":"Cademario", - "canton":"", + "canton":"Kanton Tessin", "domain":"cademario.ch", "mx":[ "cademario-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:195.190.166.213 ip4:62.48.123.84 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:195.190.166.213 ip4:62.48.123.84 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cademario-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cademario.ch" + ], + "redirect":[], + "wikidata":[ + "cademario.ch" + ], + "guess":[ + "cademario.ch" + ] + }, + "resolve_flags":[] }, "5162":{ "bfs":"5162", "name":"Cadempino", - "canton":"", + "canton":"Kanton Tessin", "domain":"cadempino.ch", "mx":[ "mail.cadempino.ch" ], "spf":"v=spf1 +a +mx ip4:185.94.150.0/26 ip4:89.207.237.84 178.23.174.0/27 -all", "provider":"independent", - "mx_asns":[ - 197352 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "cadempino.ch" + ], + "redirect":[], + "wikidata":[ + "cadempino.ch" + ], + "guess":[ + "cadempino.ch" + ] + }, + "resolve_flags":[] }, "5167":{ "bfs":"5167", @@ -27592,49 +97463,241 @@ ], "spf":"v=spf1 ip4:195.190.166.212 ip4:195.190.166.206 +a +mx +ip4:195.190.166.205 +include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.190.166.212 ip4:195.190.166.206 +a +mx +ip4:195.190.166.205 +include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":91.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX canobbio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "canobbio.ch" + ], + "redirect":[], + "wikidata":[ + "canobbio.ch" + ], + "guess":[ + "canobbio.ch" + ] + }, + "resolve_flags":[] }, "5171":{ "bfs":"5171", "name":"Caslano", - "canton":"", + "canton":"Kanton Tessin", "domain":"caslano.ch", "mx":[ "caslano-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:213.133.233.22 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:213.133.233.22 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX caslano-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "caslano.ch" + ], + "redirect":[], + "wikidata":[ + "caslano.ch" + ], + "guess":[ + "caslano.ch" + ] + }, + "resolve_flags":[] }, "5176":{ "bfs":"5176", "name":"Comano", - "canton":"", + "canton":"Kanton Tessin", "domain":"comano.ch", "mx":[ "comano-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:lin17.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin17.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all v=spf1 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.18 ip4:213.133.224.13 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX comano-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "comano.ch" + ], + "redirect":[], + "wikidata":[ + "comano.ch" + ], + "guess":[ + "comano.ch" + ] + }, + "resolve_flags":[] }, "5180":{ "bfs":"5180", @@ -27646,18 +97709,83 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.173 a:lin12.assolo.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.173 a:lin12.assolo.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cureglia-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cureglia.ch", + "poliziaredde.ch" + ], + "redirect":[], + "wikidata":[ + "cureglia.ch" + ], + "guess":[ + "cureglia.ch" + ] + }, + "resolve_flags":[] }, "5186":{ "bfs":"5186", "name":"Grancia", - "canton":"", + "canton":"Kanton Tessin", "domain":"grancia.ch", "mx":[ "mx1.mail.hostpoint.ch", @@ -27665,13 +97793,22 @@ ], "spf":"v=spf1 redirect=spf.mail.hostpoint.ch", "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 - ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "grancia.ch" + ], + "redirect":[], + "wikidata":[ + "grancia.ch" + ], + "guess":[ + "grancia.ch" + ] + }, + "resolve_flags":[] }, "5187":{ "bfs":"5187", @@ -27683,32 +97820,107 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gravesano-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gravesano.ch" + ], + "redirect":[], + "wikidata":[ + "gravesano.ch" + ], + "guess":[ + "gravesano.ch" + ] + }, + "resolve_flags":[] }, "5189":{ "bfs":"5189", "name":"Lamone", - "canton":"", + "canton":"Kanton Tessin", "domain":"lamone.ch", "mx":[ "mail.ticinoposta.ch" ], "spf":"v=spf1 mx a:mail.ticinoposta.ch a:ticinoposta.mifaweb.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all", "provider":"independent", - "mx_asns":[ - 207143 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lamone.ch" + ], + "guess":[ + "lamone.ch" + ] + }, + "resolve_flags":[] }, "5192":{ "bfs":"5192", "name":"Lugano", - "canton":"", + "canton":"Kanton Tessin", "domain":"lugano.ch", "mx":[ "smtp11.lugano.ch", @@ -27716,28 +97928,116 @@ ], "spf":"v=spf1 mx a ip4:195.14.126.66 ip4:195.14.126.67 include:143896222.spf04.hubspotemail.net include:CustSPF.tinext.com include:emailwarp.com include:servers.mcsv.net include:spf.swisscom.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:195.14.126.66 ip4:195.14.126.67 include:143896222.spf04.hubspotemail.net include:CustSPF.tinext.com include:emailwarp.com include:servers.mcsv.net include:spf.swisscom.com -all v=spf1 ip4:3.93.157.0/24 ip4:3.210.190.0/24 ip4:18.208.124.128/25 ip4:54.174.52.0/24 ip4:54.174.57.0/24 ip4:54.174.59.0/24 ip4:54.174.60.0/23 ip4:54.174.63.0/24 ip4:108.179.144.0/20 ip4:139.180.17.0/24 ip4:141.193.184.32/27 ip4:141.193.184.64/26 ip4:141.193.184.128/25 ip4:141.193.185.32/27 ip4:141.193.185.64/26 ip4:141.193.185.128/25 ip4:143.244.80.0/20 ip4:158.247.16.0/20 ip4:216.139.64.0/19 -all v=spf1 ip4:46.21.25.0/24 include:spf.iway.ch -all v=spf1 include:spf1.emailwarp.com -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:138.188.176.0/26 ip4:138.188.176.128/26 ip4:138.188.166.96/27 ~all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all v=spf1 include:spf2.emailwarp.com ip4:185.241.65.0/26 -all v=spf1 ip4:159.89.28.206/32 ip4:165.227.133.244/32 ip4:207.154.223.214/32 -all", - "mx_asns":[ - 50849 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lugano.ch" + ], + "guess":[ + "lugano.ch", + "stadt-lugano.ch" + ] + }, + "resolve_flags":[] }, "5193":{ "bfs":"5193", "name":"Magliaso", - "canton":"", + "canton":"Kanton Tessin", "domain":"magliaso.ch", "mx":[ "magliaso-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:178.23.174.0/27 mx ip4:89.207.237.84 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.23.174.0/27 mx ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX magliaso-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "magliaso.ch" + ], + "redirect":[], + "wikidata":[ + "magliaso.ch" + ], + "guess":[ + "magliaso.ch" + ] + }, + "resolve_flags":[] }, "5194":{ "bfs":"5194", @@ -27750,13 +98050,59 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:cryms.com ip4:178.23.174.0/27 ip4:89.207.237.84 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:cryms.com ip4:178.23.174.0/27 ip4:89.207.237.84 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:185.181.207.136 +ip4:91.121.50.245 +ip4:149.202.24.251 +ip4:149.202.90.195 +ip4:91.121.63.178 +ip4:178.32.139.74 +ip4:94.130.69.119 +ip6:2a01:4f8:10b:32d3::3 +ip6:2001:41d0:1004:ac3::1 +ip4:185.181.207.136 include:spf.protection.outlook.com include:143889994.spf04.hubspotemail.net include:sendgrid.net -all v=spf1 ip4:3.93.157.0/24 ip4:3.210.190.0/24 ip4:18.208.124.128/25 ip4:54.174.52.0/24 ip4:54.174.57.0/24 ip4:54.174.59.0/24 ip4:54.174.60.0/23 ip4:54.174.63.0/24 ip4:108.179.144.0/20 ip4:139.180.17.0/24 ip4:141.193.184.32/27 ip4:141.193.184.64/26 ip4:141.193.184.128/25 ip4:141.193.185.32/27 ip4:141.193.185.64/26 ip4:141.193.185.128/25 ip4:143.244.80.0/20 ip4:158.247.16.0/20 ip4:216.139.64.0/19 -all v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "mx_asns":[ - 196810 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.manno.ch CNAME → selector1-manno-ch._domainkey.municipiomanno.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.manno.ch CNAME → selector2-manno-ch._domainkey.municipiomanno.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "manno.ch" + ], + "redirect":[], + "wikidata":[ + "manno.ch" + ], + "guess":[ + "manno.ch" + ] + }, + "resolve_flags":[] }, "5196":{ "bfs":"5196", @@ -27768,27 +98114,133 @@ ], "spf":"v=spf1 ip4:185.79.206.82 ip4:185.79.206.83 ip4:185.79.206.84 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.247 a:lin32.assolo.net -all", "provider":"independent", - "mx_asns":[ - 57676 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "massagno.ch" + ], + "redirect":[], + "wikidata":[ + "massagno.ch" + ], + "guess":[ + "massagno.ch" + ] + }, + "resolve_flags":[] }, "5198":{ "bfs":"5198", "name":"Melide", - "canton":"", + "canton":"Kanton Tessin", "domain":"melide.ch", "mx":[ "melide-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com include:custspf.tinext.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com include:custspf.tinext.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.21.25.0/24 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX melide-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.melide.ch CNAME → selector1-melide-ch._domainkey.municipiomelide.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.melide.ch CNAME → selector2-melide-ch._domainkey.municipiomelide.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "melide.ch" + ], + "guess":[ + "melide.ch" + ] + }, + "resolve_flags":[] }, "5199":{ "bfs":"5199", @@ -27800,50 +98252,269 @@ ], "spf":"v=spf1 a:lin16.assolo.net a:lin31.assolo.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin16.assolo.net a:lin31.assolo.net include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mezzovicovira-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mezzovico-vira.ch" + ], + "redirect":[], + "wikidata":[ + "mezzovico-vira.ch" + ], + "guess":[ + "mezzovico-vira.ch" + ] + }, + "resolve_flags":[] }, "5203":{ "bfs":"5203", "name":"Morcote", - "canton":"", + "canton":"Kanton Tessin", "domain":"morcote.ch", "mx":[ "morcote-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:62.2.108.198 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.3.37.249 ip4:213.133.224.64/29 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:62.2.108.198 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.3.37.249 ip4:213.133.224.64/29 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"comune2018.morcote.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX morcote-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.morcote.ch CNAME → selector1-morcote-ch._domainkey.morcote.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.morcote.ch CNAME → selector2-morcote-ch._domainkey.morcote.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "morcote.ch" + ], + "guess":[ + "morcote.ch" + ] + }, + "resolve_flags":[] }, "5205":{ "bfs":"5205", "name":"Muzzano", - "canton":"", + "canton":"Kanton Tessin", "domain":"muzzano.ch", "mx":[ "muzzano-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.3.37.48 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.3.37.48 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX muzzano-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "muzzano.ch" + ], + "redirect":[], + "wikidata":[ + "muzzano.ch" + ], + "guess":[ + "muzzano.ch" + ] + }, + "resolve_flags":[] }, "5206":{ "bfs":"5206", @@ -27855,49 +98526,160 @@ ], "spf":"v=spf1 mx a include:CustSPF.tinext.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a include:CustSPF.tinext.com -all v=spf1 ip4:46.21.25.0/24 include:spf.iway.ch -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 197352 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "neggio.ch" + ], + "redirect":[], + "wikidata":[ + "neggio.ch" + ], + "guess":[ + "neggio.ch" + ] + }, + "resolve_flags":[] }, "5208":{ "bfs":"5208", "name":"Origlio", - "canton":"", + "canton":"Kanton Tessin", "domain":"origlio.ch", "mx":[ "origlio-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX origlio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "origlio.ch" + ], + "guess":[ + "origlio.ch" + ] + }, + "resolve_flags":[] }, "5210":{ "bfs":"5210", "name":"Paradiso", - "canton":"", + "canton":"Kanton Tessin", "domain":"paradiso.ch", "mx":[ "mxfilter1.paradiso.ch", "mxfilter2.paradiso.ch" ], "spf":"v=spf1 a:intranet.paradiso.ch a:mail.paradiso.ch a:residenza.paradiso.ch a:vps.braile.ch ip4:46.14.23.114/32 ip4:51.75.55.164 redirect=spf.mail.hostpoint.ch", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a:intranet.paradiso.ch a:mail.paradiso.ch a:residenza.paradiso.ch a:vps.braile.ch ip4:46.14.23.114/32 ip4:51.75.55.164 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 6730 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "paradiso.ch" + ], + "redirect":[], + "wikidata":[ + "paradiso.ch" + ], + "guess":[ + "paradiso.ch" + ] + }, + "resolve_flags":[] }, "5212":{ "bfs":"5212", "name":"Ponte Capriasca", - "canton":"", + "canton":"Kanton Tessin", "domain":"pontecapriasca.ch", "mx":[ "ch-backup-mailsecurity.cybersecservices.ch", @@ -27906,51 +98688,198 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com a:ch-backup-mailsecurity.cybersecservices.ch a:ch-mailsecurity.cybersecservices.ch ip4:195.186.122.112 ip4:195.186.122.114 ip4:195.186.101.108 ip4:195.186.101.109 ip4:193.246.38.134 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:195.141.20.198 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:ch-backup-mailsecurity.cybersecservices.ch a:ch-mailsecurity.cybersecservices.ch ip4:195.186.122.112 ip4:195.186.122.114 ip4:195.186.101.108 ip4:195.186.101.109 ip4:193.246.38.134 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:195.141.20.198 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075, - 196810 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pontecapriasca-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "pontecapriasca.ch" + ], + "redirect":[], + "wikidata":[ + "pontecapriasca.ch" + ], + "guess":[ + "pontecapriasca.ch" + ] + }, + "resolve_flags":[] }, "5214":{ "bfs":"5214", "name":"Porza", "canton":"Kanton Tessin", - "domain":"ti.ch", - "mx":[ - "smtp1.ti.ch", - "smtp2.ti.ch" - ], - "spf":"v=spf1 mx include:spf.protection.outlook.com include:spf1.ti.ch include:spf2.ti.ch include:spf3.ti.ch include:spf4.ti.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:spf1.ti.ch include:spf2.ti.ch include:spf3.ti.ch include:spf4.ti.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:mailout.ip-plus.net include:spf.privasphere.com include:spf.brevo.com ip4:193.246.182.248 ip4:193.246.182.26 -all v=spf1 ip4:195.176.176.171 ip4:195.176.176.153 ip4:195.176.176.141 -all v=spf1 ip4:162.23.32.11 ip4:162.23.32.12 ip4:162.23.32.13 ip4:162.23.32.14 ip4:162.23.97.166 ip4:162.23.97.167 -all v=spf1 ip4:54.229.2.165 ip4:52.30.130.201 ip4:52.17.45.98 ip4:52.16.190.81 ip4:193.246.181.195 ip4:193.246.181.196 ip4:83.166.148.54 -all v=spf1 ip4:185.166.96.0/24 ip4:185.166.99.0/24 ip4:83.150.3.96/27 ip4:83.150.37.32/27 ip4:212.25.12.128/27 ip4:212.25.12.192/28 include:spf.iway.ch -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 ip4:212.25.0.0/19 ip4:194.246.118.0/23 ip4:83.150.31.160/28 ip4:83.150.63.0/24 ip4:83.150.52.0/24 ip4:95.143.53.48/28 ip4:80.89.210.64/28 ip6:2001:8e0::/32 ip4:185.168.143.0/27 ~all", - "mx_asns":[ - 559 - ], - "autodiscover":{ - "autodiscover_cname":"mail.ti.ch" - } + "domain":"porza.ch", + "mx":[ + "asms5.assolo.net" + ], + "spf":"v=spf1 include:_asms5spf.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "override":[ + "porza.ch" + ] + }, + "resolve_flags":[] }, "5216":{ "bfs":"5216", "name":"Pura", - "canton":"", + "canton":"Kanton Tessin", "domain":"pura.ch", "mx":[ "pura-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:asmav.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:asmav.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pura-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pura.ch" + ], + "redirect":[], + "wikidata":[ + "pura.ch" + ], + "guess":[ + "pura.ch" + ] + }, + "resolve_flags":[] }, "5221":{ "bfs":"5221", @@ -27962,211 +98891,941 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.105 ip4:213.133.224.103 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.105 ip4:213.133.224.103 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX savosa-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "savosa.ch" + ], + "redirect":[], + "wikidata":[ + "savosa.ch" + ], + "guess":[ + "savosa.ch" + ] + }, + "resolve_flags":[] }, "5225":{ "bfs":"5225", "name":"Sorengo", - "canton":"", + "canton":"Kanton Tessin", "domain":"sorengo.ch", "mx":[ "sorengo-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:89.207.237.84 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX sorengo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sorengo.ch" + ], + "redirect":[], + "wikidata":[ + "sorengo.ch" + ], + "guess":[ + "sorengo.ch" + ] + }, + "resolve_flags":[] }, "5226":{ "bfs":"5226", "name":"Capriasca", - "canton":"", + "canton":"Kanton Tessin", "domain":"capriasca.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 ip4:213.133.233.21 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 ip4:213.133.233.21 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "capriasca.ch" + ], + "guess":[ + "capriasca.ch" + ] + }, + "resolve_flags":[] }, "5227":{ "bfs":"5227", "name":"Torricella-Taverne", - "canton":"", + "canton":"Kanton Tessin", "domain":"torricella-taverne.ch", "mx":[ "torricellataverne-ch02e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX torricellataverne-ch02e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "edu.ti.ch", + "torricella-taverne.ch" + ], + "redirect":[], + "wikidata":[ + "torricella-taverne.ch" + ], + "guess":[ + "torricella-taverne.ch" + ] + }, + "resolve_flags":[] }, "5230":{ "bfs":"5230", "name":"Vernate", - "canton":"", + "canton":"Kanton Tessin", "domain":"vernate.ch", "mx":[ "mail.vernate.ch" ], "spf":"v=spf1 mx ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 mx ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"mail.vernate.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vernate.ch" + ], + "guess":[ + "vernate.ch" + ] + }, + "resolve_flags":[] }, "5231":{ "bfs":"5231", "name":"Vezia", - "canton":"", + "canton":"Kanton Tessin", "domain":"vezia.ch", "mx":[ "vezia-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.133.224.68 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.133.224.68 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vezia-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vezia.ch CNAME → selector1-vezia-ch._domainkey.comunevezia.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vezia.ch CNAME → selector2-vezia-ch._domainkey.comunevezia.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vezia.ch" + ], + "redirect":[], + "wikidata":[ + "vezia.ch" + ], + "guess":[ + "vezia.ch" + ] + }, + "resolve_flags":[] }, "5233":{ "bfs":"5233", "name":"Vico Morcote", - "canton":"", + "canton":"Kanton Tessin", "domain":"vicomorcote.ch", "mx":[ "vicomorcote-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a:lin24.assolo.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:lin24.assolo.net include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vicomorcote-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vicomorcote.ch" + ], + "redirect":[], + "wikidata":[ + "vicomorcote.ch" + ], + "guess":[ + "vicomorcote.ch" + ] + }, + "resolve_flags":[] }, "5236":{ "bfs":"5236", - "name":"Collina d’Oro", - "canton":"", + "name":"Collina d'Oro", + "canton":"Kanton Tessin", "domain":"collinadoro.swiss", "mx":[ "collinadoro-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:146.4.29.26 ip4:146.4.29.27 ip4:213.133.226.37 a:cdointranetvm.assolo.net a:intranet.collinadoro.swiss a:intranet.collinadoro.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:146.4.29.26 ip4:146.4.29.27 ip4:213.133.226.37 a:cdointranetvm.assolo.net a:intranet.collinadoro.swiss a:intranet.collinadoro.com include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX collinadoro-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "collinadoro.swiss", + "poliziaceresiosud.ch" + ], + "redirect":[], + "wikidata":[ + "collinadoro.swiss" + ], + "guess":[ + "collinadoro.ch" + ] + }, + "resolve_flags":[] }, "5237":{ "bfs":"5237", "name":"Alto Malcantone", - "canton":"", + "canton":"Kanton Tessin", "domain":"altomalcantone.ch", "mx":[ "altomalcantone-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.236.28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.236.28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX altomalcantone-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "altomalcantone.ch" + ], + "redirect":[], + "wikidata":[ + "altomalcantone.ch" + ], + "guess":[ + "altomalcantone.ch" + ] + }, + "resolve_flags":[] }, "5238":{ "bfs":"5238", "name":"Monteceneri", - "canton":"", + "canton":"Kanton Tessin", "domain":"monteceneri.ch", "mx":[ "monteceneri-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:62.202.13.115 ip4:80.74.159.65 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:62.202.13.115 ip4:80.74.159.65 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX monteceneri-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.monteceneri.ch CNAME → selector1-monteceneri-ch._domainkey.monteceneri365.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.monteceneri.ch CNAME → selector2-monteceneri-ch._domainkey.monteceneri365.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "monteceneri.ch" + ], + "redirect":[], + "wikidata":[ + "monteceneri.ch" + ], + "guess":[ + "monteceneri.ch" + ] + }, + "resolve_flags":[] }, "5239":{ "bfs":"5239", "name":"Tresa", - "canton":"", + "canton":"Kanton Tessin", "domain":"tresa.ch", "mx":[ "tresa-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:46.14.230.94 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:46.14.230.94 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tresa-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.tresa.ch CNAME → selector1-tresa-ch._domainkey.croglio.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.tresa.ch CNAME → selector2-tresa-ch._domainkey.croglio.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "tresa.ch" + ], + "redirect":[], + "wikidata":[ + "tresa.ch" + ], + "guess":[ + "tresa.ch" + ] + }, + "resolve_flags":[] }, "5240":{ "bfs":"5240", "name":"Val Mara", - "canton":"", + "canton":"Kanton Tessin", "domain":"valmara.ch", "mx":[ "valmara-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX valmara-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "valmara.ch" + ], + "redirect":[], + "wikidata":[ + "valmara.ch" + ], + "guess":[ + "valmara.ch" + ] + }, + "resolve_flags":[] }, "5242":{ "bfs":"5242", @@ -28178,66 +99837,221 @@ ], "spf":"v=spf1 ip4:213.133.236.29 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.labcc.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:213.133.236.29 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.labcc.ch -all v=spf1 ip4:31.44.38.212 ip4:31.44.38.213 -all", - "mx_asns":[ - 5398 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "balerna.ch" + ], + "redirect":[], + "wikidata":[ + "balerna.ch" + ], + "guess":[ + "balerna.ch" + ] + }, + "resolve_flags":[] }, "5249":{ "bfs":"5249", "name":"Castel San Pietro", - "canton":"", + "canton":"Kanton Tessin", "domain":"castelsanpietro.ch", "mx":[ "asmav.assolo.net" ], "spf":"v=spf1 include:_asms6spf.assolo.net ip4:213.133.224.164 ip4:213.133.224.21 ip4:81.62.228.226 ip4:46.21.27.18 ip4:46.21.27.19 ip4:46.21.27.20 ip4:46.21.27.12 ip4:178.23.174.0/27 ip4:89.207.237.84 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_asms6spf.assolo.net ip4:213.133.224.164 ip4:213.133.224.21 ip4:81.62.228.226 ip4:46.21.27.18 ip4:46.21.27.19 ip4:46.21.27.20 ip4:46.21.27.12 ip4:178.23.174.0/27 ip4:89.207.237.84 -all v=spf1 ip4:213.133.224.19 ip4:213.133.224.59 ip4:213.133.224.90 ip4:213.133.224.91 ip4:213.133.224.83 ~all", - "mx_asns":[ - 51423 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.castelsanpietro.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "castelsanpietro.ch" + ], + "redirect":[], + "wikidata":[ + "castelsanpietro.ch" + ], + "guess":[ + "castelsanpietro.ch" + ] + }, + "resolve_flags":[] }, "5250":{ "bfs":"5250", "name":"Chiasso", - "canton":"", + "canton":"Kanton Tessin", "domain":"chiasso.ch", "mx":[ "asmav.assolo.net" ], "spf":"v=spf1 include:_spf.mlsend.com ip4:213.200.244.96/29 ip4:178.23.174.0/27 a:mail.chiasso.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.mlsend.com ip4:213.200.244.96/29 ip4:178.23.174.0/27 a:mail.chiasso.ch -all v=spf1 ip4:185.249.220.0/24 ip4:185.225.161.0/24 ~all", - "mx_asns":[ - 51423 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "chiasso.ch" + ], + "redirect":[], + "wikidata":[ + "chiasso.ch" + ], + "guess":[ + "chiasso.ch", + "stadt-chiasso.ch" + ] + }, + "resolve_flags":[] }, "5251":{ "bfs":"5251", "name":"Coldrerio", - "canton":"", + "canton":"Kanton Tessin", "domain":"coldrerio.ch", "mx":[ "coldrerio-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:46.21.25.126 ip4:194.209.9.131 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com include:spf1.dos-group.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:46.21.25.126 ip4:194.209.9.131 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com include:spf1.dos-group.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:194.209.9.1/24 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX coldrerio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "coldrerio.ch" + ], + "redirect":[], + "wikidata":[ + "coldrerio.ch" + ], + "guess":[ + "coldrerio.ch" + ] + }, + "resolve_flags":[] }, "5254":{ "bfs":"5254", "name":"Mendrisio", - "canton":"", + "canton":"Kanton Tessin", "domain":"mendrisio.ch", "mx":[ "mx01.cloud.vadesecure.com", @@ -28246,270 +100060,811 @@ "mx04.cloud.vadesecure.com" ], "spf":"v=spf1 include:servers.mcsv.net ip4:217.193.168.186 ip4:62.2.94.100 include:spf.cloud.vadesecure.com include:spf.protection.outlook.com ip4:195.144.52.177 ip4:62.2.94.104 ip4:62.2.94.114 mx ip4:62.55.182.68 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:servers.mcsv.net ip4:217.193.168.186 ip4:62.2.94.100 include:spf.cloud.vadesecure.com include:spf.protection.outlook.com ip4:195.144.52.177 ip4:62.2.94.104 ip4:62.2.94.114 mx ip4:62.55.182.68 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:109.197.246.0/26 ip4:217.74.103.0/24 ip4:52.47.203.24 ip4:35.180.3.224 ip4:52.143.185.155 ip4:52.143.133.92 ip4:195.154.80.82 ip4:163.172.55.8 ip4:51.15.159.199 ip4:52.143.144.224 ip4:52.143.151.82 ip4:163.172.240.98 ip4:163.172.240.110 ip4:163.172.240.111 ip4:135.125.122.66 ip4:135.125.122.67 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 12876, - 16276 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.mendrisio.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "mendrisio.ch" + ], + "redirect":[], + "wikidata":[ + "mendrisio.ch" + ], + "guess":[ + "mendrisio.ch" + ] + }, + "resolve_flags":[] }, "5257":{ "bfs":"5257", "name":"Morbio Inferiore", - "canton":"", + "canton":"Kanton Tessin", "domain":"morbioinf.ch", "mx":[ "morbioinf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 a:lin16.assolo.net -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 a:lin16.assolo.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX morbioinf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.morbioinf.ch CNAME → selector1-morbioinf-ch._domainkey.morbioinferiore.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.morbioinf.ch CNAME → selector2-morbioinf-ch._domainkey.morbioinferiore.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "morbioinf.ch" + ], + "redirect":[], + "wikidata":[ + "morbioinf.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5260":{ "bfs":"5260", "name":"Novazzano", - "canton":"", + "canton":"Kanton Tessin", "domain":"novazzano.ch", "mx":[ "novazzano-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx:mail.ticinoposta.ch ip4:178.23.174.0/27 ip4:84.16.245.14 ip4:84.16.245.15 ip4:84.16.244.136 ip4:89.207.237.84 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx:mail.ticinoposta.ch ip4:178.23.174.0/27 ip4:84.16.245.14 ip4:84.16.245.15 ip4:84.16.244.136 ip4:89.207.237.84 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX novazzano-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "novazzano.ch" + ], + "redirect":[], + "wikidata":[ + "novazzano.ch" + ], + "guess":[ + "novazzano.ch" + ] + }, + "resolve_flags":[] }, "5263":{ "bfs":"5263", "name":"Riva San Vitale", - "canton":"", + "canton":"Kanton Tessin", "domain":"rivasanvitale.ch", "mx":[ "mailscanner.moresi.com" ], "spf":"v=spf1 mx ip4:178.23.174.0/27 ip4:89.207.237.84 ip6:2a02:ab40:0:1003::/64 ip4:213.133.236.26 -all", "provider":"independent", - "mx_asns":[ - 196810 - ], - "autodiscover":{ - "autodiscover_srv":"owa.becloud.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "rivasanvitale.ch" + ], + "redirect":[], + "wikidata":[ + "rivasanvitale.ch" + ], + "guess":[ + "rivasanvitale.ch" + ] + }, + "resolve_flags":[] }, "5266":{ "bfs":"5266", "name":"Stabio", - "canton":"", + "canton":"Kanton Tessin", "domain":"stabio.ch", "mx":[ "ch-backup-mailsecurity.cybersecservices.ch", "ch-mailsecurity.cybersecservices.ch" ], "spf":"v=spf1 a:smtp.mlt-systems.ch a:cpanel.mlt-systems.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 a:smtp.mlt-systems.ch a:cpanel.mlt-systems.ch include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 196810 - ], - "autodiscover":{ - "autodiscover_srv":"owa.stabio.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.stabio.ch CNAME → selector1-stabio-ch._domainkey.comunestabio.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.stabio.ch CNAME → selector2-stabio-ch._domainkey.comunestabio.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "stabio.ch" + ], + "redirect":[], + "wikidata":[ + "stabio.ch" + ], + "guess":[ + "stabio.ch" + ] + }, + "resolve_flags":[] }, "5268":{ "bfs":"5268", "name":"Vacallo", - "canton":"", + "canton":"Kanton Tessin", "domain":"vacallo.ch", "mx":[ "mail.ticinoposta.ch" ], "spf":"v=spf1 mx a:mail.ticinoposta.ch a:ticinoposta.mifaweb.net -all", "provider":"independent", - "mx_asns":[ - 207143 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "vacallo.ch" + ], + "redirect":[], + "wikidata":[ + "vacallo.ch" + ], + "guess":[ + "vacallo.ch" + ] + }, + "resolve_flags":[] }, "5269":{ "bfs":"5269", "name":"Breggia", - "canton":"", + "canton":"Kanton Tessin", "domain":"comunebreggia.ch", "mx":[ "mail.comunebreggia.ch" ], "spf":"v=spf1 include:_asms3spf.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.236 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_asms3spf.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.236 -all v=spf1 a:asms3.assolo.net ip4:213.133.224.11 ip4:213.133.224.212 ip4:213.133.224.13 a:asms9.assolo.net ip4:213.133.224.218 ip4:213.133.224.21 ip4:213.133.224.42 ip4:213.133.224.75 ~all", - "mx_asns":[ - 51423 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "comunebreggia.ch" + ], + "redirect":[], + "wikidata":[ + "comunebreggia.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5281":{ "bfs":"5281", "name":"Biasca", - "canton":"", + "canton":"Kanton Tessin", "domain":"biasca.ch", "mx":[ "biasca-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.133.224.25 ip4:213.133.226.34 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:89.251.240.41/32 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.133.224.25 ip4:213.133.226.34 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:89.251.240.41/32 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX biasca-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.biasca.ch CNAME → selector1-biasca-ch._domainkey.biascacomune.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.biasca.ch CNAME → selector2-biasca-ch._domainkey.biascacomune.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "biasca.ch" + ], + "redirect":[], + "wikidata":[ + "biasca.ch" + ], + "guess":[ + "biasca.ch" + ] + }, + "resolve_flags":[] }, "5287":{ "bfs":"5287", "name":"Riviera", - "canton":"", + "canton":"Kanton Tessin", "domain":"comuneriviera.ch", "mx":[ "mail1.comuneriviera.ch" ], "spf":"v=spf1 mx ip4:213.133.224.155 ip4:213.133.224.173 ip4:46.14.64.106 ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.209 ip4:213.133.224.68 ~all", - "provider":"swiss-isp", - "mx_asns":[ - 3303 - ] + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "comuneriviera.ch" + ], + "redirect":[], + "wikidata":[ + "comuneriviera.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5304":{ "bfs":"5304", "name":"Bosco/Gurin", - "canton":"", + "canton":"Kanton Tessin", "domain":"bosco-gurin.ch", "mx":[ "bosco-gurin.ch" ], "spf":"v=spf1 +a +mx +ip4:195.190.166.210 ~all", "provider":"independent", - "mx_asns":[ - 12620 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "bosco-gurin.ch" + ], + "redirect":[], + "wikidata":[ + "bosco-gurin.ch" + ], + "guess":[ + "bosco-gurin.ch", + "bosco.ch" + ] + }, + "resolve_flags":[] }, "5307":{ "bfs":"5307", "name":"Campo (Vallemaggia)", - "canton":"", + "canton":"Kanton Tessin", "domain":"campo-vallemaggia.ch", "mx":[ "campovallemaggia-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX campovallemaggia-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "campo-vallemaggia.ch", + "ti.ch" + ], + "redirect":[], + "wikidata":[ + "campo-vallemaggia.ch" + ], + "guess":[ + "campo.ch" + ] + }, + "resolve_flags":[] }, "5309":{ "bfs":"5309", "name":"Cerentino", - "canton":"", + "canton":"Kanton Tessin", "domain":"cerentino.ch", "mx":[ "mail.cerentino.ch" ], "spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "cerentino.ch", + "shindesign.ch" + ], + "redirect":[], + "wikidata":[ + "cerentino.ch" + ], + "guess":[ + "cerentino.ch" + ] + }, + "resolve_flags":[] }, "5310":{ "bfs":"5310", "name":"Cevio", - "canton":"", + "canton":"Kanton Tessin", "domain":"cevio.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "cevio.ch" + ], + "redirect":[], + "wikidata":[ + "cevio.ch" + ], + "guess":[ + "cevio.ch" + ] + }, + "resolve_flags":[] }, "5315":{ "bfs":"5315", "name":"Linescio", - "canton":"", + "canton":"Kanton Tessin", "domain":"linescio.ch", "mx":[ "mail.linescio.ch" ], "spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "linescio.ch" + ], + "guess":[ + "linescio.ch" + ] + }, + "resolve_flags":[] }, "5317":{ "bfs":"5317", "name":"Maggia", - "canton":"", + "canton":"Kanton Tessin", "domain":"maggia.ch", "mx":[ "mail.maggia.ch" ], "spf":"v=spf1 a:maggia.ch mx ~all", "provider":"independent", - "mx_asns":[ - 24940 - ], - "autodiscover":{ - "autodiscover_srv":"lx43.hoststar.hosting" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "maggia.ch" + ], + "redirect":[], + "wikidata":[ + "maggia.ch" + ], + "guess":[ + "maggia.ch" + ] + }, + "resolve_flags":[] }, "5323":{ "bfs":"5323", "name":"Lavizzara", - "canton":"", + "canton":"Kanton Tessin", "domain":"lavizzara.ch", "mx":[ "lavizzara.ch" ], "spf":"v=spf1 ip4:195.190.166.214 +a +mx +ip4:195.190.166.208 ~all", "provider":"independent", - "mx_asns":[ - 12620 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lavizzara.ch" + ], + "guess":[ + "lavizzara.ch" + ] + }, + "resolve_flags":[] }, "5324":{ "bfs":"5324", "name":"Avegno Gordevio", - "canton":"", + "canton":"Kanton Tessin", "domain":"avegnogordevio.ch", "mx":[ "avegnogordevio-ch.mail.protection.outlook.com", @@ -28518,14 +100873,71 @@ ], "spf":"v=spf1 ip4:195.190.166.212 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:195.190.166.212 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075, - 12620 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX avegnogordevio-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "avegnogordevio.ch" + ], + "redirect":[], + "wikidata":[ + "avegnogordevio.ch" + ], + "guess":[ + "avegnogordevio.ch" + ] + }, + "resolve_flags":[] }, "5395":{ "bfs":"5395", @@ -28537,18 +100949,82 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:213.180.162.206 ip4:213.200.233.58 ip4:109.164.222.186 ip4:109.164.214.150 ip4:146.4.115.166 ip4:213.133.234.100 ip4:213.133.224.103 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:213.180.162.206 ip4:213.200.233.58 ip4:109.164.222.186 ip4:109.164.214.150 ip4:146.4.115.166 ip4:213.133.234.100 ip4:213.133.224.103 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lema-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "lema.ch" + ], + "redirect":[], + "wikidata":[ + "lema.ch" + ], + "guess":[ + "lema.ch" + ] + }, + "resolve_flags":[] }, "5396":{ "bfs":"5396", "name":"Terre di Pedemonte", - "canton":"", + "canton":"Kanton Tessin", "domain":"pedemonte.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -28556,67 +101032,246 @@ ], "spf":"v=spf1 include:_asms3spf.assolo.net include:spf.protection.outlook.com a:lin12.assolo.net a:lin21.assolo.net ip4:213.133.224.236 ip4:213.133.224.237 ip4:213.133.224.238 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_asms3spf.assolo.net include:spf.protection.outlook.com a:lin12.assolo.net a:lin21.assolo.net ip4:213.133.224.236 ip4:213.133.224.237 ip4:213.133.224.238 -all v=spf1 a:asms3.assolo.net ip4:213.133.224.11 ip4:213.133.224.212 ip4:213.133.224.13 a:asms9.assolo.net ip4:213.133.224.218 ip4:213.133.224.21 ip4:213.133.224.42 ip4:213.133.224.75 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"sophos", - "mx_asns":[ - 16509 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"sophos", + "sources_detail":{ + "scrape":[ + "pedemonte.ch" + ], + "redirect":[], + "wikidata":[ + "pedemonte.ch" + ], + "guess":[ + "terredipedemonte.ch" + ] + }, + "resolve_flags":[] }, "5397":{ "bfs":"5397", "name":"Centovalli", - "canton":"", - "domain":"intragna.ch", + "canton":"Kanton Tessin", + "domain":"centovalli.swiss", "mx":[ "mx1-eu1.ppe-hosted.com", "mx2-eu1.ppe-hosted.com" ], "spf":"v=spf1 mx a:dispatch-eu.ppe-hosted.com ~all", "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"proofpoint", - "mx_asns":[ - 52129 - ] + "sources_detail":{ + "override":[ + "centovalli.swiss" + ] + }, + "resolve_flags":[] }, "5398":{ "bfs":"5398", "name":"Gambarogno", - "canton":"", + "canton":"Kanton Tessin", "domain":"gambarogno.ch", "mx":[ "asmav.assolo.net" ], "spf":"v=spf1 ip4:109.164.223.179 a:lin15.assolo.net a:lin24.assolo.net -all", "provider":"independent", - "mx_asns":[ - 51423 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "gambarogno.ch" + ], + "redirect":[], + "wikidata":[ + "gambarogno.ch" + ], + "guess":[ + "gambarogno.ch" + ] + }, + "resolve_flags":[] }, "5399":{ "bfs":"5399", "name":"Verzasca", - "canton":"", + "canton":"Kanton Tessin", "domain":"verzasca.swiss", "mx":[ "verzasca-swiss.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:213.133.224.79 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:213.133.224.79 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verzasca-swiss.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "verzasca.swiss" + ], + "redirect":[], + "wikidata":[ + "verzasca.swiss" + ], + "guess":[ + "verzasca.ch" + ] + }, + "resolve_flags":[] }, "5401":{ "bfs":"5401", "name":"Aigle", - "canton":"", + "canton":"Kanton Waadt", "domain":"aigle.ch", "mx":[ "fallbackmx.spamexperts.eu", @@ -28625,86 +101280,365 @@ ], "spf":"v=spf1 include:_netblocks.aigle.ch include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_netblocks.aigle.ch include:spf.protection.outlook.com ~all v=spf1 ip4:46.175.9.207 ip4:62.48.3.130 ip4:62.48.3.132 ip4:62.48.3.139 ip4:62.48.3.140 ip4:212.147.15.97 ip4:185.54.6.109 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 16633, - 43054 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.aigle.ch CNAME → selector1-aigle-ch._domainkey.communeaigle.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.aigle.ch CNAME → selector2-aigle-ch._domainkey.communeaigle.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "aigle.ch", + "vd.ch" + ], + "redirect":[], + "wikidata":[ + "aigle.ch" + ], + "guess":[ + "aigle.ch" + ] + }, + "resolve_flags":[] }, "5402":{ "bfs":"5402", "name":"Bex", - "canton":"", + "canton":"Kanton Waadt", "domain":"bex.ch", "mx":[ "bex-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.109 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.109 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bex-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bex.ch" + ], + "redirect":[], + "wikidata":[ + "bex.ch" + ], + "guess":[ + "bex.ch" + ] + }, + "resolve_flags":[] }, "5403":{ "bfs":"5403", "name":"Chessel", - "canton":"", + "canton":"Kanton Waadt", "domain":"chessel.ch", "mx":[ "chessel-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chessel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chessel.ch" + ], + "redirect":[], + "wikidata":[ + "chessel.ch" + ], + "guess":[ + "chessel.ch" + ] + }, + "resolve_flags":[] }, "5404":{ "bfs":"5404", "name":"Corbeyrier", - "canton":"", + "canton":"Kanton Waadt", "domain":"corbeyrier.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corbeyrier.ch" + ], + "redirect":[], + "wikidata":[ + "corbeyrier.ch" + ], + "guess":[ + "corbeyrier.ch" + ] + }, + "resolve_flags":[] }, "5405":{ "bfs":"5405", "name":"Gryon", - "canton":"", + "canton":"Kanton Waadt", "domain":"gryon.ch", "mx":[ "gryon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.111 a mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.111 a mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gryon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gryon.ch CNAME → selector1-gryon-ch._domainkey.communegryon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gryon.ch CNAME → selector2-gryon-ch._domainkey.communegryon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gryon-tourisme.ch", + "gryon.ch" + ], + "redirect":[], + "wikidata":[ + "gryon.ch" + ], + "guess":[ + "gryon.ch" + ] + }, + "resolve_flags":[] }, "5406":{ "bfs":"5406", @@ -28716,54 +101650,245 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lavey-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.lavey.ch CNAME → selector1-lavey-ch._domainkey.communelavey.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.lavey.ch CNAME → selector2-lavey-ch._domainkey.communelavey.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lavey.ch" + ], + "redirect":[], + "wikidata":[ + "lavey.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5407":{ "bfs":"5407", "name":"Leysin", - "canton":"", + "canton":"Kanton Waadt", "domain":"leysin.ch", "mx":[ "mps.telecomservices.ch" ], "spf":"v=spf1 a:mail.leysin.ch a:mps.telecomservices.ch include:spf.protection.outlook.com include:witecom.ch include:servers.mcsv.net include:spf.protection.outlook.com include:protection.outlook.com ip4:185.43.245.131 ip4:84.253.14.34 ip4:84.253.7.218 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a:mail.leysin.ch a:mps.telecomservices.ch include:spf.protection.outlook.com include:witecom.ch include:servers.mcsv.net include:spf.protection.outlook.com include:protection.outlook.com ip4:185.43.245.131 ip4:84.253.14.34 ip4:84.253.7.218 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.43.244.0/22 ip6:2a05:4880::/29 include:fwdsc.swisscenter.com -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all", - "mx_asns":[ - 43800 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.leysin.ch CNAME → selector1-leysin-ch._domainkey.adminleysin.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.leysin.ch CNAME → selector2-leysin-ch._domainkey.adminleysin.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "leysin.ch" + ], + "redirect":[], + "wikidata":[ + "leysin.ch" + ], + "guess":[ + "leysin.ch" + ] + }, + "resolve_flags":[] }, "5408":{ "bfs":"5408", "name":"Noville", - "canton":"", + "canton":"Kanton Waadt", "domain":"noville.ch", "mx":[ "noville-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX noville-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cartoriviera.ch", + "noville.ch" + ], + "redirect":[], + "wikidata":[ + "noville.ch" + ], + "guess":[ + "noville.ch" + ] + }, + "resolve_flags":[] }, "5409":{ "bfs":"5409", "name":"Ollon", - "canton":"", + "canton":"Kanton Waadt", "domain":"ollon.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -28771,170 +101896,706 @@ ], "spf":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com include:_spf-eu.ppe-hosted.com a:dispatch-eu.ppe-hosted.com a:dispatch1-eu1.ppe-hosted.com ip4:185.54.6.109 ip4:145.232.246.230 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com include:_spf-eu.ppe-hosted.com a:dispatch-eu.ppe-hosted.com a:dispatch1-eu1.ppe-hosted.com ip4:185.54.6.109 ip4:145.232.246.230 -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:dispatch-eu.ppe-hosted.com ~all", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ollon.ch" + ], + "guess":[ + "ollon.ch" + ] + }, + "resolve_flags":[] }, "5410":{ "bfs":"5410", "name":"Ormont-Dessous", - "canton":"", + "canton":"Kanton Waadt", "domain":"ormont-dessous.ch", "mx":[ "ormontdessous-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.blk.ymc.swiss ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.blk.ymc.swiss ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ormontdessous-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ormont-dessous.ch" + ], + "redirect":[], + "wikidata":[ + "ormont-dessous.ch" + ], + "guess":[ + "ormont-dessous.ch" + ] + }, + "resolve_flags":[] }, "5411":{ "bfs":"5411", "name":"Ormont-Dessus", - "canton":"", + "canton":"Kanton Waadt", "domain":"ormont-dessus.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 include:spf.infomaniak.ch mx -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch mx -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34146 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ormont-dessus.ch" + ], + "guess":[ + "ormont-dessus.ch" + ] + }, + "resolve_flags":[] }, "5412":{ "bfs":"5412", "name":"Rennaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"rennaz.ch", "mx":[ "rennaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.hostcenter.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com include:_spf.hostcenter.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rennaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rennaz.ch CNAME → selector1-rennaz-ch._domainkey.communerennaz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rennaz.ch CNAME → selector2-rennaz-ch._domainkey.communerennaz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rennaz.ch" + ], + "redirect":[], + "wikidata":[ + "rennaz.ch" + ], + "guess":[ + "rennaz.ch" + ] + }, + "resolve_flags":[] }, "5413":{ "bfs":"5413", - "name":"Roche", - "canton":"", + "name":"Roche (VD)", + "canton":"Kanton Waadt", "domain":"roche-vd.ch", "mx":[ "rochevd-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.109 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.109 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rochevd-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.roche-vd.ch CNAME → selector1-rochevd-ch01c._domainkey.communederoche.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.roche-vd.ch CNAME → selector2-rochevd-ch01c._domainkey.communederoche.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "roche-vd.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5414":{ "bfs":"5414", - "name":"Villeneuve", - "canton":"", + "name":"Villeneuve (VD)", + "canton":"Kanton Waadt", "domain":"villeneuve.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:spf.evok.ch include:spf.rcv.ch include:_spf.i-web.ch include:spf1.ne.ch ip4:194.56.250.0/23 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.evok.ch include:spf.rcv.ch include:_spf.i-web.ch include:spf1.ne.ch ip4:194.56.250.0/23 -all v=spf1 ip4:193.33.30.81/32 ip4:193.33.30.87/32 ip4:193.33.30.91/32 ip4:193.33.30.92/32 ip4:193.33.30.124/32 ip4:193.33.30.125/32 ip4:185.122.238.197/32 ip4:185.122.238.201/32 ip4:185.122.238.202/32 include:seppmail.evok.ch -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:193.33.30.89/32 ip4:185.122.238.200/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "villeneuve.ch" + ], + "redirect":[], + "wikidata":[ + "villeneuve.ch" + ], + "guess":[ + "villeneuve.ch" + ] + }, + "resolve_flags":[] }, "5415":{ "bfs":"5415", "name":"Yvorne", - "canton":"", + "canton":"Kanton Waadt", "domain":"yvorne.ch", "mx":[ "yvorne-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:193.34.137.65 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:193.34.137.65 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX yvorne-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.yvorne.ch CNAME → selector1-yvorne-ch._domainkey.communeyvorne.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.yvorne.ch CNAME → selector2-yvorne-ch._domainkey.communeyvorne.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "yvorne.ch" + ], + "redirect":[], + "wikidata":[ + "yvorne.ch" + ], + "guess":[ + "yvorne.ch" + ] + }, + "resolve_flags":[] }, "5422":{ "bfs":"5422", "name":"Aubonne", - "canton":"", + "canton":"Kanton Waadt", "domain":"aubonne.ch", "mx":[ "aubonne-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.rcv.ch include:_spf.psm.knowbe4.com include:spf.protection.outlook.com ip4:217.119.144.0/24 ip4:217.119.146.132 ip4:185.54.6.105 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.rcv.ch include:_spf.psm.knowbe4.com include:spf.protection.outlook.com ip4:217.119.144.0/24 ip4:217.119.146.132 ip4:185.54.6.105 ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:23.21.109.197 ip4:23.21.109.212 ip4:147.160.167.14 ip4:147.160.167.15 ip4:52.49.235.189 ip4:52.49.201.246 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aubonne-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.aubonne.ch CNAME → selector1-aubonne-ch._domainkey.aubonnech.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.aubonne.ch CNAME → selector2-aubonne-ch._domainkey.aubonnech.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aubonne.ch" + ], + "redirect":[], + "wikidata":[ + "aubonne.ch" + ], + "guess":[ + "aubonne.ch" + ] + }, + "resolve_flags":[] }, "5423":{ "bfs":"5423", "name":"Ballens", - "canton":"", + "canton":"Kanton Waadt", "domain":"ballens.ch", "mx":[ "ballens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ?all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ballens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ballens.ch" + ], + "redirect":[], + "wikidata":[ + "ballens.ch" + ], + "guess":[ + "ballens.ch" + ] + }, + "resolve_flags":[] }, "5424":{ "bfs":"5424", "name":"Berolle", - "canton":"", + "canton":"Kanton Waadt", "domain":"berolle.ch", "mx":[ "mail.berolle.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "berolle.ch" + ], + "redirect":[], + "wikidata":[ + "berolle.ch" + ], + "guess":[ + "berolle.ch" + ] + }, + "resolve_flags":[] }, "5425":{ "bfs":"5425", @@ -28946,13 +102607,75 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bierevd-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "biere-vd.ch" + ], + "redirect":[], + "wikidata":[ + "biere-vd.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5426":{ "bfs":"5426", @@ -28964,35 +102687,126 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.105 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.105 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bougyvillars-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aubonne.ch", + "bougy-villars.ch" + ], + "redirect":[], + "wikidata":[ + "bougy-villars.ch" + ], + "guess":[ + "bougy-villars.ch" + ] + }, + "resolve_flags":[] }, "5427":{ "bfs":"5427", "name":"Féchy", - "canton":"", + "canton":"Kanton Waadt", "domain":"fechy.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fechy.ch" + ], + "guess":[ + "fechy.ch" + ] + }, + "resolve_flags":[] }, "5428":{ "bfs":"5428", - "name":"Gimel VD", + "name":"Gimel", "canton":"Kanton Waadt", "domain":"gimel.ch", "mx":[ @@ -29000,13 +102814,69 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gimel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gimel.ch" + ], + "guess":[ + "gimel.ch" + ] + }, + "resolve_flags":[] }, "5429":{ "bfs":"5429", @@ -29018,85 +102888,316 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX longirod-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "longirod.ch" + ], + "redirect":[], + "wikidata":[ + "longirod.ch" + ], + "guess":[ + "longirod.ch" + ] + }, + "resolve_flags":[] }, "5430":{ "bfs":"5430", "name":"Marchissy", - "canton":"", + "canton":"Kanton Waadt", "domain":"marchissy.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "marchissy.ch" + ], + "redirect":[], + "wikidata":[ + "marchissy.ch" + ], + "guess":[ + "marchissy.ch" + ] + }, + "resolve_flags":[] }, "5431":{ "bfs":"5431", - "name":"Mollens", - "canton":"", + "name":"Mollens (VD)", + "canton":"Kanton Waadt", "domain":"mollensvd.ch", "mx":[ "mollensvd-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mollensvd-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mollensvd.ch" + ], + "guess":[ + "mollens.ch" + ] + }, + "resolve_flags":[] }, "5434":{ "bfs":"5434", "name":"Saint-George", - "canton":"", + "canton":"Kanton Waadt", "domain":"stgeorge.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.vtx.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.vtx.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:194.38.175.0/24 ip4:194.38.166.0/27 ip4:212.40.2.0/25 ip4:212.109.85.192/27 ip4:212.147.10.0/26 ip4:212.147.62.64/26 ip4:212.147.62.128/27 ip4:212.147.99.24/29 ip4:194.148.30.0/24 ip4:195.15.4.240/28 include:_spf-24x.romandie.hosting -all v=spf1 include:amazonses.com ?all v=spf1 a:catcher-241.romandie.hosting a:catcher-242.romandie.hosting ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "stgeorge.ch" + ], + "guess":[ + "saint-george.ch", + "saintgeorge.ch" + ] + }, + "resolve_flags":[] }, "5435":{ "bfs":"5435", "name":"Saint-Livres", - "canton":"", + "canton":"Kanton Waadt", "domain":"st-livres.ch", "mx":[ "stlivres-ch0e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com a:dynamic.st-livres.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com a:dynamic.st-livres.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stlivres-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "st-livres.ch" + ], + "redirect":[], + "wikidata":[ + "st-livres.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5436":{ "bfs":"5436", @@ -29108,13 +103209,39 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saint-oyens.ch" + ], + "guess":[ + "saint-oyens.ch" + ] + }, + "resolve_flags":[] }, "5437":{ "bfs":"5437", @@ -29126,13 +103253,35 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "saubraz.ch" + ], + "redirect":[], + "wikidata":[ + "saubraz.ch" + ], + "guess":[ + "saubraz.ch" + ] + }, + "resolve_flags":[] }, "5451":{ "bfs":"5451", @@ -29144,227 +103293,1040 @@ ], "spf":"v=spf1 +a:relay01.wlk-ems.com +a:exchange.avenches.ch ip4:212.90.203.0/27 ip4:195.186.0.0/16 include:spf.protection.outlook.com include:spf.mailjet.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a:relay01.wlk-ems.com +a:exchange.avenches.ch ip4:212.90.203.0/27 ip4:195.186.0.0/16 include:spf.protection.outlook.com include:spf.mailjet.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX avenches-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "avenches.ch" + ], + "guess":[ + "avenches.ch" + ] + }, + "resolve_flags":[] }, "5456":{ "bfs":"5456", "name":"Cudrefin", - "canton":"", + "canton":"Kanton Waadt", "domain":"cudrefin.ch", "mx":[ "cudrefin-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", + "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cudrefin-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "cudrefin.ch" + ], + "redirect":[], + "wikidata":[ + "cudrefin.ch" + ], + "guess":[ + "cudrefin.ch" + ] + }, + "resolve_flags":[] }, "5458":{ "bfs":"5458", "name":"Faoug", - "canton":"", + "canton":"Kanton Waadt", "domain":"faoug.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "faoug.ch" + ], + "redirect":[], + "wikidata":[ + "faoug.ch" + ], + "guess":[ + "faoug.ch" + ] + }, + "resolve_flags":[] }, "5464":{ "bfs":"5464", "name":"Vully-les-Lacs", - "canton":"", + "canton":"Kanton Waadt", "domain":"vully-les-lacs.ch", "mx":[ "vullyleslacs-ch01cc.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.14.2.218 include:spf.protection.outlook.com include:spf.eadmin-solutions.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.14.2.218 include:spf.protection.outlook.com include:spf.eadmin-solutions.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vullyleslacs-ch01cc.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vully-les-lacs.ch CNAME → selector1-vullyleslacs-ch01cc._domainkey.vllacs.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vully-les-lacs.ch CNAME → selector2-vullyleslacs-ch01cc._domainkey.vllacs.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "vully-les-lacs.ch" + ], + "redirect":[], + "wikidata":[ + "vully-les-lacs.ch" + ], + "guess":[ + "vully-les-lacs.ch" + ] + }, + "resolve_flags":[] }, "5471":{ "bfs":"5471", "name":"Bettens", - "canton":"", - "domain":"bettens.ch", + "canton":"Kanton Waadt", + "domain":"bluewin.ch", "mx":[ - "marot.bettens.ch" + "mx01.p.bluenet.ch", + "mx02.p.bluenet.ch" ], - "spf":"", + "spf":"v=spf1 redirect=_spf.bluewin.ch", "provider":"independent", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "bluewin.ch" + ] + }, + "resolve_flags":[] }, "5472":{ "bfs":"5472", "name":"Bournens", - "canton":"", + "canton":"Kanton Waadt", "domain":"bournens.ch", "mx":[ "bournens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bournens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bournens.ch" + ], + "guess":[ + "bournens.ch" + ] + }, + "resolve_flags":[] }, "5473":{ "bfs":"5473", - "name":"Boussens VD", - "canton":"", + "name":"Boussens", + "canton":"Kanton Waadt", "domain":"boussens.ch", "mx":[ "boussens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX boussens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "boussens.ch" + ], + "redirect":[], + "wikidata":[ + "boussens.ch" + ], + "guess":[ + "boussens.ch" + ] + }, + "resolve_flags":[] }, "5474":{ "bfs":"5474", "name":"La Chaux (Cossonay)", - "canton":"", + "canton":"Kanton Waadt", "domain":"lachaux.ch", "mx":[ "lachaux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com include:spf.infomaniak.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com include:spf.infomaniak.ch ~all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lachaux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lachaux.ch" + ], + "guess":[ + "la-chaux.ch", + "lachaux.ch" + ] + }, + "resolve_flags":[] }, "5475":{ "bfs":"5475", "name":"Chavannes-le-Veyron", - "canton":"", + "canton":"Kanton Waadt", "domain":"chavannes-le-veyron.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "chavannes-le-veyron.ch" + ], + "redirect":[], + "wikidata":[ + "chavannes-le-veyron.ch" + ], + "guess":[ + "chavannes-le-veyron.ch" + ] + }, + "resolve_flags":[] }, "5476":{ "bfs":"5476", "name":"Chevilly", - "canton":"", + "canton":"Kanton Waadt", "domain":"chevilly.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "chevilly.ch" + ], + "redirect":[], + "wikidata":[ + "chevilly.ch" + ], + "guess":[ + "chevilly.ch" + ] + }, + "resolve_flags":[] }, "5477":{ "bfs":"5477", "name":"Cossonay", - "canton":"", + "canton":"Kanton Waadt", "domain":"cossonay.ch", "mx":[ "cossonay-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:145.232.246.190 ip4:185.54.6.105 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:145.232.246.190 ip4:185.54.6.105 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cossonay-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cossonay.ch" + ], + "redirect":[], + "wikidata":[ + "cossonay.ch" + ], + "guess":[ + "cossonay.ch" + ] + }, + "resolve_flags":[] }, "5479":{ "bfs":"5479", "name":"Cuarnens", - "canton":"", + "canton":"Kanton Waadt", "domain":"cuarnens.ch", "mx":[ "cuarnens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:62.202.19.61 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:62.202.19.61 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cuarnens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "cuarnens.ch" + ], + "redirect":[], + "wikidata":[ + "cuarnens.ch" + ], + "guess":[ + "cuarnens.ch" + ] + }, + "resolve_flags":[] }, "5480":{ "bfs":"5480", "name":"Daillens", - "canton":"", + "canton":"Kanton Waadt", "domain":"daillens.ch", "mx":[ "daillens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX daillens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.daillens.ch CNAME → selector1-daillens-ch._domainkey.daillens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.daillens.ch CNAME → selector2-daillens-ch._domainkey.daillens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "daillens.ch" + ], + "guess":[ + "daillens.ch" + ] + }, + "resolve_flags":[] }, "5481":{ "bfs":"5481", - "name":"Dizy VD", + "name":"Dizy", "canton":"Kanton Waadt", "domain":"dizy.ch", "mx":[ @@ -29372,31 +104334,155 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dizy-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "dizy.ch" + ], + "guess":[ + "dizy.ch" + ] + }, + "resolve_flags":[] }, "5482":{ "bfs":"5482", "name":"Eclépens", - "canton":"", + "canton":"Kanton Waadt", "domain":"eclepens.ch", "mx":[ "eclepens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eclepens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eclepens.ch" + ], + "guess":[ + "eclepens.ch" + ] + }, + "resolve_flags":[] }, "5483":{ "bfs":"5483", @@ -29408,61 +104494,184 @@ ], "spf":"v=spf1 mx include:fwdsc.swisscenter.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:fwdsc.swisscenter.com -all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all", - "mx_asns":[ - 49457 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ferreyres.ch" + ], + "guess":[ + "ferreyres.ch" + ] + }, + "resolve_flags":[] }, "5484":{ "bfs":"5484", "name":"Gollion", - "canton":"", + "canton":"Kanton Waadt", "domain":"gollion.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "gollion.ch" + ], + "redirect":[], + "wikidata":[ + "gollion.ch" + ], + "guess":[ + "gollion.ch" + ] + }, + "resolve_flags":[] }, "5485":{ "bfs":"5485", "name":"Grancy", - "canton":"", + "canton":"Kanton Waadt", "domain":"grancy.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grancy.ch" + ], + "guess":[ + "grancy.ch" + ] + }, + "resolve_flags":[] }, "5486":{ "bfs":"5486", - "name":"L’Isle", - "canton":"", + "name":"L'Isle", + "canton":"Kanton Waadt", "domain":"lisle.ch", "mx":[ "lisle-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lisle-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lisle.ch" + ], + "guess":[ + "lisle.ch" + ] + }, + "resolve_flags":[] }, "5487":{ "bfs":"5487", @@ -29474,13 +104683,35 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.o-i.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "lussery-villars.ch" + ], + "redirect":[], + "wikidata":[ + "lussery-villars.ch" + ], + "guess":[ + "lussery-villars.ch" + ] + }, + "resolve_flags":[] }, "5488":{ "bfs":"5488", @@ -29492,32 +104723,89 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mauraz.ch" + ], + "guess":[ + "mauraz.ch" + ] + }, + "resolve_flags":[] }, "5489":{ "bfs":"5489", - "name":"Mex", - "canton":"", + "name":"Mex (VD)", + "canton":"Kanton Waadt", "domain":"mex.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mex.ch" + ], + "redirect":[], + "wikidata":[ + "mex.ch" + ], + "guess":[ + "mex.ch" + ] + }, + "resolve_flags":[] }, "5490":{ "bfs":"5490", - "name":"Moiry VD", + "name":"Moiry", "canton":"Kanton Waadt", "domain":"moiry.ch", "mx":[ @@ -29525,69 +104813,209 @@ ], "spf":"v=spf1 include:_spf.kreativmedia.ch mx a a:smtp-sh.infomaniak.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch mx a a:smtp-sh.infomaniak.ch -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "moiry.ch" + ], + "redirect":[], + "wikidata":[ + "moiry.ch" + ], + "guess":[ + "moiry.ch" + ] + }, + "resolve_flags":[] }, "5491":{ "bfs":"5491", "name":"Mont-la-Ville", - "canton":"", + "canton":"Kanton Waadt", "domain":"mont-la-ville.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "grf-fiduciaire.ch", + "mont-la-ville.ch", + "slide-effect.com" + ], + "redirect":[], + "wikidata":[ + "mont-la-ville.ch" + ], + "guess":[ + "mont-la-ville.ch" + ] + }, + "resolve_flags":[] }, "5492":{ "bfs":"5492", "name":"Montricher", - "canton":"", + "canton":"Kanton Waadt", "domain":"montricher.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "montricher.ch" + ], + "redirect":[], + "wikidata":[ + "montricher.ch" + ], + "guess":[ + "montricher.ch" + ] + }, + "resolve_flags":[] }, "5493":{ "bfs":"5493", "name":"Orny", - "canton":"", + "canton":"Kanton Waadt", "domain":"orny.ch", "mx":[ "orny-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:178.199.52.153 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.199.52.153 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX orny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.orny.ch CNAME → selector1-orny-ch._domainkey.communeorny.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.orny.ch CNAME → selector2-orny-ch._domainkey.communeorny.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "orny.ch" + ], + "redirect":[], + "wikidata":[ + "orny.ch" + ], + "guess":[ + "orny.ch" + ] + }, + "resolve_flags":[] }, "5495":{ "bfs":"5495", "name":"Penthalaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"penthalaz.ch", "mx":[ "cloud7.spamtitan.com", @@ -29595,67 +105023,379 @@ ], "spf":"v=spf1 mx mx:rcv.ch include:relay.mail.infomaniak.ch include:_spf_cd.spamtitan.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx mx:rcv.ch include:relay.mail.infomaniak.ch include:_spf_cd.spamtitan.com include:spf.protection.outlook.com ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:34.236.127.150 ip4:52.2.95.112 ip4:52.4.138.46 ip4:52.45.19.177 ip4:52.5.202.67 ip4:54.164.100.18 ip4:100.52.62.155 ip4:3.221.136.17 ip4:100.50.239.226 ip4:18.205.228.94 ip4:18.207.12.57 ip4:34.194.51.1 ip4:34.230.214.253 ip4:52.45.214.19 ip4:54.157.90.193 ip4:3.219.94.195 ip4:52.45.52.207 ip4:54.197.86.18 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "penthalaz.ch" + ], + "redirect":[], + "wikidata":[ + "penthalaz.ch" + ], + "guess":[ + "penthalaz.ch" + ] + }, + "resolve_flags":[] }, "5496":{ "bfs":"5496", "name":"Penthaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"penthaz.ch", "mx":[ "penthaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX penthaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.penthaz.ch CNAME → selector1-penthaz-ch._domainkey.penthaz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.penthaz.ch CNAME → selector2-penthaz-ch._domainkey.penthaz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "penthaz.ch" + ], + "guess":[ + "penthaz.ch" + ] + }, + "resolve_flags":[] }, "5497":{ "bfs":"5497", "name":"Pompaples", - "canton":"", + "canton":"Kanton Waadt", "domain":"pompaples.ch", "mx":[ "pompaples-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pompaples-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pompaples.ch" + ], + "redirect":[], + "wikidata":[ + "pompaples.ch" + ], + "guess":[ + "pompaples.ch" + ] + }, + "resolve_flags":[] }, "5498":{ "bfs":"5498", "name":"La Sarraz", - "canton":"", + "canton":"Kanton Waadt", "domain":"lasarraz.ch", "mx":[ "lasarraz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a:webcms.ruf.ch include:spf.ganesh-hosting.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a:webcms.ruf.ch include:spf.ganesh-hosting.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lasarraz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lasarraz.ch" + ], + "guess":[ + "lasarraz.ch" + ] + }, + "resolve_flags":[] }, "5499":{ "bfs":"5499", @@ -29667,141 +105407,622 @@ ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "senarclens.ch" + ], + "redirect":[], + "wikidata":[ + "senarclens.ch" + ], + "guess":[ + "senarclens.ch" + ] + }, + "resolve_flags":[] }, "5501":{ "bfs":"5501", "name":"Sullens", - "canton":"", + "canton":"Kanton Waadt", "domain":"sullens.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.81/32 ip4:193.33.30.87/32 ip4:193.33.30.91/32 ip4:193.33.30.92/32 ip4:193.33.30.124/32 ip4:193.33.30.125/32 ip4:185.122.238.197/32 ip4:185.122.238.201/32 ip4:185.122.238.202/32 include:seppmail.evok.ch -all v=spf1 ip4:193.33.30.89/32 ip4:185.122.238.200/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "sullens.ch" + ], + "redirect":[], + "wikidata":[ + "sullens.ch" + ], + "guess":[ + "sullens.ch" + ] + }, + "resolve_flags":[] }, "5503":{ "bfs":"5503", "name":"Vufflens-la-Ville", - "canton":"", + "canton":"Kanton Waadt", "domain":"vufflens-la-ville.ch", "mx":[ "vufflenslaville-ch02j.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vufflenslaville-ch02j.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vufflens-la-ville.ch" + ], + "redirect":[], + "wikidata":[ + "vufflens-la-ville.ch" + ], + "guess":[ + "vufflens-la-ville.ch" + ] + }, + "resolve_flags":[] }, "5511":{ "bfs":"5511", "name":"Assens", - "canton":"", + "canton":"Kanton Waadt", "domain":"assens.ch", "mx":[ "assens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.14.23.22 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.14.23.22 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX assens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "assens.ch" + ], + "redirect":[], + "wikidata":[ + "assens.ch" + ], + "guess":[ + "assens.ch" + ] + }, + "resolve_flags":[] }, "5512":{ "bfs":"5512", "name":"Bercher", - "canton":"", + "canton":"Kanton Waadt", "domain":"bercher-vd.ch", "mx":[ "berchervd-ch01i.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:185.54.6.111 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:185.54.6.111 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX berchervd-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bercher-vd.ch CNAME → selector1-berchervd-ch01i._domainkey.greffebercher.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bercher-vd.ch CNAME → selector2-berchervd-ch01i._domainkey.greffebercher.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "bercher-vd.ch" + ], + "redirect":[], + "wikidata":[ + "bercher-vd.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5514":{ "bfs":"5514", "name":"Bottens", - "canton":"", + "canton":"Kanton Waadt", "domain":"bottens.ch", "mx":[ "bottens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.200.241.130 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.200.241.130 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bottens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bottens.ch CNAME → selector1-bottens-ch._domainkey.communebottens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bottens.ch CNAME → selector2-bottens-ch._domainkey.communebottens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "bottens.ch" + ], + "redirect":[], + "wikidata":[ + "bottens.ch" + ], + "guess":[ + "bottens.ch" + ] + }, + "resolve_flags":[] }, "5515":{ "bfs":"5515", "name":"Bretigny-sur-Morrens", - "canton":"", + "canton":"Kanton Waadt", "domain":"bretigny.ch", "mx":[ "bretigny-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bretigny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bretigny.ch" + ], + "redirect":[], + "wikidata":[ + "bretigny.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5516":{ "bfs":"5516", - "name":"Cugy", - "canton":"", + "name":"Cugy (VD)", + "canton":"Kanton Waadt", "domain":"cugy-vd.ch", "mx":[ "cugyvd-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cugyvd-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cugy-vd.ch CNAME → selector1-cugyvd-ch01b._domainkey.communecugy.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cugy-vd.ch CNAME → selector2-cugyvd-ch01b._domainkey.communecugy.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "cugy-vd.ch" + ], + "redirect":[], + "wikidata":[ + "cugy-vd.ch" + ], + "guess":[ + "cugy.ch" + ] + }, + "resolve_flags":[] }, "5518":{ "bfs":"5518", "name":"Echallens", - "canton":"", + "canton":"Kanton Waadt", "domain":"echallens.ch", "mx":[ "mx1.mtaroutes.com", @@ -29811,32 +106032,110 @@ ], "spf":"v=spf1 include:spf1.ne.ch include:spf.mtaroutes.com include:spf.ganesh-hosting.ch ip4:185.214.154.116 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf1.ne.ch include:spf.mtaroutes.com include:spf.ganesh-hosting.ch ip4:185.214.154.116 -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 include:spf.antispamcloud.com -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:130.117.251.9 ip4:130.117.251.10 ip6:2001:978:2:6::20:10 ip6:2001:978:2:6::20:a ip4:94.75.244.176/27 ip4:94.75.192.139/27 ip4:95.211.2.195/26 ip4:95.211.2.198/26 ip4:95.211.2.199/26 ip4:95.211.2.201/26 ip4:95.211.2.202/26 ip4:95.211.2.204/26 ip4:94.75.244.183/27 ip4:94.75.244.184/27 ip6:2001:1af8:4400:a047:6::1 ip4:37.58.58.55/27 ip4:199.115.117.7/27 ip4:199.115.117.10/27 ip4:199.115.117.11/27 ip6:2604:9a00:2010:a024:21::1 ip4:185.201.16.0/22 ip4:192.69.18.0/24 ip4:208.70.90.0/24 ip4:45.91.121.0/24 ip4:45.93.148.0/24 ip4:45.131.180.0/24 ip4:45.140.132.0/24 ip4:193.41.32.0/24 ip4:185.225.27.0/24 ip4:80.91.219.0/24 ip4:188.190.113.0/24 ip4:45.147.95.0/24 ip4:46.229.240.0/24 ip4:87.236.163.0/24 ip4:188.190.112.0/24 ip4:192.69.19.0/24 ip4:208.70.91.0/24 ip4:185.209.51.0/24 ip4:185.218.226.0/24 -all", - "mx_asns":[ - 16633, - 43054 - ], - "autodiscover":{ - "autodiscover_cname":"owa.echallens.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "echallens.ch" + ], + "guess":[ + "echallens.ch", + "echallens.vd.ch" + ] + }, + "resolve_flags":[] }, "5520":{ "bfs":"5520", "name":"Essertines-sur-Yverdon", - "canton":"", + "canton":"Kanton Waadt", "domain":"essertines-sur-yverdon.ch", "mx":[ "essertinessuryverdon-ch02ee.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX essertinessuryverdon-ch02ee.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "essertines-sur-yverdon.ch" + ], + "redirect":[], + "wikidata":[ + "essertines-sur-yverdon.ch" + ], + "guess":[ + "essertines-sur-yverdon.ch" + ] + }, + "resolve_flags":[] }, "5521":{ "bfs":"5521", @@ -29848,17 +106147,82 @@ ], "spf":"v=spf1 mx include:spf.protection.outlook.com ip4:185.54.6.111 ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.protection.outlook.com ip4:185.54.6.111 ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX etagnieres-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "echallens.ch", + "etagnieres.ch" + ], + "redirect":[], + "wikidata":[ + "etagnieres.ch" + ], + "guess":[ + "etagnieres.ch" + ] + }, + "resolve_flags":[] }, "5522":{ "bfs":"5522", - "name":"Fey VD", + "name":"Fey", "canton":"Kanton Waadt", "domain":"fey-vd.ch", "mx":[ @@ -29866,17 +106230,111 @@ ], "spf":"v=spf1 ip4:62.202.5.220 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:62.202.5.220 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX feyvd-ch0i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.fey-vd.ch CNAME → selector1-feyvd-ch0i._domainkey.communefey.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.fey-vd.ch CNAME → selector2-feyvd-ch0i._domainkey.communefey.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "fey-vd.ch" + ], + "redirect":[], + "wikidata":[ + "fey-vd.ch" + ], + "guess":[ + "fey.ch" + ] + }, + "resolve_flags":[] }, "5523":{ "bfs":"5523", - "name":"Froideville VD", + "name":"Froideville", "canton":"Kanton Waadt", "domain":"froideville.ch", "mx":[ @@ -29884,82 +106342,374 @@ ], "spf":"v=spf1 a mx a:mailgate.ti-informatique.com include:_spf.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx a:mailgate.ti-informatique.com include:_spf.i-web.ch -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "froideville.ch" + ], + "redirect":[], + "wikidata":[ + "froideville.ch" + ], + "guess":[ + "froideville.ch" + ] + }, + "resolve_flags":[] }, "5527":{ "bfs":"5527", - "name":"Morrens", - "canton":"", + "name":"Morrens (VD)", + "canton":"Kanton Waadt", "domain":"morrens.ch", "mx":[ "morrens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX morrens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "morrens.ch" + ], + "redirect":[], + "wikidata":[ + "morrens.ch" + ], + "guess":[ + "morrens.ch" + ] + }, + "resolve_flags":[] }, "5529":{ "bfs":"5529", "name":"Oulens-sous-Echallens", - "canton":"", - "domain":"oulens.ch", + "canton":"Kanton Waadt", + "domain":"oulens-sous-echallens.ch", "mx":[ - "mta-gw.infomaniak.ch" + "oulenssousechallens-ch01ei.mail.protection.outlook.com" ], - "spf":"v=spf1 a mx include:spf.infomaniak.ch include:_spf.blk.ymc.swiss -all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 a mx include:spf.infomaniak.ch include:_spf.blk.ymc.swiss -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oulenssousechallens-ch01ei.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.oulens-sous-echallens.ch CNAME → selector1-oulenssousechallens-ch01ei._domainkey.oulenssousechallens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.oulens-sous-echallens.ch CNAME → selector2-oulenssousechallens-ch01ei._domainkey.oulenssousechallens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oulens-sous-echallens.ch" + ], + "redirect":[], + "wikidata":[ + "oulens.ch" + ], + "guess":[ + "oulens-sous-echallens.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "5530":{ "bfs":"5530", "name":"Pailly", - "canton":"", + "canton":"Kanton Waadt", "domain":"pailly.ch", "mx":[ "pailly-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX pailly-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.pailly.ch CNAME → selector1-pailly-ch._domainkey.communepailly.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.pailly.ch CNAME → selector2-pailly-ch._domainkey.communepailly.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pailly.ch" + ], + "redirect":[], + "wikidata":[ + "pailly.ch" + ], + "guess":[ + "pailly.ch" + ] + }, + "resolve_flags":[] }, "5531":{ "bfs":"5531", "name":"Penthéréaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"penthereaz.ch", "mx":[ "penthereaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX penthereaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "penthereaz.ch" + ], + "guess":[ + "penthereaz.ch" + ] + }, + "resolve_flags":[] }, "5533":{ "bfs":"5533", @@ -29971,13 +106721,35 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "poliez-pittet.ch" + ], + "redirect":[], + "wikidata":[ + "poliez-pittet.ch" + ], + "guess":[ + "poliez-pittet.ch" + ] + }, + "resolve_flags":[] }, "5534":{ "bfs":"5534", @@ -29989,29 +106761,121 @@ ], "spf":"v=spf1 include:spf.fastnet.ch include:spf.sogomail.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.fastnet.ch include:spf.sogomail.ch +mx +a -all v=spf1 include:spf.sogomail.ch ip4:193.246.63.0/24 ip4:194.6.183.0/24 ip4:195.65.49.0/24 ip4:195.176.194.0/24 ip6:2001:918::/32 mx -all v=spf1 ip4:91.212.152.0/24 ~all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"cleanmail", - "mx_asns":[ - 15547 - ] + "sources_detail":{ + "scrape":[ + "rueyres.ch" + ], + "redirect":[], + "wikidata":[ + "rueyres.ch" + ], + "guess":[ + "rueyres.ch" + ] + }, + "resolve_flags":[] }, "5535":{ "bfs":"5535", - "name":"Saint-Barthélemy", - "canton":"", + "name":"Saint-Barthélemy (VD)", + "canton":"Kanton Waadt", "domain":"st-barthelemy.ch", "mx":[ "stbarthelemy-ch0e.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:46.14.27.30/32 ip4:193.246.38.134/32 ip4:164.128.171.231/32 include:spf.protection.outlook.com ?all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:46.14.27.30/32 ip4:193.246.38.134/32 ip4:164.128.171.231/32 include:spf.protection.outlook.com ?all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stbarthelemy-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.st-barthelemy.ch CNAME → selector1-stbarthelemy-ch0e._domainkey.communedestbarthelemy.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.st-barthelemy.ch CNAME → selector2-stbarthelemy-ch0e._domainkey.communedestbarthelemy.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "st-barthelemy.ch" + ], + "redirect":[], + "wikidata":[ + "st-barthelemy.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5537":{ "bfs":"5537", @@ -30023,201 +106887,734 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villarsleterroir-ch01ie.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "villars-le-terroir.ch" + ], + "guess":[ + "villars-le-terroir.ch" + ] + }, + "resolve_flags":[] }, "5539":{ "bfs":"5539", "name":"Vuarrens", - "canton":"", + "canton":"Kanton Waadt", "domain":"vuarrens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vuarrens.ch" + ], + "redirect":[], + "wikidata":[ + "vuarrens.ch" + ], + "guess":[ + "vuarrens.ch" + ] + }, + "resolve_flags":[] }, "5540":{ "bfs":"5540", "name":"Montilliez", - "canton":"", + "canton":"Kanton Waadt", "domain":"montilliez.ch", "mx":[ "mailfilter.pinhaotec.com" ], "spf":"v=spf1 mx ip4:5.1.96.0/24 -all", "provider":"independent", - "mx_asns":[ - 198385 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "montilliez.ch" + ], + "guess":[ + "montilliez.ch" + ] + }, + "resolve_flags":[] }, "5541":{ "bfs":"5541", "name":"Goumoëns", - "canton":"", + "canton":"Kanton Waadt", "domain":"goumoens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "goumoens.ch" + ], + "guess":[ + "goumoens.ch" + ] + }, + "resolve_flags":[] }, "5551":{ "bfs":"5551", "name":"Bonvillars", - "canton":"", + "canton":"Kanton Waadt", "domain":"bonvillars.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "vd.ch" + ], + "redirect":[], + "wikidata":[ + "bonvillars.ch" + ], + "guess":[ + "bonvillars.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "5552":{ "bfs":"5552", "name":"Bullet", - "canton":"", + "canton":"Kanton Waadt", "domain":"bullet.ch", "mx":[ "bullet-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bullet-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bullet.ch CNAME → selector1-bullet-ch._domainkey.communebullet.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bullet.ch CNAME → selector2-bullet-ch._domainkey.communebullet.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bullet.ch" + ], + "redirect":[], + "wikidata":[ + "bullet.ch" + ], + "guess":[ + "bullet.ch" + ] + }, + "resolve_flags":[] }, "5553":{ "bfs":"5553", "name":"Champagne", - "canton":"", + "canton":"Kanton Waadt", "domain":"champagne.ch", "mx":[ "champagne-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX champagne-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "champagne.ch" + ], + "redirect":[], + "wikidata":[ + "champagne.ch" + ], + "guess":[ + "champagne.ch" + ] + }, + "resolve_flags":[] }, "5554":{ "bfs":"5554", "name":"Concise", - "canton":"", + "canton":"Kanton Waadt", "domain":"concise.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "concise.ch" + ], + "redirect":[], + "wikidata":[ + "concise.ch" + ], + "guess":[ + "concise.ch" + ] + }, + "resolve_flags":[] }, "5555":{ "bfs":"5555", "name":"Corcelles-près-Concise", - "canton":"", + "canton":"Kanton Waadt", "domain":"corcelles-concise.ch", "mx":[ "corcellesconcise-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corcellesconcise-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.corcelles-concise.ch CNAME → selector1-corcellesconcise-ch02c._domainkey.corcellesconcise.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.corcelles-concise.ch CNAME → selector2-corcellesconcise-ch02c._domainkey.corcellesconcise.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corcelles-concise.ch" + ], + "redirect":[], + "wikidata":[ + "corcelles-concise.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5556":{ "bfs":"5556", "name":"Fiez", - "canton":"", + "canton":"Kanton Waadt", "domain":"fiez.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fiez.ch" + ], + "guess":[ + "fiez.ch" + ] + }, + "resolve_flags":[] }, "5557":{ "bfs":"5557", "name":"Fontaines-sur-Grandson", - "canton":"", + "canton":"Kanton Waadt", "domain":"fontaines-sur-grandson.ch", "mx":[ "mail.fontaines-sur-grandson.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fontaines-sur-grandson.ch" + ], + "guess":[ + "fontaines-sur-grandson.ch" + ] + }, + "resolve_flags":[] }, "5559":{ "bfs":"5559", "name":"Giez", - "canton":"", + "canton":"Kanton Waadt", "domain":"giez.ch", "mx":[ "giez-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all include:mailgw.tizoo.com", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all include:mailgw.tizoo.com v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:5.182.248.11/32 ip4:212.147.66.228/32 ip4:212.147.66.247/32", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX giez-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.giez.ch CNAME → selector1-giez-ch._domainkey.communegiez.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.giez.ch CNAME → selector2-giez-ch._domainkey.communegiez.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "giez.ch" + ], + "redirect":[], + "wikidata":[ + "giez.ch" + ], + "guess":[ + "giez.ch" + ] + }, + "resolve_flags":[] }, "5560":{ "bfs":"5560", @@ -30229,31 +107626,121 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grandevent-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.grandevent.ch CNAME → selector1-grandevent-ch._domainkey.grandeventch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.grandevent.ch CNAME → selector2-grandevent-ch._domainkey.grandeventch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grandevent.ch" + ], + "guess":[ + "grandevent.ch" + ] + }, + "resolve_flags":[] }, "5561":{ "bfs":"5561", "name":"Grandson", - "canton":"", + "canton":"Kanton Waadt", "domain":"grandson.ch", "mx":[ "mta.witecom.ch" ], "spf":"v=spf1 mx include:spf.witecom.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.witecom.ch -all v=spf1 ip4:185.43.244.0/22 ip6:2a05:4880::/29 -all", - "mx_asns":[ - 199811 - ], - "autodiscover":{ - "autodiscover_cname":"owa.grandson.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "grandson.ch" + ], + "redirect":[], + "wikidata":[ + "grandson.ch" + ], + "guess":[ + "grandson.ch" + ] + }, + "resolve_flags":[] }, "5562":{ "bfs":"5562", @@ -30265,85 +107752,146 @@ ], "spf":"v=spf1 mx include:fwdsc.swisscenter.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:fwdsc.swisscenter.com -all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all", - "mx_asns":[ - 49457 - ], - "autodiscover":{ - "autodiscover_cname":"automx.swisscenter.com", - "autodiscover_srv":"automx.swisscenter.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mauborget.ch" + ], + "guess":[ + "mauborget.ch" + ] + }, + "resolve_flags":[] }, "5563":{ "bfs":"5563", "name":"Mutrux", "canton":"Kanton Waadt", - "domain":"mutrux.ch", + "domain":"mutrux.swiss", "mx":[ - "mail.mutrux.ch" + "mta-gw.infomaniak.ch" ], - "spf":"v=spf1 mx include:spf.w4ymail.at -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.w4ymail.at -all v=spf1 ip4:81.19.149.0/24 ip4:81.19.145.16/29 ip4:81.19.154.96/28 ip4:81.19.154.98/32 ip4:81.19.154.99/32 ip4:185.16.191.128/29 ip6:2a00:1a68:1:101::/64 -all", - "mx_asns":[ - 8560 - ] + "spf":"v=spf1 include:spf.infomaniak.ch -all", + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "override":[ + "mutrux.swiss" + ] + }, + "resolve_flags":[] }, "5564":{ "bfs":"5564", "name":"Novalles", - "canton":"", + "canton":"Kanton Waadt", "domain":"novalles.ch", "mx":[ "mail.horus.ch" ], "spf":"v=spf1 include:spf.horus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.horus.ch ~all v=spf1 ip4:194.182.164.99 ip4:185.19.29.61 ip4:194.182.167.72 ip4:159.100.254.204 ip4:159.100.247.17 ip4:81.6.33.6 ip6:2a04:c44:e00:3eb:482:6cff:fe00:d47 ip6:2a04:c44:e00:3eb:4e4:eff:fe00:862 ip6:2a04:c44:e00:3eb:4da:96ff:fe00:724 ip6:2a04:c44:e00:3eb:475:38ff:fe00:102c ip6:2a04:c43:e00:3eb:47f:feff:fe00:17a ~all", - "mx_asns":[ - 61098 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "novalles.ch" + ], + "guess":[ + "novalles.ch" + ] + }, + "resolve_flags":[] }, "5565":{ "bfs":"5565", - "name":"Onnens", - "canton":"", + "name":"Onnens (VD)", + "canton":"Kanton Waadt", "domain":"onnens.ch", "mx":[ "mta.witecom.ch" ], "spf":"v=spf1 include:spf.witecom.ch ?all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.witecom.ch ?all v=spf1 ip4:185.43.244.0/22 ip6:2a05:4880::/29 -all", - "mx_asns":[ - 199811 - ], - "autodiscover":{ - "autodiscover_srv":"owa.ynv.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "onnens.ch" + ], + "guess":[ + "onnens.ch" + ] + }, + "resolve_flags":[] }, "5566":{ "bfs":"5566", "name":"Provence", - "canton":"", + "canton":"Kanton Waadt", "domain":"provence.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "provence.ch" + ], + "guess":[ + "provence.ch" + ] + }, + "resolve_flags":[] }, "5568":{ "bfs":"5568", "name":"Sainte-Croix", - "canton":"", + "canton":"Kanton Waadt", "domain":"sainte-croix.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -30351,35 +107899,92 @@ ], "spf":"v=spf1 include:_spf_eucentral1.prod.hydra.sophos.com include:_spf.blk.ymc.swiss -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf_eucentral1.prod.hydra.sophos.com include:_spf.blk.ymc.swiss -all v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all v=spf1 ip4:185.110.152.0/22 ~all", - "gateway":"sophos", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + } ], - "autodiscover":{ - "autodiscover_cname":"webmail.sainte-croix.ch" - } + "gateway":"sophos", + "sources_detail":{ + "scrape":[ + "sainte-croix.ch" + ], + "redirect":[], + "wikidata":[ + "sainte-croix.ch" + ], + "guess":[ + "sainte-croix.ch", + "saintecroix.ch" + ] + }, + "resolve_flags":[] }, "5571":{ "bfs":"5571", "name":"Tévenon", "canton":"Kanton Waadt", - "domain":"villars-burquin.ch", + "domain":"tevenon.ch", "mx":[ - "mx1.rufcloud.ch", - "mx2.rufcloud.ch" + "mta.witecom.ch" ], - "spf":"v=spf1 include:spf.infomaniak.ch ?all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 6730 - ] + "spf":"v=spf1 mx include:spf.witecom.ch include:spf.customer.swiss-egov.cloud ?all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "override":[ + "tevenon.ch" + ] + }, + "resolve_flags":[] }, "5581":{ "bfs":"5581", "name":"Belmont-sur-Lausanne", - "canton":"", + "canton":"Kanton Waadt", "domain":"belmont.ch", "mx":[ "etrn-01.vtx.ch", @@ -30387,49 +107992,195 @@ ], "spf":"v=spf1 ip4:193.246.106.0/23 ip4:145.232.253.0/24 -all", "provider":"independent", - "mx_asns":[ - 12350, - 201586 - ], - "autodiscover":{ - "autodiscover_cname":"ex.pully.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "belmont.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5582":{ "bfs":"5582", "name":"Cheseaux-sur-Lausanne", - "canton":"", + "canton":"Kanton Waadt", "domain":"cheseaux.ch", "mx":[ "cheseaux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cheseaux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "cheseaux.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5583":{ "bfs":"5583", "name":"Crissier", - "canton":"", + "canton":"Kanton Waadt", "domain":"crissier.ch", "mx":[ "crissier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX crissier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "crissier.ch" + ], + "guess":[ + "crissier.ch" + ] + }, + "resolve_flags":[] }, "5584":{ "bfs":"5584", @@ -30441,65 +108192,280 @@ ], "spf":"v=spf1 +a:mail.epalinges.ch +a:www.epalinges.ch include:spf1.ne.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a:mail.epalinges.ch +a:www.epalinges.ch include:spf1.ne.ch include:spf.protection.outlook.com -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.epalinges.ch", - "autodiscover_srv":"webmail.epalinges.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX epalinges-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.epalinges.ch CNAME → selector1-epalinges-ch._domainkey.epalingesch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.epalinges.ch CNAME → selector2-epalinges-ch._domainkey.epalingesch.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "epalinges.ch" + ], + "redirect":[], + "wikidata":[ + "epalinges.ch" + ], + "guess":[ + "epalinges.ch", + "epalinges.vd.ch" + ] + }, + "resolve_flags":[] }, "5585":{ "bfs":"5585", "name":"Jouxtens-Mézery", - "canton":"", + "canton":"Kanton Waadt", "domain":"jouxtens-mezery.ch", "mx":[ "jouxtensmezery-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX jouxtensmezery-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.jouxtens-mezery.ch CNAME → selector1-jouxtensmezery-ch02b._domainkey.communejouxtensmezery.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.jouxtens-mezery.ch CNAME → selector2-jouxtensmezery-ch02b._domainkey.communejouxtensmezery.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "jouxtens-mezery.ch" + ], + "guess":[ + "jouxtens-mezery.ch" + ] + }, + "resolve_flags":[] }, "5586":{ "bfs":"5586", "name":"Lausanne", - "canton":"", + "canton":"Kanton Waadt", "domain":"lausanne.ch", "mx":[ "mxvdl.lausanne.ch" ], "spf":"v=spf1 ip4:193.200.220.0/24 mx:lausanne.ch include:_spf.general.transactional-mail-a.com -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.200.220.0/24 mx:lausanne.ch include:_spf.general.transactional-mail-a.com -all v=spf1 ip4:94.199.92.0/23 ip4:103.196.252.0/23 ip4:185.93.140.0/22 ip4:185.215.216.0/22 ip4:207.126.136.0/22 ip4:199.204.12.0/22 ip6:2a02:7b01:0:42::1:0/114 ip6:2a02:7b01:1000:42::1:0/114 ip6:2a02:7b01:2000:42::1:0/114 ip6:2a02:7b02:2000:42::1:0/114 ip6:2a02:7b02:0:42::1:0/114 ip6:2a02:7b03:0:42::1:0/114 ~all", - "mx_asns":[ - 34781 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "lausanne.ch" + ], + "redirect":[], + "wikidata":[ + "lausanne.ch" + ], + "guess":[ + "lausanne.ch" + ] + }, + "resolve_flags":[] }, "5587":{ "bfs":"5587", "name":"Le Mont-sur-Lausanne", - "canton":"", + "canton":"Kanton Waadt", "domain":"lemontsurlausanne.ch", "mx":[ "remote.lemontsurlausanne.ch" ], "spf":"v=spf1 a mx a:mta-gw.evok.ch ip4:213.200.229.44 ip4:94.103.98.202 ip4:185.54.6.105 ip4:46.14.178.178 include:spf.infomaniak.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 a mx a:mta-gw.evok.ch ip4:213.200.229.44 ip4:94.103.98.202 ip4:185.54.6.105 ip4:46.14.178.178 include:spf.infomaniak.ch ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.lemontsurlausanne.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "lemontsurlausanne.ch" + ], + "redirect":[], + "wikidata":[ + "lemontsurlausanne.ch" + ], + "guess":[ + "lemontsurlausanne.ch" + ] + }, + "resolve_flags":[] }, "5588":{ "bfs":"5588", @@ -30511,17 +108477,46 @@ ], "spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all", "provider":"independent", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "paudex.ch" + ], + "redirect":[], + "wikidata":[ + "paudex.ch" + ], + "guess":[ + "paudex.ch" + ] + }, + "resolve_flags":[] }, "5589":{ "bfs":"5589", "name":"Prilly", - "canton":"", + "canton":"Kanton Waadt", "domain":"prilly.ch", "mx":[ "mail.prilly.ch", @@ -30529,15 +108524,38 @@ ], "spf":"v=spf1 a mx include:_spf.i-web.ch include:spf.mailpro.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:_spf.i-web.ch include:spf.mailpro.com ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:178.239.38.0/24 ip4:62.133.56.0/24 ip4:62.50.74.80/28 ip4:62.50.73.144/28 ip4:62.50.76.40/29 ip4:62.50.76.16/28 ip4:195.81.131.64/27 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip6:2a06:fa00::/29 -all", - "mx_asns":[ - 34781 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "prilly.ch" + ], + "guess":[ + "prilly.ch" + ] + }, + "resolve_flags":[] }, "5590":{ "bfs":"5590", "name":"Pully", - "canton":"", + "canton":"Kanton Waadt", "domain":"pully.ch", "mx":[ "etrn-01.vtx.ch", @@ -30545,32 +108563,137 @@ ], "spf":"v=spf1 ip4:193.246.106.0/23 ip4:145.232.253.0/24 ip4:148.196.186.40 ip4:205.201.133.57 include:spf1.ne.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:193.246.106.0/23 ip4:145.232.253.0/24 ip4:148.196.186.40 ip4:205.201.133.57 include:spf1.ne.ch -all v=spf1 ip4:148.196.30.0/24 -all", - "mx_asns":[ - 12350, - 201586 - ], - "autodiscover":{ - "autodiscover_cname":"ex.pully.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "pully.ch" + ], + "guess":[ + "pully.ch" + ] + }, + "resolve_flags":[] }, "5591":{ "bfs":"5591", - "name":"Renens", - "canton":"", + "name":"Renens (VD)", + "canton":"Kanton Waadt", "domain":"renens.ch", "mx":[ "renens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:194.29.0.13 ip4:51.107.19.113 include:spf.protection.outlook.com include:spf2.sbr-master.net include:spf1.ne.ch include:spf.infomaniak.ch include:spf-de.emailsignatures365.com a:b.spf.service-now.com a:c.spf.service-now.com a:d.spf.service-now.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.29.0.13 ip4:51.107.19.113 include:spf.protection.outlook.com include:spf2.sbr-master.net include:spf1.ne.ch include:spf.infomaniak.ch include:spf-de.emailsignatures365.com a:b.spf.service-now.com a:c.spf.service-now.com a:d.spf.service-now.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:spf.sarbacane.com -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all v=spf1 ip4:92.175.137.8/29 ip4:185.227.1.128/29 ip4:185.140.220.0/22 ip4:149.6.90.8/29 ip4:217.74.111.240/28 ip4:81.93.29.64/28 ip4:185.8.253.128/28 ip4:37.97.66.0/25 ip4:217.74.111.144/28 ip4:185.75.141.192/27 ip4:109.197.246.193/27 ip4:109.197.241.240/28 ip4:109.197.245.96/27 ip4:185.218.212.96/27 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX renens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "renens.ch" + ], + "guess":[ + "renens.ch" + ] + }, + "resolve_flags":[] }, "5592":{ "bfs":"5592", @@ -30582,36 +108705,185 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.komodo.ch ip4:46.14.212.184/29 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.komodo.ch ip4:46.14.212.184/29 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.62.168.0/22 ip4:194.113.228.0/22 ip6:2a02:7e60::/32 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.romanel-sur-lausanne.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX romanelsurlausanne-ch01ii.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.romanel-sur-lausanne.ch CNAME → selector1-romanelsurlausanne-ch01ii._domainkey.romanelsurlausanne.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.romanel-sur-lausanne.ch CNAME → selector2-romanelsurlausanne-ch01ii._domainkey.romanelsurlausanne.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "romanel-sur-lausanne.ch" + ], + "guess":[ + "romanel-sur-lausanne.ch" + ] + }, + "resolve_flags":[] }, "5601":{ "bfs":"5601", "name":"Chexbres", - "canton":"", + "canton":"Kanton Waadt", "domain":"chexbres.ch", "mx":[ "chexbres-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:193.8.140.198/32 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:193.8.140.198/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chexbres-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "chexbres.ch" + ], + "redirect":[], + "wikidata":[ + "chexbres.ch" + ], + "guess":[ + "chexbres.ch" + ] + }, + "resolve_flags":[] }, "5604":{ "bfs":"5604", - "name":"Forel", + "name":"Forel (Lavaux)", "canton":"Kanton Waadt", "domain":"forel.ch", "mx":[ @@ -30619,18 +108891,80 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX forel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "forel.ch" + ], + "guess":[ + "forel.ch" + ] + }, + "resolve_flags":[] }, "5606":{ "bfs":"5606", "name":"Lutry", - "canton":"", + "canton":"Kanton Waadt", "domain":"lutry.ch", "mx":[ "mail.lutry.rcv.ch", @@ -30638,68 +108972,243 @@ ], "spf":"v=spf1 a mx include:spf.vtx.ch include:spf.rcv.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.vtx.ch include:spf.rcv.ch ~all v=spf1 ip4:194.38.175.0/24 ip4:194.38.166.0/27 ip4:212.40.2.0/25 ip4:212.109.85.192/27 ip4:212.147.10.0/26 ip4:212.147.62.64/26 ip4:212.147.62.128/27 ip4:212.147.99.24/29 ip4:194.148.30.0/24 ip4:195.15.4.240/28 include:_spf-24x.romandie.hosting -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 a:catcher-241.romandie.hosting a:catcher-242.romandie.hosting ~all", - "mx_asns":[ - 15675 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.lutry.rcv.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lutry.ch" + ], + "guess":[ + "lutry.ch" + ] + }, + "resolve_flags":[] }, "5607":{ "bfs":"5607", "name":"Puidoux", - "canton":"", + "canton":"Kanton Waadt", "domain":"puidoux.ch", "mx":[ "puidoux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX puidoux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "puidoux.ch" + ], + "redirect":[], + "wikidata":[ + "puidoux.ch" + ], + "guess":[ + "puidoux.ch" + ] + }, + "resolve_flags":[] }, "5609":{ "bfs":"5609", "name":"Rivaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"rivaz.ch", "mx":[ "rivaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rivaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "rivaz.ch" + ], + "guess":[ + "rivaz.ch" + ] + }, + "resolve_flags":[] }, "5610":{ "bfs":"5610", - "name":"Saint-Saphorin", - "canton":"", + "name":"Saint-Saphorin (Lavaux)", + "canton":"Kanton Waadt", "domain":"saint-saphorin.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saint-saphorin.ch" + ], + "guess":[ + "saint-saphorin.ch" + ] + }, + "resolve_flags":[] }, "5611":{ "bfs":"5611", - "name":"Savigny VD", + "name":"Savigny", "canton":"Kanton Waadt", "domain":"savigny.ch", "mx":[ @@ -30707,18 +109216,92 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.rcv.ch ip4:185.54.6.105 include:_spf.webforge.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.rcv.ch ip4:185.54.6.105 include:_spf.webforge.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX savigny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.savigny.ch CNAME → selector1-savigny-ch._domainkey.communedesavigny.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.savigny.ch CNAME → selector2-savigny-ch._domainkey.communedesavigny.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "savigny.ch" + ], + "guess":[ + "savigny.ch" + ] + }, + "resolve_flags":[] }, "5613":{ "bfs":"5613", "name":"Bourg-en-Lavaux", - "canton":"", + "canton":"Kanton Waadt", "domain":"b-e-l.ch", "mx":[ "cust4434-1.in.mailcontrol.com", @@ -30726,9 +109309,21 @@ ], "spf":"v=spf1 include:fwdsc.swisscenter.com include:mailcontrol.com include:servicehoster.ch a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com ip4:185.54.6.105 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:fwdsc.swisscenter.com include:mailcontrol.com include:servicehoster.ch a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com ip4:185.54.6.105 ~all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all v=spf1 ip4:85.115.32.0/19 ip4:86.111.216.0/21 ip4:116.50.56.0/21 ip4:208.87.232.0/21 ip4:196.216.238.0/23 ip4:192.151.176.0/20 ~all v=spf1 ip4:194.191.24.160/27 ip4:194.191.24.192/26 ip4:194.191.24.244/32 ip4:178.20.103.193 include:secure-mailgate.com -all v=spf1 ip4:46.243.95.179 ip4:46.243.95.180 ip4:128.127.70.0/26 ip4:89.22.108.0/24 ip4:192.162.87.0/24 ip4:109.237.142.0/24 ip6:2a02:a60:0:5::/64 ip4:46.243.88.174 ip4:46.243.88.175 ip4:46.243.88.176 ip4:46.243.88.177 ip4:31.47.251.17 a:mailcloud.dogado.de -all", - "mx_asns":[ - 44444 + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "b-e-l.ch" + ], + "redirect":[], + "wikidata":[ + "b-e-l.ch" + ], + "guess":[] + }, + "resolve_flags":[ + "website_mismatch" ] }, "5621":{ @@ -30741,103 +109336,428 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX aclens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.aclens.ch CNAME → selector1-aclens-ch._domainkey.communeaclens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.aclens.ch CNAME → selector2-aclens-ch._domainkey.communeaclens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aclens.ch" + ], + "redirect":[], + "wikidata":[ + "aclens.ch" + ], + "guess":[ + "aclens.ch" + ] + }, + "resolve_flags":[] }, "5622":{ "bfs":"5622", "name":"Bremblens", - "canton":"", + "canton":"Kanton Waadt", "domain":"bremblens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "bremblens.ch" + ], + "redirect":[], + "wikidata":[ + "bremblens.ch" + ], + "guess":[ + "bremblens.ch" + ] + }, + "resolve_flags":[] }, "5623":{ "bfs":"5623", "name":"Buchillon", - "canton":"", + "canton":"Kanton Waadt", "domain":"buchillon.ch", "mx":[ "buchillon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buchillon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "buchillon.ch" + ], + "redirect":[], + "wikidata":[ + "buchillon.ch" + ], + "guess":[ + "buchillon.ch" + ] + }, + "resolve_flags":[] }, "5624":{ "bfs":"5624", "name":"Bussigny", - "canton":"", + "canton":"Kanton Waadt", "domain":"bussigny.ch", "mx":[ "bussigny-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:212.71.120.144/28 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:212.71.120.144/28 ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bussigny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bussigny.ch CNAME → selector1-bussigny-ch._domainkey.bussignych.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bussigny.ch CNAME → selector2-bussigny-ch._domainkey.bussignych.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bussigny.ch" + ], + "guess":[ + "bussigny.ch" + ] + }, + "resolve_flags":[] }, "5627":{ "bfs":"5627", "name":"Chavannes-près-Renens", - "canton":"", + "canton":"Kanton Waadt", "domain":"chavannes.ch", "mx":[ "chavannes-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf-de.emailsignatures365.com ip4:212.71.120.144/28 ip4:185.25.192.92/32 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf-de.emailsignatures365.com ip4:212.71.120.144/28 ip4:185.25.192.92/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chavannes-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.chavannes.ch CNAME → selector1-chavannes-ch._domainkey.communechavannes.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.chavannes.ch CNAME → selector2-chavannes-ch._domainkey.communechavannes.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chavannes.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5628":{ "bfs":"5628", - "name":"Chigny VD", - "canton":"", + "name":"Chigny", + "canton":"Kanton Waadt", "domain":"chigny.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.vtx.ch ip4:185.54.6.105 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.vtx.ch ip4:185.54.6.105 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:194.38.175.0/24 ip4:194.38.166.0/27 ip4:212.40.2.0/25 ip4:212.109.85.192/27 ip4:212.147.10.0/26 ip4:212.147.62.64/26 ip4:212.147.62.128/27 ip4:212.147.99.24/29 ip4:194.148.30.0/24 ip4:195.15.4.240/28 include:_spf-24x.romandie.hosting -all v=spf1 include:amazonses.com ?all v=spf1 a:catcher-241.romandie.hosting a:catcher-242.romandie.hosting ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "chigny.ch", + "lemansites.ch" + ], + "redirect":[], + "wikidata":[ + "chigny.ch" + ], + "guess":[ + "chigny.ch" + ] + }, + "resolve_flags":[] }, "5629":{ "bfs":"5629", @@ -30849,31 +109769,115 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "clarmont.ch" + ], + "guess":[ + "clarmont.ch" + ] + }, + "resolve_flags":[] }, "5631":{ "bfs":"5631", "name":"Denens", - "canton":"", + "canton":"Kanton Waadt", "domain":"denens.ch", "mx":[ "denens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.mailhostbox.com include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.mailhostbox.com include:spf.protection.outlook.com -all v=spf1 redirect=_spf.mailhostbox.com v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:_netblocks1.mailhostbox.com include:_netblocks2.mailhostbox.com include:_netblocks3.mailhostbox.com include:all._spf.ds.network ~all v=spf1 ip4:162.210.70.34 ip4:162.210.70.51 ip4:162.210.70.52/30 ip4:162.210.70.56/30 ip4:162.222.225.9 ip4:162.222.225.10/31 ip4:162.222.225.12/30 ip4:162.222.225.16/28 ip4:162.222.225.32 ip4:162.222.225.40/31 ip4:162.222.225.58/31 ~all v=spf1 ip4:199.79.62.66 ip4:199.79.63.209 ip4:199.79.63.210/31 ip4:199.79.63.212/30 ip4:199.79.63.216/29 ip4:199.79.63.228 ip4:199.79.63.249 ip4:204.11.59.83 ip4:204.11.59.142 ip4:208.91.198.22 ip4:208.91.198.28 ip4:208.91.198.44 ip4:74.119.239.0/25 ~all v=spf1 ip4:208.91.198.48 ip4:208.91.198.156 ip4:208.91.198.232 ip4:208.91.199.196/31 ip4:208.91.199.206/31 ip4:208.91.199.208/29 ip4:208.91.199.216/30 ip4:208.91.199.220 ip4:208.91.199.224/31 ip4:208.91.199.228/31 ip4:208.91.199.247 ~all v=spf1 +ip4:203.170.80.0/21 +ip4:27.54.80.0/20 +ip4:27.123.24.0/21 +ip4:27.124.112.0/20 +ip4:103.250.212.0/22 +ip4:103.254.136.0/22 +ip4:103.226.220.0/22 +ip4:163.47.72.0/22 +ip4:43.243.116.0/22 +ip4:43.250.248.0/22 +ip4:176.74.24.0/21 +ip4:185.184.152.0/22 +ip4:103.67.234.0/23 +ip4:103.67.248.0/24 +ip4:103.68.164.0/22 +ip4:103.52.62.0/24 +ip4:103.20.200.0/22 +ip4:122.201.64.0/18 +ip4:103.9.100.0/22 +ip4:111.235.136.0/22 +ip4:119.31.232.0/21 +ip4:101.100.192.0/18 +ip4:103.245.92.0/22 +ip4:103.11.188.0/22 +ip4:43.245.108.0/22 +ip4:103.15.232.0/22 +ip4:43.245.96.0/22 +ip4:43.245.252.0/22 +ip4:103.24.4.0/24 +ip4:103.24.7.0/24 +ip4:103.76.36.0/24 +ip4:103.76.37.0/24 +ip4:116.0.16.0/21 +ip4:103.43.38.0/24 +ip4:27.111.81.0/24 +ip4:27.111.82.0/23 +ip4:27.111.84.0/24 +ip4:27.111.86.0/24 +ip4:27.111.88.0/23 +ip4:27.111.92.0/22 +ip4:116.0.16.0/21 +ip4:203.17.36.0/24 +ip4:203.26.41.0/24 +ip4:203.28.48.0/23 +ip4:203.28.50.0/24 +ip4:203.27.76.0/24 +ip4:103.28.48.0/22 +ip4:202.146.208.0/21 +ip4:103.29.84.0/23 +ip4:103.42.224.0/23 +ip4:114.142.160.0/22 +ip4:43.245.52.0/22 +ip4:119.47.112.0/22 +ip4:112.109.82.0/23 +ip4:119.47.122.0/23 +ip4:103.253.193.0/24 +ip4:112.109.74.0/24 +ip4:112.109.81.0/24 +ip4:112.109.84.0/24 +ip4:119.47.117.0/24 +ip4:119.47.118.0/24 +ip4:119.47.124.0/24 +ip4:202.174.80.0/24 +ip6:2402:af00::/32 +ip6:2001:df2:e400::/48 +ip6:2402:cb40::/32 +ip6:2a00:fd80::/32 +ip6:2407:4c00::/32 +ip6:2400:6d80::/32 +ip6:2404:8280::/32 +ip6:2405:df80::/32 +ip6:2400:8240::/32 +ip6:2405:3f00::/31 +ip6:2403:cb00::/32 +ip6:2407:2200::/32 +ip6:2406:adc0::/32 +ip6:2404:3800:1::/48 +ip6:2404:3800:f::/48 +ip6:2406:1200:1::/48 +ip6:2406:1200:f::/48 +ip4:27.54.84.71/28 +ip4:27.54.84.89/28 +ip4:27.54.82.0/24 +ip4:27.54.80.46/32 +ip4:27.54.80.47/32", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX denens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "denens.ch" + ], + "redirect":[], + "wikidata":[ + "denens.ch" + ], + "guess":[ + "denens.ch" + ] + }, + "resolve_flags":[] }, "5632":{ "bfs":"5632", @@ -30885,18 +109889,88 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.customer.swiss-egov.cloud -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.customer.swiss-egov.cloud -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX denges-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "denges.ch" + ], + "redirect":[], + "wikidata":[ + "denges.ch" + ], + "guess":[ + "denges.ch" + ] + }, + "resolve_flags":[] }, "5633":{ "bfs":"5633", "name":"Echandens", - "canton":"", + "canton":"Kanton Waadt", "domain":"echandens.ch", "mx":[ "mx1.azinformatique.ch", @@ -30904,73 +109978,334 @@ "mx3.azinformatique.ch", "mx4.azinformatique.ch" ], - "spf":"v=spf1 mx a ip4:185.98.28.16 -all", - "provider":"independent", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mails.echandens.ch" - } + "spf":"v=spf1 mx a ip4:185.98.28.16 include:spf.eadmin-solutions.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "echandens.ch" + ], + "redirect":[], + "wikidata":[ + "echandens.ch" + ], + "guess":[ + "echandens.ch" + ] + }, + "resolve_flags":[] }, "5634":{ "bfs":"5634", "name":"Echichens", - "canton":"", + "canton":"Kanton Waadt", "domain":"echichens.ch", "mx":[ "echichens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX echichens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "echichens.ch" + ], + "redirect":[], + "wikidata":[ + "echichens.ch" + ], + "guess":[ + "echichens.ch" + ] + }, + "resolve_flags":[] }, "5635":{ "bfs":"5635", - "name":"Ecublens", - "canton":"", + "name":"Ecublens (VD)", + "canton":"Kanton Waadt", "domain":"ecublens.ch", "mx":[ "ecublens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:62.2.153.110 include:spf.ganesh-hosting.ch include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mailjet.com include:spf-eu.emailsignatures365.com a:c.spf.service-now.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:62.2.153.110 include:spf.ganesh-hosting.ch include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mailjet.com include:spf-eu.emailsignatures365.com a:c.spf.service-now.com -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 ip4:13.74.137.176 ip4:52.138.216.130 ip4:40.114.221.220 ip4:40.113.3.253 ip4:23.100.56.64 ip4:137.116.240.241 ip4:13.74.144.83 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ecublens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ecublens.ch CNAME → selector1-ecublens-ch._domainkey.communeecublens.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ecublens.ch CNAME → selector2-ecublens-ch._domainkey.communeecublens.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ecublens.ch" + ], + "guess":[ + "ecublens.ch" + ] + }, + "resolve_flags":[] }, "5636":{ "bfs":"5636", "name":"Etoy", - "canton":"", + "canton":"Kanton Waadt", "domain":"etoy.ch", "mx":[ "etoy-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.14.144.46 include:spf.protection.outlook.com include:_spf.bluewin.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.14.144.46 include:spf.protection.outlook.com include:_spf.bluewin.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.247.246.0/24 ip4:138.188.174.0/24 ip4:138.188.175.0/24 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX etoy-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.etoy.ch CNAME → selector1-etoy-ch._domainkey.etoy.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.etoy.ch CNAME → selector2-etoy-ch._domainkey.etoy.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "etoy.ch" + ], + "redirect":[], + "wikidata":[ + "etoy.ch" + ], + "guess":[ + "etoy.ch" + ] + }, + "resolve_flags":[] }, "5637":{ "bfs":"5637", "name":"Lavigny", - "canton":"", + "canton":"Kanton Waadt", "domain":"lavigny.ch", "mx":[ "alt1.aspmx.l.google.com", @@ -30981,46 +110316,257 @@ ], "spf":"v=spf1 include:_spf.google.com ~all", "provider":"google", - "spf_resolved":"v=spf1 include:_spf.google.com ~all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all", - "mx_asns":[ - 15169 - ] + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt1.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt2.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt3.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt4.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx.l.google.com matches google" + }, + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "lavigny.ch" + ], + "redirect":[], + "wikidata":[ + "lavigny.ch" + ], + "guess":[ + "lavigny.ch" + ] + }, + "resolve_flags":[] }, "5638":{ "bfs":"5638", "name":"Lonay", - "canton":"", + "canton":"Kanton Waadt", "domain":"lonay.ch", "mx":[ "lonay-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lonay-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lonay.ch" + ], + "redirect":[], + "wikidata":[ + "lonay.ch" + ], + "guess":[ + "lonay.ch" + ] + }, + "resolve_flags":[] }, "5639":{ "bfs":"5639", - "name":"Lully VD", - "canton":"", + "name":"Lully (VD)", + "canton":"Kanton Waadt", "domain":"lully.ch", "mx":[ "lully-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lully-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lully.ch" + ], + "guess":[ + "lully.ch" + ] + }, + "resolve_flags":[] }, "5640":{ "bfs":"5640", @@ -31032,32 +110578,127 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lussysurmorges-ch01cc.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lussy-sur-morges.ch" + ], + "guess":[ + "lussy-sur-morges.ch" + ] + }, + "resolve_flags":[] }, "5642":{ "bfs":"5642", "name":"Morges", - "canton":"", + "canton":"Kanton Waadt", "domain":"morges.ch", "mx":[ "mx1.hc1035-98.eu.iphmx.com", "mx2.hc1035-98.eu.iphmx.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com include:spf1.ne.ch ip4:159.100.243.117 ip4:185.19.28.207 exists:%{i}.spf.hc1035-98.eu.iphmx.com ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com include:spf1.ne.ch ip4:159.100.243.117 ip4:185.19.28.207 exists:%{i}.spf.hc1035-98.eu.iphmx.com ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:148.196.30.0/24 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 30238 - ], - "autodiscover":{ - "autodiscover_cname":"owa.morges.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":70.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "gateway":"cisco", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "morges.ch" + ], + "guess":[ + "morges.ch" + ] + }, + "resolve_flags":[] }, "5643":{ "bfs":"5643", @@ -31069,13 +110710,53 @@ ], "spf":"v=spf1 ip4:194.209.244.213 ip4:37.0.59.14 include:spf.infomaniak.ch include:_spf.i-web.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 ip4:194.209.244.213 ip4:37.0.59.14 include:spf.infomaniak.ch include:_spf.i-web.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "preverenges.ch" + ], + "redirect":[], + "wikidata":[ + "preverenges.ch" + ], + "guess":[ + "preverenges.ch" + ] + }, + "resolve_flags":[] }, "5645":{ "bfs":"5645", @@ -31087,37 +110768,185 @@ ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.infomaniak.ch include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.infomaniak.ch include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.asp.ruf.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX romanelsurmorges-ch01ii.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.romanel-sur-morges.ch CNAME → selector1-romanelsurmorges-ch01ii._domainkey.romanelsurmorgesch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.romanel-sur-morges.ch CNAME → selector2-romanelsurmorges-ch01ii._domainkey.romanelsurmorgesch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "romanel-sur-morges.ch" + ], + "redirect":[], + "wikidata":[ + "romanel-sur-morges.ch" + ], + "guess":[ + "romanel-sur-morges.ch" + ] + }, + "resolve_flags":[] }, "5646":{ "bfs":"5646", "name":"Saint-Prex", - "canton":"", + "canton":"Kanton Waadt", "domain":"saint-prex.ch", "mx":[ "saintprex-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX saintprex-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "taniaemery.ch" + ], + "redirect":[], + "wikidata":[ + "saint-prex.ch" + ], + "guess":[ + "saint-prex.ch", + "saintprex.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "5648":{ "bfs":"5648", - "name":"Saint-Sulpice", - "canton":"", + "name":"Saint-Sulpice (VD)", + "canton":"Kanton Waadt", "domain":"st-sulpice.ch", "mx":[ "mail.rcv.ch", @@ -31126,32 +110955,155 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.rcv.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.rcv.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all", - "mx_asns":[ - 8075, - 15675 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stsulpice-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "st-sulpice.ch" + ], + "redirect":[], + "wikidata":[ + "st-sulpice.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5649":{ "bfs":"5649", "name":"Tolochenaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"tolochenaz.ch", "mx":[ "tolochenaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tolochenaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "tolochenaz.ch" + ], + "guess":[ + "tolochenaz.ch" + ] + }, + "resolve_flags":[] }, "5650":{ "bfs":"5650", @@ -31164,14 +111116,95 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075, - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vauxsurmorges-ch01bb.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vaux-sur-morges.ch CNAME → selector1-vauxsurmorges-ch01bb._domainkey.vauxsurmorges.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vaux-sur-morges.ch CNAME → selector2-vauxsurmorges-ch01bb._domainkey.vauxsurmorges.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vaux-sur-morges.ch" + ], + "redirect":[], + "wikidata":[ + "vaux-sur-morges.ch" + ], + "guess":[ + "vaux-sur-morges.ch" + ] + }, + "resolve_flags":[] }, "5651":{ "bfs":"5651", @@ -31183,13 +111216,84 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villarssaintecroix-ch01i1e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.villars-sainte-croix.ch CNAME → selector2-villarssaintecroix-ch01i1e._domainkey.communevillarssaintecroix.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "polouest.ch", + "villars-sainte-croix.ch" + ], + "redirect":[], + "wikidata":[ + "villars-sainte-croix.ch" + ], + "guess":[ + "villars-sainte-croix.ch" + ] + }, + "resolve_flags":[] }, "5652":{ "bfs":"5652", @@ -31201,158 +111305,562 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villarssousyens-ch01i1b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "villars-sous-yens.ch" + ], + "guess":[ + "villars-sous-yens.ch", + "villarssousyens.ch" + ] + }, + "resolve_flags":[] }, "5653":{ "bfs":"5653", "name":"Vufflens-le-Château", - "canton":"", + "canton":"Kanton Waadt", "domain":"vufflens-le-chateau.ch", "mx":[ "vufflenslechateau-ch02j.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vufflenslechateau-ch02j.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "pro-xy.ch", + "vufflens-le-chateau.ch" + ], + "redirect":[], + "wikidata":[ + "vufflens-le-chateau.ch" + ], + "guess":[ + "vufflens-le-chateau.ch" + ] + }, + "resolve_flags":[] }, "5654":{ "bfs":"5654", "name":"Vullierens", - "canton":"", + "canton":"Kanton Waadt", "domain":"vullierens.ch", "mx":[ "vullierens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vullierens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vullierens.ch" + ], + "redirect":[], + "wikidata":[ + "vullierens.ch" + ], + "guess":[ + "vullierens.ch" + ] + }, + "resolve_flags":[] }, "5655":{ "bfs":"5655", "name":"Yens", - "canton":"", + "canton":"Kanton Waadt", "domain":"yens.ch", "mx":[ "yens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 mx a -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX yens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "yens.ch" + ], + "guess":[ + "yens.ch" + ] + }, + "resolve_flags":[] }, "5656":{ "bfs":"5656", "name":"Hautemorges", - "canton":"", + "canton":"Kanton Waadt", "domain":"hautemorges.ch", "mx":[ "hautemorges-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:84.253.10.182 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:84.253.10.182 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hautemorges-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.hautemorges.ch CNAME → selector1-hautemorges-ch._domainkey.communehautemorges.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.hautemorges.ch CNAME → selector2-hautemorges-ch._domainkey.communehautemorges.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hautemorges.ch" + ], + "redirect":[], + "wikidata":[ + "hautemorges.ch" + ], + "guess":[ + "hautemorges.ch" + ] + }, + "resolve_flags":[] }, "5661":{ "bfs":"5661", "name":"Boulens", - "canton":"", + "canton":"Kanton Waadt", "domain":"boulens.ch", "mx":[ "mail.boulens.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "boulens.ch" + ], + "redirect":[], + "wikidata":[ + "boulens.ch" + ], + "guess":[ + "boulens.ch" + ] + }, + "resolve_flags":[] }, "5663":{ "bfs":"5663", "name":"Bussy-sur-Moudon", - "canton":"", + "canton":"Kanton Waadt", "domain":"bussy-sur-moudon.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "bussy-sur-moudon.ch" + ], + "redirect":[], + "wikidata":[ + "bussy-sur-moudon.ch" + ], + "guess":[ + "bussy-sur-moudon.ch" + ] + }, + "resolve_flags":[] }, "5665":{ "bfs":"5665", "name":"Chavannes-sur-Moudon", - "canton":"", + "canton":"Kanton Waadt", "domain":"chavannes-sur-moudon.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.trisinformatique.com include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.trisinformatique.com include:spf.infomaniak.ch -all v=spf1 ip4:185.181.160.24 ip4:46.231.205.91 ip4:141.101.62.16 ip4:80.80.228.56 ip4:185.200.221.130 ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chavannes-sur-moudon.ch" + ], + "guess":[ + "chavannes-sur-moudon.ch" + ] + }, + "resolve_flags":[] }, "5669":{ "bfs":"5669", "name":"Curtilles", - "canton":"", + "canton":"Kanton Waadt", "domain":"curtilles.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "curtilles.ch" + ], + "guess":[ + "curtilles.ch" + ] + }, + "resolve_flags":[] }, "5671":{ "bfs":"5671", - "name":"Dompierre", + "name":"Dompierre (VD)", "canton":"Kanton Waadt", "domain":"dompierre-vd.ch", "mx":[ @@ -31360,13 +111868,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dompierrevd-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dompierre-vd.ch" + ], + "redirect":[], + "wikidata":[ + "dompierre-vd.ch" + ], + "guess":[ + "dompierre.ch" + ] + }, + "resolve_flags":[] }, "5673":{ "bfs":"5673", @@ -31378,79 +111950,304 @@ ], "spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX hermenches-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "hermenches.ch" + ], + "guess":[ + "hermenches.ch" + ] + }, + "resolve_flags":[] }, "5674":{ "bfs":"5674", "name":"Lovatens", - "canton":"", + "canton":"Kanton Waadt", "domain":"lovatens.ch", "mx":[ "srv.lovatens.ch" ], "spf":"v=spf1 a mx include:spf.swizzonic-mail.ch include:_spf.blk.ymc.swiss include:_spf.i-web.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:spf.swizzonic-mail.ch include:_spf.blk.ymc.swiss include:_spf.i-web.ch ~all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 199229 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "lovatens.ch" + ], + "redirect":[], + "wikidata":[ + "lovatens.ch" + ], + "guess":[ + "lovatens.ch" + ] + }, + "resolve_flags":[] }, "5675":{ "bfs":"5675", "name":"Lucens", - "canton":"", + "canton":"Kanton Waadt", "domain":"lucens.ch", "mx":[ "lucens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.111 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.111 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lucens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lucens.ch" + ], + "guess":[ + "lucens.ch" + ] + }, + "resolve_flags":[] }, "5678":{ "bfs":"5678", "name":"Moudon", - "canton":"", + "canton":"Kanton Waadt", "domain":"moudon.ch", "mx":[ "moudon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf1.net4all.ch ip4:212.71.120.144/28 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf1.net4all.ch ip4:212.71.120.144/28 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:80.80.228.110 ip4:80.80.228.43 ip4:80.80.228.47 ip4:80.80.228.81 ip4:80.80.228.82 ip4:80.80.228.83 ip4:80.80.228.58 ip4:80.80.228.17 ip4:80.80.228.52 ip4:80.80.228.99 ip4:80.80.228.112 ip4:80.80.228.114 ip4:80.80.228.56 ip4:141.101.62.117 ip4:141.101.62.243 ip4:80.80.228.21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX moudon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "moudon.ch" + ], + "redirect":[], + "wikidata":[ + "moudon.ch" + ], + "guess":[ + "moudon.ch" + ] + }, + "resolve_flags":[] }, "5680":{ "bfs":"5680", "name":"Ogens", - "canton":"", + "canton":"Kanton Waadt", "domain":"ogens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "ogens.ch" + ], + "redirect":[], + "wikidata":[ + "ogens.ch" + ], + "guess":[ + "ogens.ch" + ] + }, + "resolve_flags":[] }, "5683":{ "bfs":"5683", @@ -31468,10 +112265,119 @@ ], "spf":"v=spf1 include:_spf.google.com ~all", "provider":"google", - "spf_resolved":"v=spf1 include:_spf.google.com ~all v=spf1 ip4:74.125.0.0/16 ip4:209.85.128.0/17 ip6:2001:4860:4864::/56 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all", - "mx_asns":[ - 15169 - ] + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt1.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX alt2.aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx.l.google.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx2.googlemail.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx3.googlemail.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx4.googlemail.com matches google" + }, + { + "kind":"mx", + "provider":"google", + "weight":0.2, + "detail":"MX aspmx5.googlemail.com matches google" + }, + { + "kind":"spf", + "provider":"google", + "weight":0.2, + "detail":"SPF include:_spf.google.com matches google" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + }, + { + "kind":"asn", + "provider":"google", + "weight":0.03, + "detail":"ASN 15169 matches google" + } + ], + "sources_detail":{ + "scrape":[ + "prevonloup.ch" + ], + "redirect":[], + "wikidata":[ + "prevonloup.ch" + ], + "guess":[ + "prevonloup.ch" + ] + }, + "resolve_flags":[] }, "5684":{ "bfs":"5684", @@ -31483,13 +112389,41 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "rossenges.ch" + ], + "redirect":[], + "wikidata":[ + "rossenges.ch" + ], + "guess":[ + "rossenges.ch" + ] + }, + "resolve_flags":[] }, "5688":{ "bfs":"5688", @@ -31501,13 +112435,33 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "syens.ch" + ], + "guess":[ + "syens.ch" + ] + }, + "resolve_flags":[] }, "5690":{ "bfs":"5690", @@ -31519,10 +112473,27 @@ ], "spf":"v=spf1 mx include:fwdsc.swisscenter.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:fwdsc.swisscenter.com -all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all", - "mx_asns":[ - 49457 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "villars-le-comte.ch" + ], + "guess":[ + "villars-le-comte.ch" + ] + }, + "resolve_flags":[] }, "5692":{ "bfs":"5692", @@ -31534,36 +112505,176 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vucherens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vucherens.ch" + ], + "redirect":[], + "wikidata":[ + "vucherens.ch" + ], + "guess":[ + "vucherens.ch" + ] + }, + "resolve_flags":[] }, "5693":{ "bfs":"5693", "name":"Montanaire", - "canton":"", + "canton":"Kanton Waadt", "domain":"montanaire.ch", "mx":[ "montanaire-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com include:mailgun.org -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com include:mailgun.org -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 mx a -all v=spf1 include:_spf.mailgun.org include:_spf.eu.mailgun.org -all v=spf1 include:amazonses.com ?all v=spf1 include:_spf1.mailgun.org include:_spf2.mailgun.org ~all v=spf1 ip4:141.193.32.0/23 ip4:159.135.140.80/29 ip4:159.135.132.128/25 ip4:161.38.204.0/22 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:143.55.236.0/22 ip4:198.244.60.0/22 ip4:204.220.160.0/21 ~all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all v=spf1 ip4:209.61.151.0/24 ip4:166.78.68.0/22 ip4:198.61.254.0/23 ip4:192.237.158.0/23 ip4:23.253.182.0/23 ip4:104.130.96.0/28 ip4:146.20.113.0/24 ip4:146.20.191.0/24 ip4:159.135.224.0/20 ip4:69.72.32.0/20 ~all v=spf1 ip4:104.130.122.0/23 ip4:146.20.112.0/26 ip4:161.38.192.0/20 ip4:143.55.224.0/21 ip4:143.55.232.0/22 ip4:159.112.240.0/20 ip4:198.244.48.0/20 ip4:204.220.168.0/21 ip4:204.220.176.0/20 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX montanaire-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "montanaire.ch" + ], + "redirect":[], + "wikidata":[ + "montanaire.ch" + ], + "guess":[ + "montanaire.ch" + ] + }, + "resolve_flags":[] }, "5701":{ "bfs":"5701", "name":"Arnex-sur-Nyon", - "canton":"", + "canton":"Kanton Waadt", "domain":"arnex-sur-nyon.ch", "mx":[ "mx4.safemail.ch", @@ -31571,100 +112682,438 @@ ], "spf":"v=spf1 +a +mx +ip4:195.70.7.126 include:dfinet.ch +ip4:195.70.7.126 +ip4:195.70.12.114 +include:smtp.dfinet.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 +a +mx +ip4:195.70.7.126 include:dfinet.ch +ip4:195.70.7.126 +ip4:195.70.12.114 +include:smtp.dfinet.ch ~all v=spf1 mx a include:smtp.dfinet.ch ~all v=spf1 ip4:195.70.7.112/29 ip4:195.70.10.88 ip4:195.70.10.87 ip4:195.70.10.89 ip4:195.70.10.111 ip4:195.70.9.21 ip4:195.70.2.32/28 ip4:195.70.7.120/29 ip4:195.70.3.55 ~all", - "mx_asns":[ - 12333 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "arnex-sur-nyon.ch" + ], + "redirect":[], + "wikidata":[ + "arnex-sur-nyon.ch" + ], + "guess":[ + "arnex-sur-nyon.ch" + ] + }, + "resolve_flags":[] }, "5702":{ "bfs":"5702", "name":"Arzier-Le Muids", - "canton":"", + "canton":"Kanton Waadt", "domain":"arzier.ch", "mx":[ "arzier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX arzier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "arzier.ch", + "vd.ch" + ], + "redirect":[], + "wikidata":[ + "arzier.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5703":{ "bfs":"5703", "name":"Bassins", - "canton":"", + "canton":"Kanton Waadt", "domain":"bassins.ch", "mx":[ "bassins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bassins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bassins.ch" + ], + "redirect":[], + "wikidata":[ + "bassins.ch" + ], + "guess":[ + "bassins.ch" + ] + }, + "resolve_flags":[] }, "5704":{ "bfs":"5704", "name":"Begnins", - "canton":"", + "canton":"Kanton Waadt", "domain":"begnins.ch", "mx":[ "begnins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.129.53.73 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.129.53.73 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX begnins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.begnins.ch CNAME → selector1-begnins-ch._domainkey.communebegnins.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.begnins.ch CNAME → selector2-begnins-ch._domainkey.communebegnins.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "begnins.ch" + ], + "redirect":[], + "wikidata":[ + "begnins.ch" + ], + "guess":[ + "begnins.ch" + ] + }, + "resolve_flags":[] }, "5705":{ "bfs":"5705", "name":"Bogis-Bossey", - "canton":"", + "canton":"Kanton Waadt", "domain":"bogis-bossey.ch", "mx":[ "bogisbossey-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bogisbossey-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bogis-bossey.ch", + "vd.ch" + ], + "redirect":[], + "wikidata":[ + "bogis-bossey.ch" + ], + "guess":[ + "bogis-bossey.ch" + ] + }, + "resolve_flags":[] }, "5706":{ "bfs":"5706", "name":"Borex", - "canton":"", + "canton":"Kanton Waadt", "domain":"borex.ch", "mx":[ "borex-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX borex-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.borex.ch CNAME → selector1-borex-ch._domainkey.communeborex.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.borex.ch CNAME → selector2-borex-ch._domainkey.communeborex.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "borex.ch" + ], + "redirect":[], + "wikidata":[ + "borex.ch" + ], + "guess":[ + "borex.ch" + ] + }, + "resolve_flags":[] }, "5707":{ "bfs":"5707", @@ -31676,154 +113125,744 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chavannesdebogis-ch02cb.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.chavannes-de-bogis.ch CNAME → selector1-chavannesdebogis-ch02cb._domainkey.communecdb.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.chavannes-de-bogis.ch CNAME → selector2-chavannesdebogis-ch02cb._domainkey.communecdb.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chavannes-de-bogis.ch" + ], + "redirect":[], + "wikidata":[ + "chavannes-de-bogis.ch" + ], + "guess":[ + "chavannes-de-bogis.ch" + ] + }, + "resolve_flags":[] }, "5708":{ "bfs":"5708", "name":"Chavannes-des-Bois", - "canton":"", + "canton":"Kanton Waadt", "domain":"chavannes-des-bois.ch", "mx":[ "chavannesdesbois-ch02cc.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chavannesdesbois-ch02cc.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chavannes-des-bois.ch" + ], + "redirect":[], + "wikidata":[ + "chavannes-des-bois.ch" + ], + "guess":[ + "chavannes-des-bois.ch" + ] + }, + "resolve_flags":[] }, "5709":{ "bfs":"5709", "name":"Chéserex", - "canton":"", + "canton":"Kanton Waadt", "domain":"cheserex.ch", "mx":[ "cheserex-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cheserex-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cheserex.ch CNAME → selector1-cheserex-ch._domainkey.communecheserex.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cheserex.ch CNAME → selector2-cheserex-ch._domainkey.communecheserex.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cheserex.ch" + ], + "redirect":[], + "wikidata":[ + "cheserex.ch" + ], + "guess":[ + "cheserex.ch" + ] + }, + "resolve_flags":[] }, "5710":{ "bfs":"5710", "name":"Coinsins", - "canton":"", + "canton":"Kanton Waadt", "domain":"coinsins.ch", "mx":[ "coinsins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX coinsins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "coinsins.ch" + ], + "redirect":[], + "wikidata":[ + "coinsins.ch" + ], + "guess":[ + "coinsins.ch" + ] + }, + "resolve_flags":[] }, "5711":{ "bfs":"5711", "name":"Commugny", - "canton":"", + "canton":"Kanton Waadt", "domain":"commugny.ch", "mx":[ "commugny-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:159.100.243.181 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:159.100.243.181 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX commugny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "commugny.ch" + ], + "redirect":[], + "wikidata":[ + "commugny.ch" + ], + "guess":[ + "commugny.ch" + ] + }, + "resolve_flags":[] }, "5712":{ "bfs":"5712", "name":"Coppet", - "canton":"", + "canton":"Kanton Waadt", "domain":"coppet.ch", "mx":[ "coppet-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX coppet-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "coppet.ch" + ], + "redirect":[], + "wikidata":[ + "coppet.ch" + ], + "guess":[ + "coppet.ch" + ] + }, + "resolve_flags":[] }, "5713":{ "bfs":"5713", - "name":"Crans", - "canton":"", - "domain":"crans.ch", + "name":"Crans (VD)", + "canton":"Kanton Waadt", + "domain":"cransvd.ch", "mx":[ - "mta-gw.infomaniak.ch" + "cransvd-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.infomaniak.ch -all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cransvd-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "cransvd.ch" + ] + }, + "resolve_flags":[] }, "5714":{ "bfs":"5714", "name":"Crassier", - "canton":"", + "canton":"Kanton Waadt", "domain":"crassier.ch", "mx":[ "crassier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.infomaniak.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.infomaniak.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX crassier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.crassier.ch CNAME → selector1-crassier-ch._domainkey.communecrassier.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.crassier.ch CNAME → selector2-crassier-ch._domainkey.communecrassier.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "crassier.ch" + ], + "redirect":[], + "wikidata":[ + "crassier.ch" + ], + "guess":[ + "crassier.ch" + ] + }, + "resolve_flags":[] }, "5715":{ "bfs":"5715", "name":"Duillier", - "canton":"", + "canton":"Kanton Waadt", "domain":"duillier.ch", "mx":[ "duillier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX duillier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "duillier.ch" + ], + "redirect":[], + "wikidata":[ + "duillier.ch" + ], + "guess":[ + "duillier.ch" + ] + }, + "resolve_flags":[] }, "5716":{ "bfs":"5716", @@ -31835,13 +113874,77 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eysins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eysins.ch" + ], + "redirect":[], + "wikidata":[ + "eysins.ch" + ], + "guess":[ + "eysins.ch" + ] + }, + "resolve_flags":[] }, "5717":{ "bfs":"5717", @@ -31853,86 +113956,421 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX founex-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "founex.ch" + ], + "guess":[ + "founex.ch" + ] + }, + "resolve_flags":[] }, "5718":{ "bfs":"5718", "name":"Genolier", - "canton":"", + "canton":"Kanton Waadt", "domain":"genolier.ch", "mx":[ "genolier-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "spf":"v=spf1 include:spf.protection.outlook.com include:spf.eadmin-solutions.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX genolier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "genolier.ch" + ], + "guess":[ + "genolier.ch" + ] + }, + "resolve_flags":[] }, "5719":{ "bfs":"5719", "name":"Gingins", - "canton":"", + "canton":"Kanton Waadt", "domain":"gingins.ch", "mx":[ "gingins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 ip4:185.54.6.105 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 ip4:185.54.6.105 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.o-i.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gingins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gingins.ch" + ], + "guess":[ + "gingins.ch" + ] + }, + "resolve_flags":[] }, "5720":{ "bfs":"5720", "name":"Givrins", - "canton":"", + "canton":"Kanton Waadt", "domain":"givrins.ch", "mx":[ "givrins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:146.4.37.74 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:146.4.37.74 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX givrins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "givrins.ch" + ], + "redirect":[], + "wikidata":[ + "givrins.ch" + ], + "guess":[ + "givrins.ch" + ] + }, + "resolve_flags":[] }, "5721":{ "bfs":"5721", "name":"Gland", - "canton":"", + "canton":"Kanton Waadt", "domain":"gland.ch", "mx":[ "gland-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:37.0.35.222 ip4:94.103.98.202 include:spf.protection.outlook.com include:spf.infomaniak.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:37.0.35.222 ip4:94.103.98.202 include:spf.protection.outlook.com include:spf.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gland-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gland.ch CNAME → selector1-gland-ch._domainkey.municipalitedegland.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gland.ch CNAME → selector2-gland-ch._domainkey.municipalitedegland.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gland.ch" + ], + "guess":[ + "gland.ch" + ] + }, + "resolve_flags":[] }, "5722":{ "bfs":"5722", @@ -31944,17 +114382,93 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.grens.ch CNAME → selector1-grens-ch._domainkey.grensch.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.grens.ch CNAME → selector2-grens-ch._domainkey.grensch.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grens.ch" + ], + "redirect":[], + "wikidata":[ + "grens.ch" + ], + "guess":[ + "grens.ch" + ] + }, + "resolve_flags":[] }, "5723":{ "bfs":"5723", - "name":"Mies VD", + "name":"Mies", "canton":"Kanton Waadt", "domain":"mies.ch", "mx":[ @@ -31962,38 +114476,152 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mies-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mies.ch" + ], + "guess":[ + "mies.ch" + ] + }, + "resolve_flags":[] }, "5724":{ "bfs":"5724", "name":"Nyon", - "canton":"", + "canton":"Kanton Waadt", "domain":"nyon.ch", "mx":[ "mail.rcv.ch", "mail2.rcv.ch" ], "spf":"v=spf1 MX a:iomedia-smtp.infomaniak.ch include:spf.infomaniak.ch include:spf.rcv.ch include:spf1.ne.ch include:spf.protection.outlook.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 MX a:iomedia-smtp.infomaniak.ch include:spf.infomaniak.ch include:spf.rcv.ch include:spf1.ne.ch include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 15675 - ], - "autodiscover":{ - "autodiscover_cname":"owa.nyon.ch", - "autodiscover_srv":"owa.nyon.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "nyon.ch" + ], + "redirect":[], + "wikidata":[ + "nyon.ch" + ], + "guess":[ + "nyon.ch", + "stadt-nyon.ch" + ] + }, + "resolve_flags":[] }, "5725":{ "bfs":"5725", "name":"Prangins", - "canton":"", + "canton":"Kanton Waadt", "domain":"prangins.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -32002,33 +114630,190 @@ ], "spf":"v=spf1 ip4:109.164.235.43 ip4:194.209.244.213 ip4:185.48.146.91 ip4:185.54.6.105 a:dispatch-eu.ppe-hosted.com include:spf.protection.outlook.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:109.164.235.43 ip4:194.209.244.213 ip4:185.48.146.91 ip4:185.54.6.105 a:dispatch-eu.ppe-hosted.com include:spf.protection.outlook.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"proofpoint", - "mx_asns":[ - 8075, - 52129 + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX prangins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.prangins.ch CNAME → selector1-prangins-ch._domainkey.infologdata.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.prangins.ch CNAME → selector2-prangins-ch._domainkey.infologdata.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[ + "prangins.ch" + ], + "redirect":[], + "wikidata":[ + "prangins.ch" + ], + "guess":[ + "prangins.ch" + ] + }, + "resolve_flags":[] }, "5726":{ "bfs":"5726", "name":"La Rippe", - "canton":"", + "canton":"Kanton Waadt", "domain":"larippe.ch", "mx":[ "larippe-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX larippe-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.larippe.ch CNAME → selector1-larippe-ch._domainkey.communelarippe.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.larippe.ch CNAME → selector2-larippe-ch._domainkey.communelarippe.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "larippe.ch" + ], + "redirect":[], + "wikidata":[ + "larippe.ch" + ], + "guess":[ + "larippe.ch" + ] + }, + "resolve_flags":[] }, "5727":{ "bfs":"5727", @@ -32040,13 +114825,82 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stcergue-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.st-cergue.ch CNAME → selector1-stcergue-ch0e._domainkey.communestcergue.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.st-cergue.ch CNAME → selector2-stcergue-ch0e._domainkey.communestcergue.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "st-cergue.ch" + ], + "guess":[ + "saint-cergue.ch", + "saintcergue.ch" + ] + }, + "resolve_flags":[] }, "5728":{ "bfs":"5728", @@ -32058,14 +114912,24 @@ ], "spf":"v=spf1 include:spf.webapps.net ip4:193.34.137.65 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.webapps.net ip4:193.34.137.65 ~all v=spf1 a include:spf1.webapps.net include:spf2.webapps.net ~all v=spf1 ip4:81.88.48.32/27 ip4:81.88.50.224/27 ip4:81.88.54.64/27 ip4:81.88.55.96/27 ip4:81.88.56.0/27 ip4:81.88.62.160/27 ip4:81.88.63.128/27 ip4:195.7.249.16/29 include:dominiando.email ~all v=spf1 ip4:195.110.101.32/27 ip4:195.110.122.160/27 ip4:195.110.123.0/27 ip4:185.2.4.0/22 ip4:81.88.49.224/27 ip4:195.7.249.29 ip4:81.88.52.0/23 ip4:185.110.66.0/24 ip4:213.158.94.0/23 ip4:81.88.54.154/32 ip4:3.73.27.108 ip4:3.125.172.46 ~all v=spf1 mx ip4:81.88.54.130 ip4:81.88.54.152/30 ~all", - "mx_asns":[ - 39729 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "signy-avenex.ch" + ], + "guess":[ + "signy-avenex.ch" + ] + }, + "resolve_flags":[] }, "5729":{ "bfs":"5729", - "name":"Tannay VD", + "name":"Tannay", "canton":"Kanton Waadt", "domain":"tannay.ch", "mx":[ @@ -32073,54 +114937,283 @@ ], "spf":"v=spf1 include:spf.cybercloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.cybercloud.ch include:spf.protection.outlook.com -all v=spf1 mx ip4:81.23.73.246 ip4:81.23.73.247 ip4:81.23.75.41 ip4:81.23.75.42 a:EXCH14011.cybercloud.ch a:EXCH14012.cybercloud.ch a:EXCH14021.cybercloud.ch a:EXCH14022.cybercloud.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX tannay-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "tannay.ch" + ], + "guess":[ + "tannay.ch" + ] + }, + "resolve_flags":[] }, "5730":{ "bfs":"5730", "name":"Trélex", - "canton":"", + "canton":"Kanton Waadt", "domain":"trelex.ch", "mx":[ "trelex-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:83.172.203.166 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:185.54.6.105 ip4:193.34.137.65 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:83.172.203.166 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:185.54.6.105 ip4:193.34.137.65 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX trelex-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.trelex.ch CNAME → selector1-trelex-ch._domainkey.communetrelex.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.trelex.ch CNAME → selector2-trelex-ch._domainkey.communetrelex.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "trelex.ch" + ], + "guess":[ + "trelex.ch" + ] + }, + "resolve_flags":[] }, "5731":{ "bfs":"5731", "name":"Le Vaud", - "canton":"", + "canton":"Kanton Waadt", "domain":"levaud.ch", "mx":[ "levaud-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com include:amazonses.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com include:amazonses.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"remote.levaud.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX levaud-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"aws", + "weight":0.2, + "detail":"SPF include:amazonses.com matches aws" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.levaud.ch CNAME → selector1-levaud-ch._domainkey.levaud.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.levaud.ch CNAME → selector2-levaud-ch._domainkey.levaud.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "levaud.ch" + ], + "redirect":[], + "wikidata":[ + "levaud.ch" + ], + "guess":[ + "levaud.ch" + ] + }, + "resolve_flags":[] }, "5732":{ "bfs":"5732", - "name":"Vich VD", + "name":"Vich", "canton":"Kanton Waadt", "domain":"vich.ch", "mx":[ @@ -32128,17 +115221,75 @@ ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vich-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vich.ch" + ], + "redirect":[], + "wikidata":[ + "vich.ch" + ], + "guess":[ + "vich.ch" + ] + }, + "resolve_flags":[] }, "5741":{ "bfs":"5741", - "name":"L’Abergement VD", + "name":"L'Abergement", "canton":"Kanton Waadt", "domain":"labergement.ch", "mx":[ @@ -32146,177 +115297,643 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX labergement-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "labergement.ch" + ], + "guess":[ + "labergement.ch" + ] + }, + "resolve_flags":[] }, "5742":{ "bfs":"5742", "name":"Agiez", - "canton":"", + "canton":"Kanton Waadt", "domain":"agiez.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "agiez.ch" + ], + "redirect":[], + "wikidata":[ + "agiez.ch" + ], + "guess":[ + "agiez.ch" + ] + }, + "resolve_flags":[] }, "5743":{ "bfs":"5743", "name":"Arnex-sur-Orbe", - "canton":"", + "canton":"Kanton Waadt", "domain":"arnex-sur-orbe.ch", "mx":[ - "mta-gw.infomaniak.ch" - ], - "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "arnexsurorbe-ch01cc.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com include:_spf.webforge.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX arnexsurorbe-ch01cc.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "arnex-sur-orbe.ch" + ], + "guess":[ + "arnex-sur-orbe.ch" + ] + }, + "resolve_flags":[] }, "5744":{ "bfs":"5744", "name":"Ballaigues", - "canton":"", + "canton":"Kanton Waadt", "domain":"ballaigues.ch", "mx":[ "ballaigues-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ballaigues-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.ballaigues.ch CNAME → selector1-ballaigues-ch._domainkey.communeballaigues.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.ballaigues.ch CNAME → selector2-ballaigues-ch._domainkey.communeballaigues.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ballaigues.ch" + ], + "guess":[ + "ballaigues.ch" + ] + }, + "resolve_flags":[] }, "5745":{ "bfs":"5745", "name":"Baulmes", - "canton":"", + "canton":"Kanton Waadt", "domain":"baulmes.ch", "mx":[ "mta.witecom.ch" ], "spf":"v=spf1 mx include:spf.witecom.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.witecom.ch -all v=spf1 ip4:185.43.244.0/22 ip6:2a05:4880::/29 -all", - "mx_asns":[ - 199811 - ], - "autodiscover":{ - "autodiscover_cname":"owa.baulmes.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "baulmes.ch" + ], + "guess":[ + "baulmes.ch" + ] + }, + "resolve_flags":[] }, "5746":{ "bfs":"5746", "name":"Bavois", - "canton":"", + "canton":"Kanton Waadt", "domain":"bavois.ch", "mx":[ "bavois-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bavois-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bavois.ch" + ], + "guess":[ + "bavois.ch" + ] + }, + "resolve_flags":[] }, "5747":{ "bfs":"5747", "name":"Bofflens", - "canton":"", + "canton":"Kanton Waadt", "domain":"bofflens.ch", "mx":[ "bofflens-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bofflens-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bofflens.ch" + ], + "redirect":[], + "wikidata":[ + "bofflens.ch" + ], + "guess":[ + "bofflens.ch" + ] + }, + "resolve_flags":[] }, "5748":{ "bfs":"5748", "name":"Bretonnières", - "canton":"", - "domain":"1329.ch", + "canton":"Kanton Waadt", + "domain":"bretonnieres.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch v=spf1 include:spf.mail.hostpoint.ch ?all v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "mta-gw.infomaniak.ch" ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "spf":"v=spf1 include:spf.infomaniak.ch ?all", + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "bretonnieres.ch" + ] + }, + "resolve_flags":[] }, "5749":{ "bfs":"5749", "name":"Chavornay", - "canton":"", + "canton":"Kanton Waadt", "domain":"chavornay.ch", "mx":[ "chavornay-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:194.153.189.8 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.ne.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.153.189.8 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.ne.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:148.196.30.0/24 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chavornay-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.chavornay.ch CNAME → selector1-chavornay-ch._domainkey.chavornay.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.chavornay.ch CNAME → selector2-chavornay-ch._domainkey.chavornay.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chavornay.ch" + ], + "redirect":[], + "wikidata":[ + "chavornay.ch" + ], + "guess":[ + "chavornay.ch" + ] + }, + "resolve_flags":[] }, "5750":{ "bfs":"5750", "name":"Les Clées", - "canton":"", + "canton":"Kanton Waadt", "domain":"lesclees.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lesclees.ch" + ], + "guess":[ + "lesclees.ch" + ] + }, + "resolve_flags":[] }, "5752":{ "bfs":"5752", - "name":"Croy VD", + "name":"Croy", "canton":"Kanton Waadt", "domain":"croy.ch", "mx":[ @@ -32324,13 +115941,36 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "croy.ch", + "montee-nozon.ch" + ], + "redirect":[], + "wikidata":[ + "croy.ch" + ], + "guess":[ + "croy.ch" + ] + }, + "resolve_flags":[] }, "5754":{ "bfs":"5754", @@ -32342,83 +115982,198 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.eadmin-solutions.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.eadmin-solutions.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "juriens.ch" + ], + "guess":[ + "juriens.ch" + ] + }, + "resolve_flags":[] }, "5755":{ "bfs":"5755", "name":"Lignerolle", - "canton":"", + "canton":"Kanton Waadt", "domain":"lignerolle.ch", "mx":[ "mx1.swisscenter.com" ], "spf":"v=spf1 mx include:fwdsc.swisscenter.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:fwdsc.swisscenter.com -all v=spf1 ip4:94.103.96.0/24 ip6:2a00:a500:0:96::/64 ip4:213.32.20.157/32 -all", - "mx_asns":[ - 49457 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "override":[ + "lignerolle.ch" + ] + }, + "resolve_flags":[] }, "5756":{ "bfs":"5756", "name":"Montcherand", - "canton":"", + "canton":"Kanton Waadt", "domain":"montcherand.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "montcherand.ch" + ], + "redirect":[], + "wikidata":[ + "montcherand.ch" + ], + "guess":[ + "montcherand.ch" + ] + }, + "resolve_flags":[] }, "5757":{ "bfs":"5757", "name":"Orbe", - "canton":"", + "canton":"Kanton Waadt", "domain":"orbe.ch", "mx":[ "orbe-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +include:relay.mailchannels.net +include:spf.ganesh-hosting.ch +include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +include:relay.mailchannels.net +include:spf.ganesh-hosting.ch +include:spf.protection.outlook.com -all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":89.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX orbe-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "orbe.ch" + ], + "guess":[ + "orbe.ch" + ] + }, + "resolve_flags":[] }, "5758":{ "bfs":"5758", "name":"La Praz", - "canton":"", + "canton":"Kanton Waadt", "domain":"lapraz.ch", "mx":[ "mail.horus.ch" ], "spf":"v=spf1 include:spf.horus.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.horus.ch ~all v=spf1 ip4:194.182.164.99 ip4:185.19.29.61 ip4:194.182.167.72 ip4:159.100.254.204 ip4:159.100.247.17 ip4:81.6.33.6 ip6:2a04:c44:e00:3eb:482:6cff:fe00:d47 ip6:2a04:c44:e00:3eb:4e4:eff:fe00:862 ip6:2a04:c44:e00:3eb:4da:96ff:fe00:724 ip6:2a04:c44:e00:3eb:475:38ff:fe00:102c ip6:2a04:c43:e00:3eb:47f:feff:fe00:17a ~all", - "mx_asns":[ - 61098 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "lapraz.ch" + ], + "redirect":[], + "wikidata":[ + "lapraz.ch" + ], + "guess":[ + "lapraz.ch" + ] + }, + "resolve_flags":[] }, "5759":{ "bfs":"5759", - "name":"Premier VD", + "name":"Premier", "canton":"Kanton Waadt", "domain":"premier.ch", "mx":[ @@ -32426,175 +116181,719 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "premier.ch" + ], + "redirect":[], + "wikidata":[ + "premier.ch" + ], + "guess":[ + "premier.ch" + ] + }, + "resolve_flags":[] }, "5760":{ "bfs":"5760", "name":"Rances", - "canton":"", + "canton":"Kanton Waadt", "domain":"rances.ch", "mx":[ "rances-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rances-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rances.ch" + ], + "redirect":[], + "wikidata":[ + "rances.ch" + ], + "guess":[ + "rances.ch" + ] + }, + "resolve_flags":[] }, "5761":{ "bfs":"5761", "name":"Romainmôtier-Envy", - "canton":"", + "canton":"Kanton Waadt", "domain":"romainmotier.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "romainmotier.ch" + ], + "redirect":[], + "wikidata":[ + "romainmotier.ch" + ], + "guess":[ + "romainmotier-envy.ch" + ] + }, + "resolve_flags":[] }, "5762":{ "bfs":"5762", "name":"Sergey", - "canton":"", + "canton":"Kanton Waadt", "domain":"sergey.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sergey.ch" + ], + "guess":[ + "sergey.ch" + ] + }, + "resolve_flags":[] }, "5763":{ "bfs":"5763", "name":"Valeyres-sous-Rances", - "canton":"", + "canton":"Kanton Waadt", "domain":"valeyres-sous-rances.ch", "mx":[ "valeyressousrances-ch02bc.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX valeyressousrances-ch02bc.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "valeyres-sous-rances.ch" + ], + "guess":[ + "valeyres-sous-rances.ch" + ] + }, + "resolve_flags":[] }, "5764":{ "bfs":"5764", "name":"Vallorbe", - "canton":"", + "canton":"Kanton Waadt", "domain":"vallorbe.ch", "mx":[ "vallorbe-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vallorbe-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vallorbe.ch" + ], + "redirect":[], + "wikidata":[ + "vallorbe.ch" + ], + "guess":[ + "vallorbe.ch" + ] + }, + "resolve_flags":[] }, "5765":{ "bfs":"5765", "name":"Vaulion", - "canton":"", + "canton":"Kanton Waadt", "domain":"vaulion.ch", "mx":[ "vaulion-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vaulion-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vaulion.ch" + ], + "redirect":[], + "wikidata":[ + "vaulion.ch" + ], + "guess":[ + "vaulion.ch" + ] + }, + "resolve_flags":[] }, "5766":{ "bfs":"5766", "name":"Vuiteboeuf", - "canton":"", + "canton":"Kanton Waadt", "domain":"vuiteboeuf.ch", "mx":[ "vuiteboeuf-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vuiteboeuf-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vuiteboeuf.ch CNAME → selector1-vuiteboeuf-ch._domainkey.communevuiteboeuf.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vuiteboeuf.ch CNAME → selector2-vuiteboeuf-ch._domainkey.communevuiteboeuf.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vuiteboeuf.ch" + ], + "guess":[ + "vuiteboeuf.ch" + ] + }, + "resolve_flags":[] }, "5785":{ "bfs":"5785", "name":"Corcelles-le-Jorat", - "canton":"", + "canton":"Kanton Waadt", "domain":"corcelles-le-jorat.ch", "mx":[ "corcelleslejorat-ch02cb.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.110.152.0/22 ~all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corcelleslejorat-ch02cb.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corcelles-le-jorat.ch" + ], + "redirect":[], + "wikidata":[ + "corcelles-le-jorat.ch" + ], + "guess":[ + "corcelles-le-jorat.ch" + ] + }, + "resolve_flags":[] }, "5790":{ "bfs":"5790", "name":"Maracon", - "canton":"", + "canton":"Kanton Waadt", "domain":"maracon.ch", "mx":[ "maracon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX maracon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "maracon.ch" + ], + "redirect":[], + "wikidata":[ + "maracon.ch" + ], + "guess":[ + "maracon.ch" + ] + }, + "resolve_flags":[] }, "5792":{ "bfs":"5792", @@ -32606,31 +116905,59 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ip4:185.54.6.105 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ip4:185.54.6.105 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "montpreveyres.ch" + ], + "guess":[ + "montpreveyres.ch" + ] + }, + "resolve_flags":[] }, "5798":{ "bfs":"5798", "name":"Ropraz", - "canton":"", + "canton":"Kanton Waadt", "domain":"ropraz.ch", "mx":[ "mail1.copperfasten.ch", "mail2.copperfasten.ch" ], - "spf":"v=spf1 +a +mx -all", - "provider":"independent", - "mx_asns":[ - 43800 - ], - "autodiscover":{ - "autodiscover_srv":"pl4.ganesh-hosting.ch" - } + "spf":"v=spf1 include:spf.eadmin-solutions.ch +a +mx -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ropraz.ch" + ], + "guess":[ + "ropraz.ch" + ] + }, + "resolve_flags":[] }, "5799":{ "bfs":"5799", @@ -32642,159 +116969,596 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:193.34.137.65 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX servion-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.servion.ch CNAME → selector1-servion-ch._domainkey.communeservion.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.servion.ch CNAME → selector2-servion-ch._domainkey.communeservion.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "servion.ch" + ], + "redirect":[], + "wikidata":[ + "servion.ch" + ], + "guess":[ + "servion.ch" + ] + }, + "resolve_flags":[] }, "5803":{ "bfs":"5803", "name":"Vulliens", - "canton":"", + "canton":"Kanton Waadt", "domain":"vulliens.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "vulliens.ch" + ], + "redirect":[], + "wikidata":[ + "vulliens.ch" + ], + "guess":[ + "vulliens.ch" + ] + }, + "resolve_flags":[] }, "5804":{ "bfs":"5804", "name":"Jorat-Menthue", - "canton":"", + "canton":"Kanton Waadt", "domain":"jorat-menthue.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "jorat-menthue.ch" + ], + "redirect":[], + "wikidata":[ + "jorat-menthue.ch" + ], + "guess":[ + "jorat-menthue.ch" + ] + }, + "resolve_flags":[] }, "5805":{ "bfs":"5805", "name":"Oron", - "canton":"", + "canton":"Kanton Waadt", "domain":"oron.ch", "mx":[ "mail.cleanmail.ch" ], "spf":"v=spf1 a mx ip4:178.174.94.211/29 ip4:193.8.140.198/32 ip4:185.54.6.105 ip4:193.34.137.65 ~all", "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], "gateway":"cleanmail", - "mx_asns":[ - 15547 - ] + "sources_detail":{ + "scrape":[ + "oron.ch" + ], + "redirect":[], + "wikidata":[ + "oron.ch" + ], + "guess":[ + "oron.ch" + ] + }, + "resolve_flags":[] }, "5806":{ "bfs":"5806", "name":"Jorat-Mézières", - "canton":"", + "canton":"Kanton Waadt", "domain":"jorat-mezieres.ch", "mx":[ "owa.jorat-mezieres.ch" ], "spf":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com mx -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com mx -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"owa.jorat-mezieres.ch", - "autodiscover_srv":"owa.jorat-mezieres.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "jorat-mezieres.ch" + ], + "redirect":[], + "wikidata":[ + "jorat-mezieres.ch" + ], + "guess":[ + "jorat-mezieres.ch" + ] + }, + "resolve_flags":[] }, "5812":{ "bfs":"5812", "name":"Champtauroz", - "canton":"", + "canton":"Kanton Waadt", "domain":"champtauroz.ch", "mx":[ "champtauroz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX champtauroz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.champtauroz.ch CNAME → selector1-champtauroz-ch._domainkey.communechamptauroz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.champtauroz.ch CNAME → selector2-champtauroz-ch._domainkey.communechamptauroz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "champtauroz.ch" + ], + "redirect":[], + "wikidata":[ + "champtauroz.ch" + ], + "guess":[ + "champtauroz.ch" + ] + }, + "resolve_flags":[] }, "5813":{ "bfs":"5813", "name":"Chevroux", - "canton":"", + "canton":"Kanton Waadt", "domain":"chevroux.ch", "mx":[ "chevroux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chevroux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chevroux.ch" + ], + "guess":[ + "chevroux.ch" + ] + }, + "resolve_flags":[] }, "5816":{ "bfs":"5816", "name":"Corcelles-près-Payerne", - "canton":"", + "canton":"Kanton Waadt", "domain":"corcelles.ch", "mx":[ "corcelles-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corcelles-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corcelles.ch" + ], + "redirect":[], + "wikidata":[ + "corcelles.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5817":{ "bfs":"5817", "name":"Grandcour", - "canton":"", + "canton":"Kanton Waadt", "domain":"grandcour.ch", "mx":[ "grandcour-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grandcour-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "grandcour.ch" + ], + "redirect":[], + "wikidata":[ + "grandcour.ch" + ], + "guess":[ + "grandcour.ch" + ] + }, + "resolve_flags":[] }, "5819":{ "bfs":"5819", - "name":"Henniez VD", + "name":"Henniez", "canton":"Kanton Waadt", "domain":"commune-henniez.ch", "mx":[ @@ -32802,17 +117566,39 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "commune-henniez.ch" + ], + "redirect":[], + "wikidata":[ + "commune-henniez.ch" + ], + "guess":[ + "henniez.ch" + ] + }, + "resolve_flags":[] }, "5821":{ "bfs":"5821", - "name":"Missy VD", + "name":"Missy", "canton":"Kanton Waadt", "domain":"missy.ch", "mx":[ @@ -32820,18 +117606,40 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "missy.ch" + ], + "redirect":[], + "wikidata":[ + "missy.ch" + ], + "guess":[ + "missy.ch" + ] + }, + "resolve_flags":[] }, "5822":{ "bfs":"5822", "name":"Payerne", - "canton":"", + "canton":"Kanton Waadt", "domain":"payerne.ch", "mx":[ "mail.rcv.ch", @@ -32839,84 +117647,269 @@ ], "spf":"v=spf1 include:spf.rcv.ch include:_spf.i-web.ch include:spf1.ne.ch include:spf.abacuscity.ch ip4:185.54.6.105 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.rcv.ch include:_spf.i-web.ch include:spf1.ne.ch include:spf.abacuscity.ch ip4:185.54.6.105 ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:46.227.226.102 ip4:46.227.226.108 ip4:46.227.226.21 ip4:46.227.228.154 ip4:46.227.228.228 ip4:46.227.228.28 ip6:2a02:cd8:2ee3:e200::15 ip6:2a02:cd8:2ee3:e200::65 ip6:2a02:cd8:2ee3:e200::7b ip6:2a02:cd8:2ee3:e400::1c ip6:2a02:cd8:2ee3:e400::293 ip6:2a02:cd8:2ee3:e400::446 ip4:62.106.93.27 -all", - "mx_asns":[ - 15675 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "payerne.ch" + ], + "guess":[ + "payerne.ch" + ] + }, + "resolve_flags":[] }, "5827":{ "bfs":"5827", "name":"Trey", - "canton":"", + "canton":"Kanton Waadt", "domain":"trey.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "trey.ch" + ], + "redirect":[], + "wikidata":[ + "trey.ch" + ], + "guess":[ + "trey.ch" + ] + }, + "resolve_flags":[] }, "5828":{ "bfs":"5828", - "name":"Treytorrens", - "canton":"", + "name":"Treytorrens (Payerne)", + "canton":"Kanton Waadt", "domain":"treytorrens.ch", "mx":[ "mail.treytorrens.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "treytorrens.ch" + ], + "guess":[ + "treytorrens.ch" + ] + }, + "resolve_flags":[] }, "5830":{ "bfs":"5830", "name":"Villarzel", - "canton":"", + "canton":"Kanton Waadt", "domain":"villarzel.ch", "mx":[ "villarzel-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX villarzel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "villarzel.ch" + ], + "guess":[ + "villarzel.ch" + ] + }, + "resolve_flags":[] }, "5831":{ "bfs":"5831", "name":"Valbroye", - "canton":"", + "canton":"Kanton Waadt", "domain":"valbroye.ch", "mx":[ "valbroye-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.14.6.235 ip4:213.193.110.206 include:spf.protection.outlook.com include:spf1.ne.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.14.6.235 ip4:213.193.110.206 include:spf.protection.outlook.com include:spf1.ne.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:148.196.30.0/24 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX valbroye-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "valbroye.ch" + ], + "guess":[ + "valbroye.ch" + ] + }, + "resolve_flags":[] }, "5841":{ "bfs":"5841", - "name":"Château-d’Oex", - "canton":"", + "name":"Château-d'Oex", + "canton":"Kanton Waadt", "domain":"chateaudoex-admin.ch", "mx":[ "mail.chateaudoex-admin.rcv.ch", @@ -32924,48 +117917,200 @@ ], "spf":"v=spf1 include:spf.rcv.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.rcv.ch ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all", - "mx_asns":[ - 15675 - ], - "autodiscover":{ - "autodiscover_cname":"mail.chateaudoex-admin.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "chateaudoex-admin.ch" + ], + "redirect":[], + "wikidata":[ + "chateaudoex-admin.ch" + ], + "guess":[ + "chateau-doex.ch", + "chateaudoex.ch" + ] + }, + "resolve_flags":[] }, "5842":{ "bfs":"5842", "name":"Rossinière", - "canton":"", + "canton":"Kanton Waadt", "domain":"rossiniere.ch", "mx":[ "rossiniere-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a include:spf.protection.outlook.com -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rossiniere-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rossiniere.ch CNAME → selector1-rossiniere-ch._domainkey.communerossiniere.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rossiniere.ch CNAME → selector2-rossiniere-ch._domainkey.communerossiniere.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rossiniere.ch" + ], + "redirect":[], + "wikidata":[ + "rossiniere.ch" + ], + "guess":[ + "rossiniere.ch" + ] + }, + "resolve_flags":[] }, "5843":{ "bfs":"5843", "name":"Rougemont", - "canton":"", + "canton":"Kanton Waadt", "domain":"rougemont.ch", "mx":[ - "office.rougemont.ch" + "rougemont-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 mx a ip4:46.14.89.238 ip4:212.71.120.144/28 -all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "mx_asns":[ - 3303 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rougemont-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "rougemont.ch" + ], + "redirect":[], + "wikidata":[ + "rougemont.ch" + ], + "guess":[ + "rougemont.ch" + ] + }, + "resolve_flags":[] }, "5851":{ "bfs":"5851", @@ -32977,31 +118122,111 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch mx ip4:185.48.146.23 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch mx ip4:185.48.146.23 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX allaman-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "allaman.ch" + ], + "redirect":[], + "wikidata":[ + "allaman.ch" + ], + "guess":[ + "allaman.ch" + ] + }, + "resolve_flags":[] }, "5852":{ "bfs":"5852", "name":"Bursinel", - "canton":"", + "canton":"Kanton Waadt", "domain":"bursinel.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "bursinel.ch" + ], + "redirect":[], + "wikidata":[ + "bursinel.ch" + ], + "guess":[ + "bursinel.ch" + ] + }, + "resolve_flags":[] }, "5853":{ "bfs":"5853", @@ -33013,297 +118238,1289 @@ ], "spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:spf.protection.outlook.com -all v=spf1 mx a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:46.140.160.21 ip4:46.140.160.22 ip4:195.141.2.24 ip4:89.28.153.224/29 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bursins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bursins.ch", + "fcbursinsrolleperroy.ch", + "gland.ch" + ], + "redirect":[], + "wikidata":[ + "bursins.ch" + ], + "guess":[ + "bursins.ch" + ] + }, + "resolve_flags":[] }, "5854":{ "bfs":"5854", "name":"Burtigny", - "canton":"", + "canton":"Kanton Waadt", "domain":"burtigny.ch", "mx":[ "burtigny-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all", + "spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.54.6.103 ip4:185.54.6.105 ip4:185.54.6.111 ip4:185.54.6.109 ip4:185.54.6.117 ip4:193.34.137.65 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX burtigny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.burtigny.ch CNAME → selector1-burtigny-ch._domainkey.communeburtigny.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.burtigny.ch CNAME → selector2-burtigny-ch._domainkey.communeburtigny.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "burtigny.ch" + ], + "guess":[ + "burtigny.ch" + ] + }, + "resolve_flags":[] }, "5855":{ "bfs":"5855", "name":"Dully", - "canton":"", + "canton":"Kanton Waadt", "domain":"dully.ch", "mx":[ "dully-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX dully-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "dully.ch" + ], + "redirect":[], + "wikidata":[ + "dully.ch" + ], + "guess":[ + "dully.ch" + ] + }, + "resolve_flags":[] }, "5856":{ "bfs":"5856", "name":"Essertines-sur-Rolle", - "canton":"", + "canton":"Kanton Waadt", "domain":"essertines-sur-rolle.ch", "mx":[ "essertinessurrolle-ch02ee.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX essertinessurrolle-ch02ee.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "essertines-sur-rolle.ch" + ], + "redirect":[], + "wikidata":[ + "essertines-sur-rolle.ch" + ], + "guess":[ + "essertines-sur-rolle.ch" + ] + }, + "resolve_flags":[] }, "5857":{ "bfs":"5857", "name":"Gilly", - "canton":"", + "canton":"Kanton Waadt", "domain":"gilly.ch", "mx":[ "gilly-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gilly-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gilly.ch CNAME → selector1-gilly-ch._domainkey.gillyvd.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gilly.ch CNAME → selector2-gilly-ch._domainkey.gillyvd.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gilly.ch" + ], + "redirect":[], + "wikidata":[ + "gilly.ch" + ], + "guess":[ + "gilly.ch" + ] + }, + "resolve_flags":[] }, "5858":{ "bfs":"5858", "name":"Luins", - "canton":"", + "canton":"Kanton Waadt", "domain":"luins.ch", "mx":[ "luins-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +mx +a +include:mailgw.tizoo.com +ip4:212.147.66.228 +include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +mx +a +include:mailgw.tizoo.com +ip4:212.147.66.228 +include:spf.protection.outlook.com -all v=spf1 ip4:5.182.248.11/32 ip4:212.147.66.228/32 ip4:212.147.66.247/32 v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":91.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX luins-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "luins.ch" + ], + "redirect":[], + "wikidata":[ + "luins.ch" + ], + "guess":[ + "luins.ch" + ] + }, + "resolve_flags":[] }, "5859":{ "bfs":"5859", "name":"Mont-sur-Rolle", - "canton":"", + "canton":"Kanton Waadt", "domain":"mont-sur-rolle.ch", "mx":[ "montsurrolle-ch01bb.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com -all v=spf1 ip4:193.34.136.0/23 ip4:185.54.4.0/23 ip4:185.54.6.0/24 ip4:98.80.189.20 ip4:99.81.216.78 ip4:34.249.190.60 ip4:108.128.137.108 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX montsurrolle-ch01bb.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mont-sur-rolle.ch" + ], + "redirect":[], + "wikidata":[ + "mont-sur-rolle.ch" + ], + "guess":[ + "mont-sur-rolle.ch" + ] + }, + "resolve_flags":[] }, "5860":{ "bfs":"5860", "name":"Perroy", - "canton":"", + "canton":"Kanton Waadt", "domain":"perroy.ch", "mx":[ "perroy-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:46.14.234.46 include:spf.protection.outlook.com include:_spf.dellaro.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:46.14.234.46 include:spf.protection.outlook.com include:_spf.dellaro.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a mx include:_spf.ch-dns.net -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX perroy-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "perroy.ch" + ], + "guess":[ + "perroy.ch" + ] + }, + "resolve_flags":[] }, "5861":{ "bfs":"5861", "name":"Rolle", - "canton":"", + "canton":"Kanton Waadt", "domain":"rolle.ch", "mx":[ "rolle-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx ip4:185.54.6.111 ip4:81.62.216.237 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:185.54.6.111 ip4:81.62.216.237 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"mail.rolle.ch", - "autodiscover_srv":"mail.rolle.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX rolle-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.rolle.ch CNAME → selector1-rolle-ch._domainkey.communederolle1180.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.rolle.ch CNAME → selector2-rolle-ch._domainkey.communederolle1180.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "rolle.ch" + ], + "redirect":[], + "wikidata":[ + "rolle.ch" + ], + "guess":[ + "rolle.ch" + ] + }, + "resolve_flags":[] }, "5862":{ "bfs":"5862", "name":"Tartegnin", - "canton":"", + "canton":"Kanton Waadt", "domain":"tartegnin.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "tartegnin.ch" + ], + "redirect":[], + "wikidata":[ + "tartegnin.ch" + ], + "guess":[ + "tartegnin.ch" + ] + }, + "resolve_flags":[] }, "5863":{ "bfs":"5863", "name":"Vinzel", - "canton":"", + "canton":"Kanton Waadt", "domain":"vinzel.ch", "mx":[ "vinzel.ch" ], "spf":"v=spf1 ip4:5.182.248.186 include:tizoo.com ip4:5.182.248.144 ip4:212.71.120.144/28 +a +mx +ip4:212.147.66.228 ~all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:5.182.248.186 include:tizoo.com ip4:5.182.248.144 ip4:212.71.120.144/28 +a +mx +ip4:212.147.66.228 ~all v=spf1 ip4:212.147.66.228 +a +mx ip4:5.182.248.3 ip4:5.182.248.4 ip4:5.182.248.140 ip4:5.182.248.144 ip4:5.182.248.148 ip4:5.182.248.151 ip4:5.182.248.160 ip4:5.182.248.166 ip4:5.182.248.176 ip4:5.182.248.183 ip4:5.182.248.132 ip4:212.147.66.247 ip4:212.147.66.245 ip4:212.147.66.246 ip4:5.182.248.11 ~all", - "mx_asns":[ - 209042 - ], - "autodiscover":{ - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "vinzel.ch" + ], + "redirect":[], + "wikidata":[ + "vinzel.ch" + ], + "guess":[ + "vinzel.ch" + ] + }, + "resolve_flags":[] }, "5871":{ "bfs":"5871", - "name":"L’Abbaye", - "canton":"", + "name":"L'Abbaye", + "canton":"Kanton Waadt", "domain":"labbaye.ch", "mx":[ "labbaye-ch.mail.eo.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webmail.labbaye.ch" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "labbaye.ch" + ], + "redirect":[], + "wikidata":[ + "labbaye.ch" + ], + "guess":[ + "labbaye.ch" + ] + }, + "resolve_flags":[] }, "5872":{ "bfs":"5872", "name":"Le Chenit", - "canton":"", + "canton":"Kanton Waadt", "domain":"communeduchenit.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "communeduchenit.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5873":{ "bfs":"5873", "name":"Le Lieu", - "canton":"", + "canton":"Kanton Waadt", "domain":"lelieu.ch", "mx":[ "lelieu-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lelieu-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lelieu.ch" + ], + "redirect":[], + "wikidata":[ + "lelieu.ch" + ], + "guess":[ + "lelieu.ch" + ] + }, + "resolve_flags":[] }, "5882":{ "bfs":"5882", "name":"Chardonne", - "canton":"", + "canton":"Kanton Waadt", "domain":"chardonne.ch", "mx":[ "chardonne-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:193.5.240.2 ip4:185.54.6.105 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:193.5.240.2 ip4:185.54.6.105 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chardonne-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chardonne.ch", + "comx.org", + "jongny.ch", + "securiv.ch" + ], + "redirect":[], + "wikidata":[ + "chardonne.ch" + ], + "guess":[ + "chardonne.ch" + ] + }, + "resolve_flags":[] }, "5883":{ "bfs":"5883", "name":"Corseaux", - "canton":"", + "canton":"Kanton Waadt", "domain":"corseaux.ch", "mx":[ "corseaux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf1.ne.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf1.ne.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corseaux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corseaux.ch" + ], + "redirect":[], + "wikidata":[ + "corseaux.ch" + ], + "guess":[ + "corseaux.ch" + ] + }, + "resolve_flags":[] }, "5884":{ "bfs":"5884", "name":"Corsier-sur-Vevey", - "canton":"", + "canton":"Kanton Waadt", "domain":"corsier-sur-vevey.ch", "mx":[ "corsiersurvevey-ch01ii.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX corsiersurvevey-ch01ii.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.corsier-sur-vevey.ch CNAME → selector1-corsiersurvevey-ch01ii._domainkey.communecorsiersurvevey.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.corsier-sur-vevey.ch CNAME → selector2-corsiersurvevey-ch01ii._domainkey.communecorsiersurvevey.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "corsier-sur-vevey.ch" + ], + "redirect":[], + "wikidata":[ + "corsier-sur-vevey.ch" + ], + "guess":[ + "corsier-sur-vevey.ch" + ] + }, + "resolve_flags":[] }, "5885":{ "bfs":"5885", @@ -33315,18 +119532,94 @@ ], "spf":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com -all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX jongny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.jongny.ch CNAME → selector1-jongny-ch._domainkey.jongnyvd.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.jongny.ch CNAME → selector2-jongny-ch._domainkey.jongnyvd.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "jongny.ch" + ], + "redirect":[], + "wikidata":[ + "jongny.ch" + ], + "guess":[ + "jongny.ch" + ] + }, + "resolve_flags":[] }, "5886":{ "bfs":"5886", "name":"Montreux", - "canton":"", + "canton":"Kanton Waadt", "domain":"montreux.ch", "mx":[ "mail.rcv.ch", @@ -33334,18 +119627,34 @@ ], "spf":"v=spf1 include:spf.rcv.ch ip4:194.56.250.0/23 ip4:94.103.98.197/32 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.rcv.ch ip4:194.56.250.0/23 ip4:94.103.98.197/32 ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all", - "mx_asns":[ - 15675 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.comx.org" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "montreux.ch" + ], + "redirect":[], + "wikidata":[ + "montreux.ch" + ], + "guess":[ + "montreux.ch" + ] + }, + "resolve_flags":[] }, "5889":{ "bfs":"5889", "name":"La Tour-de-Peilz", - "canton":"", + "canton":"Kanton Waadt", "domain":"la-tour-de-peilz.ch", "mx":[ "mail.rcv.ch", @@ -33353,144 +119662,610 @@ ], "spf":"v=spf1 include:spf.rcv.ch include:spf1.ne.ch include:_spf.i-web.ch a:mail.equateur.ch a:mail.netbiblio-mailer.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.rcv.ch include:spf1.ne.ch include:_spf.i-web.ch a:mail.equateur.ch a:mail.netbiblio-mailer.ch ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 15675 - ], - "autodiscover":{ - "autodiscover_cname":"webmail.la-tour-de-peilz.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "la-tour-de-peilz.ch" + ], + "redirect":[], + "wikidata":[ + "la-tour-de-peilz.ch" + ], + "guess":[ + "la-tour-de-peilz.ch" + ] + }, + "resolve_flags":[] }, "5890":{ "bfs":"5890", "name":"Vevey", - "canton":"", + "canton":"Kanton Waadt", "domain":"vevey.ch", "mx":[ "vevey-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf1.ne.ch ip4:185.54.6.105 include:spf.infomaniak.com include:spf.protection.outlook.com include:spf.villedevevey.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf1.ne.ch ip4:185.54.6.105 include:spf.infomaniak.com include:spf.protection.outlook.com include:spf.villedevevey.ch -all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:145.232.236.148 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"email.vevey.ch" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vevey-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vevey.ch CNAME → selector1-vevey-ch._domainkey.veveych.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vevey.ch CNAME → selector2-vevey-ch._domainkey.veveych.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "vevey.ch" + ], + "redirect":[], + "wikidata":[ + "vevey.ch" + ], + "guess":[ + "stadt-vevey.ch", + "vevey.ch" + ] + }, + "resolve_flags":[] }, "5891":{ "bfs":"5891", "name":"Veytaux", - "canton":"", + "canton":"Kanton Waadt", "domain":"veytaux.ch", "mx":[ "veytaux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX veytaux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "veytaux.ch" + ], + "redirect":[], + "wikidata":[ + "veytaux.ch" + ], + "guess":[ + "veytaux.ch" + ] + }, + "resolve_flags":[] }, "5892":{ "bfs":"5892", - "name":"Blonay – Saint-Légier", - "canton":"", - "domain":"blonay-saint-legier.ch", + "name":"Blonay - Saint-Légier", + "canton":"Kanton Waadt", + "domain":"bstl.ch", "mx":[ - "mta-gw.infomaniak.ch" - ], - "spf":"v=spf1 include:spf.infomaniak.ch -all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "bstl-ch.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bstl-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.bstl.ch CNAME → selector1-bstl-ch._domainkey.blonay.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.bstl.ch CNAME → selector2-bstl-ch._domainkey.blonay.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "override":[ + "bstl.ch" + ] + }, + "resolve_flags":[] }, "5902":{ "bfs":"5902", "name":"Belmont-sur-Yverdon", - "canton":"", + "canton":"Kanton Waadt", "domain":"belmont-sur-yverdon.ch", "mx":[ "belmontsuryverdon-ch01ii.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX belmontsuryverdon-ch01ii.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "belmont-sur-yverdon.ch" + ], + "redirect":[], + "wikidata":[ + "belmont-sur-yverdon.ch" + ], + "guess":[ + "belmont-sur-yverdon.ch" + ] + }, + "resolve_flags":[] }, "5903":{ "bfs":"5903", "name":"Bioley-Magnoux", - "canton":"", + "canton":"Kanton Waadt", "domain":"bioley-magnoux.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bioley-magnoux.ch" + ], + "guess":[ + "bioley-magnoux.ch" + ] + }, + "resolve_flags":[] }, "5904":{ "bfs":"5904", "name":"Chamblon", - "canton":"", + "canton":"Kanton Waadt", "domain":"chamblon.ch", "mx":[ "chamblon-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX chamblon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.chamblon.ch CNAME → selector1-chamblon-ch._domainkey.chamblon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.chamblon.ch CNAME → selector2-chamblon-ch._domainkey.chamblon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "chamblon.ch" + ], + "redirect":[], + "wikidata":[ + "chamblon.ch" + ], + "guess":[ + "chamblon.ch" + ] + }, + "resolve_flags":[] }, "5905":{ "bfs":"5905", "name":"Champvent", - "canton":"", + "canton":"Kanton Waadt", "domain":"champvent.ch", "mx":[ "champvent-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX champvent-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "champvent.ch" + ], + "guess":[ + "champvent.ch" + ] + }, + "resolve_flags":[] }, "5907":{ "bfs":"5907", "name":"Chavannes-le-Chêne", - "canton":"", + "canton":"Kanton Waadt", "domain":"chavannes-le-chene.ch", "mx":[ "mx1.spamvor.com", @@ -33498,62 +120273,143 @@ ], "spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"spamvor", - "mx_asns":[ - 29222 - ] + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chavannes-le-chene.ch" + ], + "guess":[ + "chavannes-le-chene.ch" + ] + }, + "resolve_flags":[] }, "5908":{ "bfs":"5908", "name":"Chêne-Pâquier", - "canton":"", + "canton":"Kanton Waadt", "domain":"chene-paquier.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "chene-paquier.ch" + ], + "guess":[ + "chene-paquier.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "5909":{ "bfs":"5909", "name":"Cheseaux-Noréaz", - "canton":"", + "canton":"Kanton Waadt", "domain":"cheseaux-noreaz.ch", "mx":[ "mta.witecom.ch" ], "spf":"v=spf1 include:spf.witecom.ch include:spf.infomaniak.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.witecom.ch include:spf.infomaniak.ch -all v=spf1 ip4:185.43.244.0/22 ip6:2a05:4880::/29 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 199811 - ], - "autodiscover":{ - "autodiscover_srv":"owa.ynv.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "cheseaux-noreaz.ch" + ], + "redirect":[], + "wikidata":[ + "cheseaux-noreaz.ch" + ], + "guess":[ + "cheseaux-noreaz.ch" + ] + }, + "resolve_flags":[] }, "5910":{ "bfs":"5910", "name":"Cronay", - "canton":"", + "canton":"Kanton Waadt", "domain":"cronay.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "cronay.ch" + ], + "redirect":[], + "wikidata":[ + "cronay.ch" + ], + "guess":[ + "cronay.ch" + ] + }, + "resolve_flags":[] }, "5911":{ "bfs":"5911", @@ -33565,53 +120421,195 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cuarny-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cuarny.ch" + ], + "redirect":[], + "wikidata":[ + "cuarny.ch" + ], + "guess":[ + "cuarny.ch" + ] + }, + "resolve_flags":[] }, "5912":{ "bfs":"5912", "name":"Démoret", - "canton":"", + "canton":"Kanton Waadt", "domain":"demoret.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "demoret.ch" + ], + "redirect":[], + "wikidata":[ + "demoret.ch" + ], + "guess":[ + "demoret.ch" + ] + }, + "resolve_flags":[] }, "5913":{ "bfs":"5913", "name":"Donneloye", - "canton":"", + "canton":"Kanton Waadt", "domain":"donneloye.ch", "mx":[ "donneloye-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX donneloye-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "donneloye.ch" + ], + "guess":[ + "donneloye.ch" + ] + }, + "resolve_flags":[] }, "5914":{ "bfs":"5914", - "name":"Ependes", + "name":"Ependes (VD)", "canton":"Kanton Waadt", "domain":"ependesvd.ch", "mx":[ @@ -33619,64 +120617,282 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ependesvd-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ependesvd.ch" + ], + "guess":[ + "ependes.ch" + ] + }, + "resolve_flags":[] }, "5919":{ "bfs":"5919", "name":"Mathod", - "canton":"", + "canton":"Kanton Waadt", "domain":"mathod.ch", "mx":[ "mathod-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:178.211.226.99 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.211.226.99 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX mathod-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mathod.ch" + ], + "guess":[ + "mathod.ch" + ] + }, + "resolve_flags":[] }, "5921":{ "bfs":"5921", "name":"Molondin", - "canton":"", + "canton":"Kanton Waadt", "domain":"molondin.ch", "mx":[ "molondin-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX molondin-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "mediaterre.ch", + "molondin.ch" + ], + "redirect":[], + "wikidata":[ + "molondin.ch" + ], + "guess":[ + "molondin.ch" + ] + }, + "resolve_flags":[] }, "5922":{ "bfs":"5922", "name":"Montagny-près-Yverdon", - "canton":"", + "canton":"Kanton Waadt", "domain":"montagny.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "montagny.ch" + ], + "redirect":[], + "wikidata":[ + "montagny.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "5923":{ "bfs":"5923", @@ -33688,14 +120904,27 @@ ], "spf":"v=spf1 ip4:5.182.248.151 include:tizoo.com +a +mx +ip4:212.147.66.228 +ip4:212.147.77.250 ~all", "provider":"independent", - "spf_resolved":"v=spf1 ip4:5.182.248.151 include:tizoo.com +a +mx +ip4:212.147.66.228 +ip4:212.147.77.250 ~all v=spf1 ip4:212.147.66.228 +a +mx ip4:5.182.248.3 ip4:5.182.248.4 ip4:5.182.248.140 ip4:5.182.248.144 ip4:5.182.248.148 ip4:5.182.248.151 ip4:5.182.248.160 ip4:5.182.248.166 ip4:5.182.248.176 ip4:5.182.248.183 ip4:5.182.248.132 ip4:212.147.66.247 ip4:212.147.66.245 ip4:212.147.66.246 ip4:5.182.248.11 ~all", - "mx_asns":[ - 209042 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "citycable.ch", + "oppens.ch" + ], + "redirect":[], + "wikidata":[ + "oppens.ch" + ], + "guess":[ + "oppens.ch" + ] + }, + "resolve_flags":[] }, "5924":{ "bfs":"5924", - "name":"Orges VD", + "name":"Orges", "canton":"Kanton Waadt", "domain":"orges.ch", "mx":[ @@ -33703,13 +120932,71 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX orges-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "orges.ch" + ], + "redirect":[], + "wikidata":[ + "orges.ch" + ], + "guess":[ + "orges.ch" + ] + }, + "resolve_flags":[] }, "5925":{ "bfs":"5925", @@ -33721,17 +121008,39 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "orzens.ch" + ], + "redirect":[], + "wikidata":[ + "orzens.ch" + ], + "guess":[ + "orzens.ch" + ] + }, + "resolve_flags":[] }, "5926":{ "bfs":"5926", - "name":"Pomy VD", + "name":"Pomy", "canton":"Kanton Waadt", "domain":"pomy.ch", "mx":[ @@ -33739,31 +121048,81 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "pomy.ch" + ], + "redirect":[], + "wikidata":[ + "pomy.ch" + ], + "guess":[ + "pomy.ch" + ] + }, + "resolve_flags":[] }, "5928":{ "bfs":"5928", "name":"Rovray", - "canton":"", + "canton":"Kanton Waadt", "domain":"rovray.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "rovray.ch" + ], + "redirect":[], + "wikidata":[ + "rovray.ch" + ], + "guess":[ + "rovray.ch" + ] + }, + "resolve_flags":[] }, "5929":{ "bfs":"5929", @@ -33775,13 +121134,33 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "suchy.ch" + ], + "guess":[ + "suchy.ch" + ] + }, + "resolve_flags":[] }, "5930":{ "bfs":"5930", @@ -33793,10 +121172,33 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:84.22.118.28 ip6:2a02:2770:13:0:21a:4aff:fe3b:a633 ip4:84.22.115.207 ip6:2a02:2770:15:0:21a:4aff:febd:eee8 ip4:84.22.101.112 ip6:2a02:2770:6:0:21a:4aff:feea:3ff9 ip4:37.252.126.75 ip6:2a02:2770:7:0:21a:4aff:feeb:4695 ip4:37.252.126.197 ip6:2a02:2770:7:0:21a:4aff:fe51:f065 ip4:46.19.33.41 ip6:2a02:2770:0:0:21a:4aff:fe98:a3c8 ip4:185.19.31.8 ip6:2a04:c43:e00:ee1:4bf:b0ff:fe00:344 ip4:84.22.99.32 ip6:2a02:2770:13:0:21a:4aff:fee7:3911 ip4:185.24.220.76 ip6:2a02:2770:9:0:21a:4aff:feb7:50b4 ip4:37.252.120.95 ip6:2a02:2770:5:0:21a:4aff:fe7d:3ce1 ip4:185.181.162.236 ip6:2001:1600:4:8:f816:3eff:fe02:e770 ip4:46.19.34.237 ip6:2a02:2770:0:0:21a:4aff:fe5d:6d3b ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "suscevaz.ch" + ], + "guess":[ + "suscevaz.ch" + ] + }, + "resolve_flags":[] }, "5931":{ "bfs":"5931", @@ -33808,31 +121210,115 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX treycovagnes-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "treycovagnes.ch" + ], + "redirect":[], + "wikidata":[ + "treycovagnes.ch" + ], + "guess":[ + "treycovagnes.ch" + ] + }, + "resolve_flags":[] }, "5932":{ "bfs":"5932", "name":"Ursins", - "canton":"", + "canton":"Kanton Waadt", "domain":"ursins.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ursins.ch" + ], + "guess":[ + "ursins.ch" + ] + }, + "resolve_flags":[] }, "5933":{ "bfs":"5933", @@ -33844,18 +121330,86 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX valeyressousmontagny-ch02bc.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "valeyres-sous-montagny.ch" + ], + "guess":[ + "valeyres-sous-montagny.ch" + ] + }, + "resolve_flags":[] }, "5934":{ "bfs":"5934", "name":"Valeyres-sous-Ursins", - "canton":"", + "canton":"Kanton Waadt", "domain":"bluemail.ch", "mx":[ "mx01.p.bluenet.ch", @@ -33863,13 +121417,91 @@ ], "spf":"v=spf1 redirect=_spf.bluewin.ch", "provider":"independent", - "spf_resolved":"v=spf1 redirect=_spf.bluewin.ch v=spf1 ip4:193.247.246.0/24 ip4:138.188.174.0/24 ip4:138.188.175.0/24 ~all", - "mx_asns":[ - 16509 - ], - "autodiscover":{ - "autodiscover_cname":"client-configurator.scapp.swisscom.com" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "bluemail.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[] + }, + "resolve_flags":[] }, "5935":{ "bfs":"5935", @@ -33881,9 +121513,29 @@ ], "spf":"", "provider":"infomaniak", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":80.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "villars-epeney.ch" + ], + "redirect":[], + "wikidata":[ + "villars-epeney.ch" + ], + "guess":[ + "villars-epeney.ch" + ] + }, + "resolve_flags":[] }, "5937":{ "bfs":"5937", @@ -33895,18 +121547,44 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vugelleslamothe.ch" + ], + "guess":[ + "vugelleslamothe.ch" + ] + }, + "resolve_flags":[] }, "5938":{ "bfs":"5938", "name":"Yverdon-les-Bains", - "canton":"", + "canton":"Kanton Waadt", "domain":"yverdon-les-bains.ch", "mx":[ "mail.yverdon.rcv.ch", @@ -33914,177 +121592,642 @@ ], "spf":"v=spf1 include:spf.rcv.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.rcv.ch ~all v=spf1 ip4:145.232.253.0/24 ip4:193.5.240.2 ip4:193.5.244.2 ip4:193.5.248.2 ip4:193.5.249.2 -all", - "mx_asns":[ - 15675 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "yverdon-les-bains.ch" + ], + "redirect":[], + "wikidata":[ + "yverdon-les-bains.ch" + ], + "guess":[ + "yverdon-les-bains.ch", + "yverdonlesbains.ch" + ] + }, + "resolve_flags":[] }, "5939":{ "bfs":"5939", "name":"Yvonand", - "canton":"", + "canton":"Kanton Waadt", "domain":"yvonand.ch", "mx":[ "mta.witecom.ch" ], "spf":"v=spf1 mx include:spf.witecom.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf.witecom.ch -all v=spf1 ip4:185.43.244.0/22 ip6:2a05:4880::/29 -all", - "mx_asns":[ - 199811 - ], - "autodiscover":{ - "autodiscover_cname":"owa.yvonand.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "yvonand.ch" + ], + "redirect":[], + "wikidata":[ + "yvonand.ch" + ], + "guess":[ + "yvonand.ch" + ] + }, + "resolve_flags":[] }, "6002":{ "bfs":"6002", "name":"Brig-Glis", - "canton":"", + "canton":"Kanton Wallis", "domain":"brig-glis.ch", "mx":[ "mx.rhone.ch" ], "spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.204.128/30 ip4:81.201.204.116/30 ip4:81.201.204.104/29 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.204.128/30 ip4:81.201.204.116/30 ip4:81.201.204.104/29 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 25353 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "brig-glis.ch" + ], + "guess":[ + "brig-glis.ch", + "brigglis.ch" + ] + }, + "resolve_flags":[] }, "6004":{ "bfs":"6004", "name":"Eggerberg", - "canton":"", + "canton":"Kanton Wallis", "domain":"eggerberg.ch", "mx":[ "eggerberg-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eggerberg-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eggerberg.ch" + ], + "redirect":[], + "wikidata":[ + "eggerberg.ch" + ], + "guess":[ + "eggerberg.ch" + ] + }, + "resolve_flags":[] }, "6007":{ "bfs":"6007", "name":"Naters", - "canton":"", + "canton":"Kanton Wallis", "domain":"naters.ch", "mx":[ "mail.naters.ch" ], "spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.204.188/30 ip4:81.201.204.48/29 include:spf.protection.outlook.com include:mx.dvbern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.204.188/30 ip4:81.201.204.48/29 include:spf.protection.outlook.com include:mx.dvbern.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 25353 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "naters.ch" + ], + "guess":[ + "naters.ch" + ] + }, + "resolve_flags":[] }, "6008":{ "bfs":"6008", "name":"Ried-Brig", - "canton":"", + "canton":"Kanton Wallis", "domain":"ried-brig.ch", "mx":[ "riedbrig-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX riedbrig-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ried-brig.ch" + ], + "guess":[ + "ried-brig.ch", + "riedbrig.ch" + ] + }, + "resolve_flags":[] }, "6009":{ "bfs":"6009", "name":"Simplon", - "canton":"", + "canton":"Kanton Wallis", "domain":"gemeinde-simplon.ch", "mx":[ "gemeindesimplon-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindesimplon-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gemeinde-simplon.ch" + ], + "guess":[ + "gemeinde-simplon.ch", + "simplon.ch" + ] + }, + "resolve_flags":[] }, "6010":{ "bfs":"6010", "name":"Termen", - "canton":"", + "canton":"Kanton Wallis", "domain":"termen.ch", "mx":[ "termen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX termen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "termen.ch" + ], + "guess":[ + "termen.ch" + ] + }, + "resolve_flags":[] }, "6011":{ "bfs":"6011", "name":"Zwischbergen", - "canton":"", + "canton":"Kanton Wallis", "domain":"gondo.ch", "mx":[ "gondo-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:81.201.201.8 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.201.201.8 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"auto.rhone.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gondo-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gondo.ch" + ], + "guess":[] + }, + "resolve_flags":[ + "website_mismatch" + ] }, "6021":{ "bfs":"6021", "name":"Ardon", - "canton":"", + "canton":"Kanton Wallis", "domain":"ardon.ch", "mx":[ - "mailgate2.ti-informatique.com" - ], - "spf":"v=spf1 mx -all", - "provider":"independent", - "mx_asns":[ - 34146 + "ardon-ch.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ardon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ardon.ch" + ], + "guess":[ + "ardon.ch" + ] + }, + "resolve_flags":[] }, "6022":{ "bfs":"6022", "name":"Chamoson", - "canton":"", + "canton":"Kanton Wallis", "domain":"chamoson.net", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -34092,55 +122235,237 @@ ], "spf":"v=spf1 mx include:clients.ciges.ch ?all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:clients.ciges.ch ?all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[ + "chamoson.net" + ], + "redirect":[], + "wikidata":[ + "chamoson.net" + ], + "guess":[ + "chamoson.ch" + ] + }, + "resolve_flags":[] }, "6023":{ "bfs":"6023", "name":"Conthey", - "canton":"", + "canton":"Kanton Wallis", "domain":"conthey.ch", "mx":[ "conthey-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.221.145.32 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.221.145.32 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX conthey-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "conthey.ch" + ], + "guess":[ + "conthey.ch" + ] + }, + "resolve_flags":[] }, "6024":{ "bfs":"6024", "name":"Nendaz", - "canton":"", + "canton":"Kanton Wallis", "domain":"nendaz.org", "mx":[ "nendaz-org.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.221.147.224/28 include:spf.protection.outlook.com include:spf.mailpro.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.221.147.224/28 include:spf.protection.outlook.com include:spf.mailpro.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:178.239.38.0/24 ip4:62.133.56.0/24 ip4:62.50.74.80/28 ip4:62.50.73.144/28 ip4:62.50.76.40/29 ip4:62.50.76.16/28 ip4:195.81.131.64/27 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip6:2a06:fa00::/29 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX nendaz-org.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.nendaz.org CNAME → selector1-nendaz-org._domainkey.nendaz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.nendaz.org CNAME → selector2-nendaz-org._domainkey.nendaz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "nendaz.org" + ], + "guess":[ + "nendaz.ch" + ] + }, + "resolve_flags":[] }, "6025":{ "bfs":"6025", "name":"Vétroz", - "canton":"", + "canton":"Kanton Wallis", "domain":"vetroz.ch", "mx":[ "mgwa01.dlnet.ch", @@ -34148,34 +122473,72 @@ ], "spf":"v=spf1 mx a a:mgwa01.dlnet.ch a:mgwb01.dlnet.ch -all", "provider":"independent", - "mx_asns":[ - 200925 - ], - "autodiscover":{ - "autodiscover_srv":"outlook.dlnet.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vetroz.ch" + ], + "guess":[ + "vetroz.ch" + ] + }, + "resolve_flags":[] }, "6032":{ "bfs":"6032", "name":"Bourg-Saint-Pierre", - "canton":"", + "canton":"Kanton Wallis", "domain":"bourg-saint-pierre.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all", - "provider":"infomaniak", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bourg-saint-pierre.ch" + ], + "redirect":[], + "wikidata":[ + "bourg-saint-pierre.ch" + ], + "guess":[ + "bourg-saint-pierre.ch" + ] + }, + "resolve_flags":[] }, "6033":{ "bfs":"6033", "name":"Liddes", - "canton":"", + "canton":"Kanton Wallis", "domain":"liddes.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -34183,55 +122546,107 @@ ], "spf":"v=spf1 include:clients.ciges.ch ip4:94.103.101.133 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:clients.ciges.ch ip4:94.103.101.133 ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "liddes.ch" + ], + "guess":[ + "liddes.ch" + ] + }, + "resolve_flags":[] }, "6034":{ "bfs":"6034", "name":"Orsières", - "canton":"", + "canton":"Kanton Wallis", "domain":"orsieres.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 include:ti-informatique.com mx ?all", "provider":"independent", - "spf_resolved":"v=spf1 include:ti-informatique.com mx ?all v=spf1 mx a -all", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "orsieres.ch" + ], + "redirect":[], + "wikidata":[ + "orsieres.ch" + ], + "guess":[ + "orsieres.ch" + ] + }, + "resolve_flags":[] }, "6035":{ "bfs":"6035", "name":"Sembrancher", - "canton":"", + "canton":"Kanton Wallis", "domain":"sembrancher.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 include:spf.infomaniak.ch mx -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch mx -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "admin.vs.ch", + "sembrancher.ch" + ], + "redirect":[], + "wikidata":[ + "sembrancher.ch" + ], + "guess":[ + "sembrancher.ch" + ] + }, + "resolve_flags":[] }, "6037":{ "bfs":"6037", "name":"Val de Bagnes", - "canton":"", + "canton":"Kanton Wallis", "domain":"valdebagnes.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -34239,200 +122654,729 @@ ], "spf":"v=spf1 include:clients.ciges.ch include:_spf.i-web.ch include:email.freshservice.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:clients.ciges.ch include:_spf.i-web.ch include:email.freshservice.com ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 include:sendgrid.net include:emailus.freshservice.com include:emaileuc.freshservice.com include:emailmum.freshservice.com include:emailsyd.freshservice.com ~all v=spf1 ip4:185.132.182.137 v=spf1 ip4:167.89.0.0/17 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ip4:198.21.0.0/21 ip4:192.254.112.0/20 ip4:168.245.0.0/17 ip4:149.72.0.0/16 ip4:159.183.0.0/16 ip4:134.128.64.0/19 ip4:134.128.96.0/19 include:ab.sendgrid.net ~all v=spf1 include:fsspfus.freshemail.io ~all v=spf1 include:fsspfeuc.freshemail.io ~all v=spf1 include:fsspfin.freshemail.io ~all v=spf1 include:fsspfau.freshemail.io ~all v=spf1 ip4:223.165.113.0/24 ip4:223.165.115.0/24 ip4:223.165.118.0/23 ip4:223.165.120.0/23 ~all", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[ + "valdebagnes.ch" + ], + "redirect":[], + "wikidata":[ + "valdebagnes.ch" + ], + "guess":[ + "valdebagnes.ch" + ] + }, + "resolve_flags":[] }, "6052":{ "bfs":"6052", "name":"Bellwald", - "canton":"", + "canton":"Kanton Wallis", "domain":"bellwald.ch", "mx":[ "mx.rhone.ch" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.outlook.com +a +mx +ip4:81.201.202.0/26 +ip4:81.201.201.0/25 +ip4:188.40.26.205/32 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.protection.outlook.com +a +mx +ip4:81.201.202.0/26 +ip4:81.201.201.0/25 +ip4:188.40.26.205/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 25353 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bellwald.ch", + "police.vs.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "bellwald.ch" + ] + }, + "resolve_flags":[] }, "6054":{ "bfs":"6054", "name":"Binn", - "canton":"", + "canton":"Kanton Wallis", "domain":"binn.ch", "mx":[ "mail.binn.ch" ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.cyon.net -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.cyon.net -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 21069 - ], - "autodiscover":{ - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "binn.ch", + "landschaftspark-binntal.ch" + ], + "redirect":[], + "wikidata":[ + "binn.ch" + ], + "guess":[ + "binn.ch" + ] + }, + "resolve_flags":[] }, "6056":{ "bfs":"6056", "name":"Ernen", - "canton":"", + "canton":"Kanton Wallis", "domain":"ernen.ch", "mx":[ "ernen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ernen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "ernen.ch", + "landschaftspark-binntal.ch", + "musikdorf.ch" + ], + "redirect":[], + "wikidata":[ + "ernen.ch" + ], + "guess":[ + "ernen.ch" + ] + }, + "resolve_flags":[] }, "6057":{ "bfs":"6057", "name":"Fiesch", - "canton":"", + "canton":"Kanton Wallis", "domain":"gemeinde-fiesch.ch", "mx":[ "gemeindefiesch-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:188.227.202.22 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:188.227.202.22 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindefiesch-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gemeinde-fiesch.ch" + ], + "guess":[ + "fiesch.ch", + "gemeinde-fiesch.ch" + ] + }, + "resolve_flags":[] }, "6058":{ "bfs":"6058", "name":"Fieschertal", - "canton":"", + "canton":"Kanton Wallis", "domain":"fieschertal.ch", "mx":[ "fieschertal-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fieschertal-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "fieschertal.ch" + ], + "redirect":[], + "wikidata":[ + "fieschertal.ch" + ], + "guess":[ + "fieschertal.ch" + ] + }, + "resolve_flags":[] }, "6061":{ "bfs":"6061", "name":"Lax", - "canton":"", + "canton":"Kanton Wallis", "domain":"lax.ch", "mx":[ "lax-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:188.227.202.28 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:188.227.202.28 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lax-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lax.ch" + ], + "guess":[ + "lax.ch" + ] + }, + "resolve_flags":[] }, "6076":{ "bfs":"6076", "name":"Obergoms", - "canton":"", + "canton":"Kanton Wallis", "domain":"obergoms.ch", "mx":[ "mx.rhone.ch" ], "spf":"v=spf1 ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.202.0/24 include:_bulk-spf.datasport.com include:spf.protection.outlook.com include:spf.mandrillapp.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.202.0/24 include:_bulk-spf.datasport.com include:spf.protection.outlook.com include:spf.mandrillapp.com -all v=spf1 ip4:185.71.124.0/24 ip4:185.71.125.0/24 ip4:185.71.126.0/24 ip4:185.71.127.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 25353 - ], - "autodiscover":{ - "autodiscover_srv":"auto.rhone.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "obergoms.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "obergoms.ch" + ] + }, + "resolve_flags":[] }, "6077":{ "bfs":"6077", "name":"Goms", - "canton":"", + "canton":"Kanton Wallis", "domain":"gemeinde-goms.ch", "mx":[ "gemeindegoms-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:146.4.85.110 +ip4:81.201.204.212 +ip4:95.174.243.178 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:146.4.85.110 +ip4:81.201.204.212 +ip4:95.174.243.178 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindegoms-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gemeinde-goms.ch CNAME → selector1-gemeindegoms-ch02b._domainkey.gdegoms.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gemeinde-goms.ch CNAME → selector2-gemeindegoms-ch02b._domainkey.gdegoms.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gemeinde-goms.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-goms.ch" + ], + "guess":[ + "gemeinde-goms.ch", + "goms.ch" + ] + }, + "resolve_flags":[] }, "6082":{ "bfs":"6082", "name":"Ayent", - "canton":"", + "canton":"Kanton Wallis", "domain":"ayent.ch", "mx":[ "ayent-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx include:spf.infomaniak.ch include:spf.protection.outlook.com include:evok.ch ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx include:spf.infomaniak.ch include:spf.protection.outlook.com include:evok.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ayent-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ayent.ch" + ], + "guess":[ + "ayent.ch" + ] + }, + "resolve_flags":[] }, "6083":{ "bfs":"6083", "name":"Evolène", - "canton":"", + "canton":"Kanton Wallis", "domain":"commune-evolene.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "commune-evolene.ch" + ], + "guess":[ + "evolene.ch" + ] + }, + "resolve_flags":[] }, "6084":{ "bfs":"6084", "name":"Hérémence", - "canton":"", + "canton":"Kanton Wallis", "domain":"heremence.ch", "mx":[ "mailgate.ti-informatique.com", @@ -34440,17 +123384,32 @@ ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "heremence.ch" + ], + "guess":[ + "heremence.ch" + ] + }, + "resolve_flags":[] }, "6087":{ "bfs":"6087", - "name":"Saint-Martin", - "canton":"", + "name":"Saint-Martin (VS)", + "canton":"Kanton Wallis", "domain":"saint-martin.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -34458,34 +123417,94 @@ ], "spf":"v=spf1 include:spf.infomaniak.ch include:clients.ciges.ch ~all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:clients.ciges.ch ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:185.132.182.137 v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", + "category":"swiss-based", + "classification_confidence":70.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], "gateway":"proofpoint", - "mx_asns":[ - 52129 - ] + "sources_detail":{ + "scrape":[ + "saint-martin.ch" + ], + "redirect":[], + "wikidata":[ + "saint-martin.ch" + ], + "guess":[ + "saint-martin.ch", + "saintmartin.ch" + ] + }, + "resolve_flags":[] }, "6089":{ "bfs":"6089", "name":"Vex", - "canton":"", + "canton":"Kanton Wallis", "domain":"vex.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 include:ti-informatique.com mx -all", "provider":"independent", - "spf_resolved":"v=spf1 include:ti-informatique.com mx -all v=spf1 mx a -all", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vex.ch" + ], + "redirect":[], + "wikidata":[ + "vex.ch" + ], + "guess":[ + "vex.ch" + ] + }, + "resolve_flags":[] }, "6090":{ "bfs":"6090", "name":"Mont-Noble", - "canton":"", + "canton":"Kanton Wallis", "domain":"mont-noble.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -34493,14 +123512,25 @@ ], "spf":"v=spf1 include:_spf.ch-dns.net include:clients.ciges.ch +mx -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.ch-dns.net include:clients.ciges.ch +mx -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], "gateway":"proofpoint", - "mx_asns":[ - 52129 - ], - "autodiscover":{ - "autodiscover_srv":"ex.ciges.ch" - } + "sources_detail":{ + "scrape":[ + "hemmer.ch" + ], + "redirect":[], + "wikidata":[ + "mont-noble.ch" + ], + "guess":[ + "mont-noble.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6101":{ "bfs":"6101", @@ -34512,31 +123542,171 @@ ], "spf":"v=spf1 v=spf1 a mx ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:62.202.49.82 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 v=spf1 a mx ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:62.202.49.82 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX agarn-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "agarn.ch" + ], + "redirect":[], + "wikidata":[ + "agarn.ch" + ], + "guess":[ + "agarn.ch" + ] + }, + "resolve_flags":[] }, "6102":{ "bfs":"6102", "name":"Albinen", - "canton":"", + "canton":"Kanton Wallis", "domain":"albinen.ch", "mx":[ "albinen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX albinen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "albinen.ch" + ], + "redirect":[], + "wikidata":[ + "albinen.ch" + ], + "guess":[ + "albinen.ch" + ] + }, + "resolve_flags":[] }, "6104":{ "bfs":"6104", @@ -34548,13 +123718,75 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX ergisch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "ergisch.ch" + ], + "guess":[ + "ergisch.ch" + ] + }, + "resolve_flags":[] }, "6109":{ "bfs":"6109", @@ -34566,72 +123798,356 @@ ], "spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX inden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "inden.ch" + ], + "redirect":[], + "wikidata":[ + "inden.ch" + ], + "guess":[ + "inden.ch" + ] + }, + "resolve_flags":[] }, "6110":{ "bfs":"6110", "name":"Leuk", - "canton":"", + "canton":"Kanton Wallis", "domain":"leuk.ch", "mx":[ "leuk-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:217.11.36.106 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:217.11.36.106 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leuk-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.leuk.ch CNAME → selector1-leuk-ch._domainkey.gemeindeleuk.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.leuk.ch CNAME → selector2-leuk-ch._domainkey.gemeindeleuk.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "leuk.ch" + ], + "guess":[ + "leuk.ch" + ] + }, + "resolve_flags":[] }, "6111":{ "bfs":"6111", "name":"Leukerbad", - "canton":"", + "canton":"Kanton Wallis", "domain":"leukerbad.org", "mx":[ "leukerbad-org.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leukerbad-org.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "leukerbad.org" + ], + "redirect":[], + "wikidata":[ + "leukerbad.org" + ], + "guess":[ + "leukerbad.ch" + ] + }, + "resolve_flags":[] }, "6112":{ "bfs":"6112", "name":"Oberems", - "canton":"", + "canton":"Kanton Wallis", "domain":"oberems.ch", "mx":[ "oberems-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX oberems-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "oberems.ch" + ], + "redirect":[], + "wikidata":[ + "oberems.ch" + ], + "guess":[ + "oberems.ch" + ] + }, + "resolve_flags":[] }, "6113":{ "bfs":"6113", "name":"Salgesch", - "canton":"", + "canton":"Kanton Wallis", "domain":"salgesch.ch", "mx":[ "mx-cluster01-hz13.hornetsecurity.ch", @@ -34641,18 +124157,40 @@ ], "spf":"v=spf1 redirect=salgesch.ch.spf.hornetdmarc.com", "provider":"microsoft", - "spf_resolved":"v=spf1 redirect=salgesch.ch.spf.hornetdmarc.com v=spf1 ip4:164.128.154.70 include:spf.hornetsecurity.com include:spf.protection.outlook.com -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "gateway":"hornetsecurity", - "mx_asns":[ - 25091 + "category":"us-cloud", + "classification_confidence":75.0, + "classification_signals":[ + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "salgesch.ch" + ], + "redirect":[], + "wikidata":[ + "salgesch.ch" + ], + "guess":[ + "salgesch.ch" + ] + }, + "resolve_flags":[] }, "6116":{ "bfs":"6116", - "name":"Varen VS", + "name":"Varen", "canton":"Kanton Wallis", "domain":"varen.ch", "mx":[ @@ -34660,31 +124198,154 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX varen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "varen.ch" + ], + "redirect":[], + "wikidata":[ + "varen.ch" + ], + "guess":[ + "varen.ch" + ] + }, + "resolve_flags":[] }, "6117":{ "bfs":"6117", "name":"Guttet-Feschel", - "canton":"", + "canton":"Kanton Wallis", "domain":"guttet-feschel.ch", "mx":[ "guttetfeschel-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX guttetfeschel-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "guttet-feschel.ch" + ], + "redirect":[], + "wikidata":[ + "guttet-feschel.ch" + ], + "guess":[ + "guttet-feschel.ch", + "guttetfeschel.ch" + ] + }, + "resolve_flags":[] }, "6118":{ "bfs":"6118", @@ -34696,239 +124357,1035 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gampelbratsch-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gampel-bratsch.ch" + ], + "redirect":[], + "wikidata":[ + "gampel-bratsch.ch" + ], + "guess":[ + "gampel-bratsch.ch" + ] + }, + "resolve_flags":[] }, "6119":{ "bfs":"6119", "name":"Turtmann-Unterems", - "canton":"", + "canton":"Kanton Wallis", "domain":"turtmann-unterems.ch", "mx":[ "turtmannunterems-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX turtmannunterems-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "turtmann-unterems.ch" + ], + "redirect":[], + "wikidata":[ + "turtmann-unterems.ch" + ], + "guess":[ + "turtmann-unterems.ch" + ] + }, + "resolve_flags":[] }, "6131":{ "bfs":"6131", "name":"Bovernier", - "canton":"", + "canton":"Kanton Wallis", "domain":"bovernier.ch", "mx":[ "bovernier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 mx a -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bovernier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bovernier.ch" + ], + "guess":[ + "bovernier.ch" + ] + }, + "resolve_flags":[] }, "6133":{ "bfs":"6133", "name":"Fully", - "canton":"", + "canton":"Kanton Wallis", "domain":"fully.ch", "mx":[ "smtp.fully.ch" ], "spf":"v=spf1 a mx a:mail2.pcprofi.ch ip4:81.88.178.30 ip4:81.88.178.21 ip4:213.221.139.177 ~all", "provider":"independent", - "mx_asns":[ - 15547 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fully.ch" + ], + "guess":[ + "fully.ch" + ] + }, + "resolve_flags":[] }, "6134":{ "bfs":"6134", "name":"Isérables", - "canton":"", + "canton":"Kanton Wallis", "domain":"iserables.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 mx include:spf1.net4all.ch include:spf.infomaniak.ch include:_spf.komodo.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:spf1.net4all.ch include:spf.infomaniak.ch include:_spf.komodo.ch -all v=spf1 ip4:80.80.228.110 ip4:80.80.228.43 ip4:80.80.228.47 ip4:80.80.228.81 ip4:80.80.228.82 ip4:80.80.228.83 ip4:80.80.228.58 ip4:80.80.228.17 ip4:80.80.228.52 ip4:80.80.228.99 ip4:80.80.228.112 ip4:80.80.228.114 ip4:80.80.228.56 ip4:141.101.62.117 ip4:141.101.62.243 ip4:80.80.228.21 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.62.168.0/22 ip4:194.113.228.0/22 ip6:2a02:7e60::/32 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "iserables.ch" + ], + "guess":[ + "iserables.ch" + ] + }, + "resolve_flags":[] }, "6135":{ "bfs":"6135", "name":"Leytron", - "canton":"", + "canton":"Kanton Wallis", "domain":"leytron.ch", "mx":[ "leytron-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:213.221.149.254 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:213.221.149.254 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX leytron-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "leytron.ch" + ], + "redirect":[], + "wikidata":[ + "leytron.ch" + ], + "guess":[ + "leytron.ch" + ] + }, + "resolve_flags":[] }, "6136":{ "bfs":"6136", "name":"Martigny", - "canton":"", + "canton":"Kanton Wallis", "domain":"martigny.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "martigny.ch" + ], + "guess":[ + "martigny.ch" + ] + }, + "resolve_flags":[] }, "6137":{ "bfs":"6137", "name":"Martigny-Combe", - "canton":"", + "canton":"Kanton Wallis", "domain":"martigny-combe.ch", "mx":[ "martignycombe-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX martignycombe-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.martigny-combe.ch CNAME → selector1-martignycombe-ch02b._domainkey.martignycombe.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.martigny-combe.ch CNAME → selector2-martignycombe-ch02b._domainkey.martignycombe.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "axianet.ch", + "martigny-combe.ch" + ], + "redirect":[], + "wikidata":[ + "martigny-combe.ch" + ], + "guess":[ + "martigny-combe.ch" + ] + }, + "resolve_flags":[] }, "6139":{ "bfs":"6139", "name":"Riddes", - "canton":"", + "canton":"Kanton Wallis", "domain":"riddes.ch", "mx":[ "riddes-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com ip4:213.221.136.66 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com ip4:213.221.136.66 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX riddes-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "riddes.ch" + ], + "guess":[ + "riddes.ch" + ] + }, + "resolve_flags":[] }, "6140":{ "bfs":"6140", "name":"Saillon", - "canton":"", - "domain":"saillon.ch", - "mx":[ - "mx.netplus.ch" - ], - "spf":"v=spf1 include:netplus.ch include:clients.ciges.ch include:eu.mailgun.org include:spf.protection.outlook.com include:_spf.i-web.ch ~all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:netplus.ch include:clients.ciges.ch include:eu.mailgun.org include:spf.protection.outlook.com include:_spf.i-web.ch ~all v=spf1 a:mxout.netplus.ch include:app.mail.infomaniak.ch include:spf.brevo.com include:amazonses.com include:spf.sogomail.ch ?all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 include:_spf.eu.mailgun.org ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all v=spf1 ip4:91.212.152.0/24 ~all v=spf1 ip4:185.132.182.137", - "mx_asns":[ - 15547 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "canton":"Kanton Wallis", + "domain":"commune-saillon.ch", + "mx":[ + "communesaillon-ch01i.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com include:spfcloud.letsignit.com include:mailgun.org include:_spf.i-web.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX communesaillon-ch01i.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.commune-saillon.ch CNAME → selector1-communesaillon-ch01i._domainkey.cnesaillon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.commune-saillon.ch CNAME → selector2-communesaillon-ch01i._domainkey.cnesaillon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "commune-saillon.ch" + ] + }, + "resolve_flags":[] }, "6141":{ "bfs":"6141", "name":"Saxon", - "canton":"", - "domain":"saxon.ch", + "canton":"Kanton Wallis", + "domain":"admin.saxon.ch", "mx":[ - "mx.netplus.ch" + "admin-saxon-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:netplus.ch ?all", - "provider":"independent", - "spf_resolved":"v=spf1 include:netplus.ch ?all v=spf1 a:mxout.netplus.ch include:app.mail.infomaniak.ch include:spf.brevo.com include:amazonses.com include:spf.sogomail.ch ?all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.41.28.0/22 ip4:94.143.16.0/21 ip4:185.24.144.0/22 ip4:153.92.224.0/19 ip4:213.32.128.0/18 ip4:185.107.232.0/22 ip4:77.32.128.0/18 ip4:77.32.192.0/19 ip4:212.146.192.0/18 ip4:172.246.0.0/18 -all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all v=spf1 ip4:91.212.152.0/24 ~all", - "mx_asns":[ - 15547 - ] + "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX admin-saxon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "admin.saxon.ch" + ] + }, + "resolve_flags":[] }, "6142":{ "bfs":"6142", "name":"Trient", - "canton":"", + "canton":"Kanton Wallis", "domain":"trient.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all", "provider":"independent", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "trient.ch" + ], + "redirect":[], + "wikidata":[ + "trient.ch" + ], + "guess":[ + "trient.ch" + ] + }, + "resolve_flags":[] }, "6151":{ "bfs":"6151", "name":"Champéry", - "canton":"", - "domain":"admin-champery.ch", - "mx":[ - "mailgate.ti-informatique.com", - "mailgate2.ti-informatique.com" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 34146 + "canton":"Kanton Wallis", + "domain":"champery.ch", + "mx":[ + "champery-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX champery-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "champery.ch" + ], + "redirect":[], + "wikidata":[ + "admin-champery.ch" + ], + "guess":[ + "champery.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "6152":{ "bfs":"6152", "name":"Collombey-Muraz", - "canton":"", + "canton":"Kanton Wallis", "domain":"collombey-muraz.ch", "mx":[ "collombeymuraz-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:213.221.157.230 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.221.157.230 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX collombeymuraz-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.collombey-muraz.ch CNAME → selector1-collombeymuraz-ch02c._domainkey.collombey.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.collombey-muraz.ch CNAME → selector2-collombeymuraz-ch02c._domainkey.collombey.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "collombey-muraz.ch" + ], + "guess":[ + "collombey-muraz.ch" + ] + }, + "resolve_flags":[] }, "6153":{ "bfs":"6153", "name":"Monthey", - "canton":"", + "canton":"Kanton Wallis", "domain":"monthey.ch", "mx":[ "mx-01-eu-central-1.prod.hydra.sophos.com", @@ -34936,381 +125393,1625 @@ ], "spf":"v=spf1 ip4:213.221.152.154 ip4:193.34.137.65 ip4:185.54.6.111 include:spf.protection.outlook.com include:_spf_eucentral1.prod.hydra.sophos.com include:spf-de.emailsignatures365.com include:de1-emailsignatures-cloud.codetwo.com include:spf1.ne.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:213.221.152.154 ip4:193.34.137.65 ip4:185.54.6.111 include:spf.protection.outlook.com include:_spf_eucentral1.prod.hydra.sophos.com include:spf-de.emailsignatures365.com include:de1-emailsignatures-cloud.codetwo.com include:spf1.ne.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:94.140.18.0/24 ip4:35.159.27.8/30 ip4:35.159.27.28/30 ip4:35.159.27.32/30 ip4:35.159.27.48/29 ip4:35.159.27.160/28 ~all v=spf1 ip4:20.79.220.33 ip4:20.79.222.204 ip4:13.94.95.171 ip4:137.116.240.241 -all v=spf1 redirect=spf.emailsignatures365.com v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:20.92.116.22 ip4:40.86.225.121 ip4:13.74.137.176 ip4:40.113.3.253 ip4:20.49.202.3 ip4:52.240.209.173 ip4:13.93.42.39 ip4:104.42.172.251 ip4:20.79.220.33 ip4:20.42.205.31 ip4:52.138.216.130 ip4:20.98.2.159 ip4:20.93.157.195 ip4:40.86.217.129 ip4:23.100.56.64 ip4:20.58.22.103 ip4:23.100.43.194 ip4:20.79.222.204 ip4:13.77.59.28 ip4:40.114.221.220 ip4:20.97.70.227 ip4:40.69.19.60 ip4:52.170.22.60 ip4:13.94.95.171 ip4:51.11.109.172 -all", + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], "gateway":"sophos", - "mx_asns":[ - 16509 - ] + "sources_detail":{ + "scrape":[ + "monthey.ch" + ], + "redirect":[], + "wikidata":[ + "monthey.ch" + ], + "guess":[ + "monthey.ch" + ] + }, + "resolve_flags":[] }, "6154":{ "bfs":"6154", "name":"Port-Valais", - "canton":"", + "canton":"Kanton Wallis", "domain":"port-valais.ch", "mx":[ "portvalais-ch01b.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.71.120.144/28 ip4:213.221.134.37 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.71.120.144/28 ip4:213.221.134.37 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX portvalais-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.port-valais.ch CNAME → selector1-portvalais-ch01b._domainkey.portvalaisvs.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.port-valais.ch CNAME → selector2-portvalais-ch01b._domainkey.portvalaisvs.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "port-valais.ch" + ], + "guess":[ + "port-valais.ch" + ] + }, + "resolve_flags":[] }, "6155":{ "bfs":"6155", "name":"Saint-Gingolph", - "canton":"", + "canton":"Kanton Wallis", "domain":"st-gingolph.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "st-gingolph.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "6156":{ "bfs":"6156", "name":"Troistorrents", - "canton":"", + "canton":"Kanton Wallis", "domain":"troistorrents.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all", "provider":"independent", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "troistorrents.ch" + ], + "redirect":[], + "wikidata":[ + "troistorrents.ch" + ], + "guess":[ + "troistorrents.ch" + ] + }, + "resolve_flags":[] }, "6157":{ "bfs":"6157", - "name":"Val-d’Illiez", - "canton":"", + "name":"Val-d'Illiez", + "canton":"Kanton Wallis", "domain":"illiez.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 mx -all", "provider":"independent", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "illiez.ch" + ], + "guess":[ + "valdilliez.ch" + ] + }, + "resolve_flags":[] }, "6158":{ "bfs":"6158", "name":"Vionnaz", - "canton":"", + "canton":"Kanton Wallis", "domain":"vionnaz.ch", "mx":[ "vionnaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 mx a -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vionnaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vionnaz.ch" + ], + "guess":[ + "vionnaz.ch" + ] + }, + "resolve_flags":[] }, "6159":{ "bfs":"6159", "name":"Vouvry", - "canton":"", + "canton":"Kanton Wallis", "domain":"vouvry.ch", "mx":[ "vouvry-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.kreativmedia.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.kreativmedia.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vouvry-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vouvry.ch" + ], + "guess":[ + "vouvry.ch" + ] + }, + "resolve_flags":[] }, "6172":{ "bfs":"6172", - "name":"Bister VS", + "name":"Bister", "canton":"Kanton Wallis", "domain":"gemeinde-bister.ch", - "mx":[], - "spf":"", - "provider":"microsoft" + "mx":[ + "gemeindebister-ch02b.mail.protection.outlook.com" + ], + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindebister-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.gemeinde-bister.ch CNAME → selector1-gemeindebister-ch02b._domainkey.gemeindebister.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.gemeinde-bister.ch CNAME → selector2-gemeindebister-ch02b._domainkey.gemeindebister.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gemeinde-bister.ch" + ] + }, + "resolve_flags":[] }, "6173":{ "bfs":"6173", "name":"Bitsch", - "canton":"", + "canton":"Kanton Wallis", "domain":"bitsch.ch", "mx":[ "bitsch-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:62.204.96.43 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:62.204.96.43 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bitsch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "bitsch.ch" + ], + "redirect":[], + "wikidata":[ + "bitsch.ch" + ], + "guess":[ + "bitsch.ch" + ] + }, + "resolve_flags":[] }, "6177":{ "bfs":"6177", "name":"Grengiols", - "canton":"", + "canton":"Kanton Wallis", "domain":"grengiols.ch", "mx":[ "grengiols-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com ip4:146.4.33.178 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com ip4:146.4.33.178 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grengiols-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "grengiols.ch", + "landschaftspark-binntal.ch" + ], + "redirect":[], + "wikidata":[ + "grengiols.ch" + ], + "guess":[ + "grengiols.ch" + ] + }, + "resolve_flags":[] }, "6181":{ "bfs":"6181", "name":"Riederalp", - "canton":"", + "canton":"Kanton Wallis", "domain":"gemeinde-riederalp.ch", "mx":[ "gemeinderiederalp-ch02b.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeinderiederalp-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "gemeinde-riederalp.ch" + ], + "guess":[ + "gemeinde-riederalp.ch", + "riederalp.ch" + ] + }, + "resolve_flags":[] }, "6191":{ "bfs":"6191", "name":"Ausserberg", - "canton":"", + "canton":"Kanton Wallis", "domain":"ausserberg.ch", "mx":[ "ausserberg.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"maildiscovery.cyon.ch" - } + "category":"us-cloud", + "classification_confidence":95.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "ausserberg.ch" + ], + "redirect":[], + "wikidata":[ + "ausserberg.ch" + ], + "guess":[ + "ausserberg.ch" + ] + }, + "resolve_flags":[] }, "6192":{ "bfs":"6192", "name":"Blatten", - "canton":"", - "domain":"blatten-vs.ch", + "canton":"Kanton Wallis", + "domain":"loetschen.ch", "mx":[ - "blattenvs-ch01i.mail.protection.outlook.com" + "loetschen-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.cyon.net -all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.protection.cyon.net -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX loetschen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.loetschen.ch CNAME → selector1-loetschen-ch._domainkey.loetschen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.loetschen.ch CNAME → selector2-loetschen-ch._domainkey.loetschen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "loetschen.ch" + ], + "redirect":[], + "wikidata":[ + "blatten-vs.ch" + ], + "guess":[ + "blatten.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6193":{ "bfs":"6193", "name":"Bürchen", - "canton":"", + "canton":"Kanton Wallis", "domain":"buerchen.ch", "mx":[ "buerchen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +ip4:185.5.33.226 +ip4:178.174.37.114 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +ip4:185.5.33.226 +ip4:178.174.37.114 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"auto.rhone.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX buerchen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.buerchen.ch CNAME → selector1-buerchen-ch._domainkey.buerchen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.buerchen.ch CNAME → selector2-buerchen-ch._domainkey.buerchen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "buerchen.ch" + ] + }, + "resolve_flags":[] }, "6194":{ "bfs":"6194", "name":"Eischoll", - "canton":"", + "canton":"Kanton Wallis", "domain":"eischoll.ch", "mx":[ "eischoll-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all v=spf1 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eischoll-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.eischoll.ch CNAME → selector1-eischoll-ch._domainkey.eischoll.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.eischoll.ch CNAME → selector2-eischoll-ch._domainkey.eischoll.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "eischoll.ch", + "skischule-eischoll.ch" + ], + "redirect":[], + "wikidata":[ + "eischoll.ch" + ], + "guess":[ + "eischoll.ch" + ] + }, + "resolve_flags":[] }, "6195":{ "bfs":"6195", "name":"Ferden", - "canton":"", - "domain":"ferden.ch", + "canton":"Kanton Wallis", + "domain":"loetschen.ch", "mx":[ - "ferden-ch.mail.protection.outlook.com" + "loetschen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX loetschen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.loetschen.ch CNAME → selector1-loetschen-ch._domainkey.loetschen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.loetschen.ch CNAME → selector2-loetschen-ch._domainkey.loetschen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "loetschen.ch" + ] + }, + "resolve_flags":[] }, "6197":{ "bfs":"6197", "name":"Kippel", - "canton":"", - "domain":"kippel.ch", + "canton":"Kanton Wallis", + "domain":"loetschen.ch", "mx":[ - "kippel-ch.mail.protection.outlook.com" + "loetschen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX loetschen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.loetschen.ch CNAME → selector1-loetschen-ch._domainkey.loetschen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.loetschen.ch CNAME → selector2-loetschen-ch._domainkey.loetschen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "loetschen.ch" + ] + }, + "resolve_flags":[] }, "6198":{ "bfs":"6198", "name":"Niedergesteln", - "canton":"", + "canton":"Kanton Wallis", "domain":"niedergesteln.ch", "mx":[ "niedergesteln-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all v=spf1 ip4:78.40.79.211 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX niedergesteln-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "niedergesteln.ch" + ], + "guess":[ + "niedergesteln.ch" + ] + }, + "resolve_flags":[] }, "6199":{ "bfs":"6199", "name":"Raron", - "canton":"", + "canton":"Kanton Wallis", "domain":"raron.ch", "mx":[ "raron-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:46.14.118.150 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:46.14.118.150 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX raron-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "raron.ch" + ], + "redirect":[], + "wikidata":[ + "raron.ch" + ], + "guess":[ + "raron.ch" + ] + }, + "resolve_flags":[] }, "6201":{ "bfs":"6201", "name":"Unterbäch", - "canton":"", + "canton":"Kanton Wallis", "domain":"unterbaech.ch", "mx":[ "mx.rhone.ch" ], "spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 25353 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"auto.rhone.ch" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "unterbaech.ch" + ], + "guess":[ + "unterbaech.ch" + ] + }, + "resolve_flags":[] }, "6202":{ "bfs":"6202", - "name":"Wiler", - "canton":"", + "name":"Wiler (Lötschen)", + "canton":"Kanton Wallis", "domain":"wilervs.ch", "mx":[ "wilervs.ch" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 47302 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "wilervs.ch" + ], + "guess":[ + "wiler.ch" + ] + }, + "resolve_flags":[] }, "6203":{ "bfs":"6203", "name":"Mörel-Filet", - "canton":"", + "canton":"Kanton Wallis", "domain":"moerel-filet.ch", "mx":[ "moerelfilet-ch01e.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx include:spf.protection.outlook.com +ip4:149.126.6.130/24 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:109.164.212.178 +ip4:51.103.157.97 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx include:spf.protection.outlook.com +ip4:149.126.6.130/24 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:109.164.212.178 +ip4:51.103.157.97 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX moerelfilet-ch01e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "moerel-filet.ch" + ], + "redirect":[], + "wikidata":[ + "moerel-filet.ch" + ], + "guess":[ + "moerel-filet.ch" + ] + }, + "resolve_flags":[] }, "6204":{ "bfs":"6204", @@ -35322,37 +127023,151 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX steghohtenn-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "steg-hohtenn.ch" + ], + "redirect":[], + "wikidata":[ + "steg-hohtenn.ch" + ], + "guess":[ + "steg-hohtenn.ch" + ] + }, + "resolve_flags":[] }, "6205":{ "bfs":"6205", "name":"Bettmeralp", - "canton":"", - "domain":"bettmeralp.ch", + "canton":"Kanton Wallis", + "domain":"gemeinde-bettmeralp.ch", "mx":[ - "mail.vs-online.net", - "srv12.jse.ch" + "gemeindebettmeralp-ch02b.mail.protection.outlook.com" ], - "spf":"v=spf1 ip4:82.195.253.109 include:spf.protection.outlook.com -all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:82.195.253.109 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 1836 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX gemeindebettmeralp-ch02b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "override":[ + "gemeinde-bettmeralp.ch" + ] + }, + "resolve_flags":[] }, "6211":{ "bfs":"6211", "name":"Collonges", - "canton":"", + "canton":"Kanton Wallis", "domain":"collonges.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -35360,20 +127175,39 @@ ], "spf":"v=spf1 include:clients.ciges.ch ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:clients.ciges.ch ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "collonges.ch" + ], + "guess":[ + "collonges.ch" + ] + }, + "resolve_flags":[] }, "6212":{ "bfs":"6212", "name":"Dorénaz", - "canton":"", + "canton":"Kanton Wallis", "domain":"dorenaz.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -35381,137 +127215,475 @@ ], "spf":"v=spf1 mx include:clients.ciges.ch include:_spf.ch-dns.net ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:clients.ciges.ch include:_spf.ch-dns.net ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "dorenaz.ch" + ], + "guess":[ + "dorenaz.ch" + ] + }, + "resolve_flags":[] }, "6213":{ "bfs":"6213", "name":"Evionnaz", - "canton":"", + "canton":"Kanton Wallis", "domain":"evionnaz.ch", "mx":[ "evionnaz-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX evionnaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "evionnaz.ch" + ], + "guess":[ + "evionnaz.ch" + ] + }, + "resolve_flags":[] }, "6214":{ "bfs":"6214", "name":"Finhaut", - "canton":"", + "canton":"Kanton Wallis", "domain":"finhaut.ch", "mx":[ "finhaut-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX finhaut-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "finhaut.ch" + ], + "redirect":[], + "wikidata":[ + "finhaut.ch" + ], + "guess":[ + "finhaut.ch" + ] + }, + "resolve_flags":[] }, "6215":{ "bfs":"6215", "name":"Massongex", - "canton":"", + "canton":"Kanton Wallis", "domain":"massongex.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "massongex.ch" + ], + "redirect":[], + "wikidata":[ + "massongex.ch" + ], + "guess":[ + "massongex.ch" + ] + }, + "resolve_flags":[] }, "6217":{ "bfs":"6217", "name":"Saint-Maurice", - "canton":"", + "canton":"Kanton Wallis", "domain":"saint-maurice.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saint-maurice.ch" + ], + "guess":[ + "saint-maurice.ch" + ] + }, + "resolve_flags":[] }, "6218":{ "bfs":"6218", "name":"Salvan", - "canton":"", + "canton":"Kanton Wallis", "domain":"salvan.ch", "mx":[ "mail.salvan.ch" ], "spf":"v=spf1 a mx ~all", "provider":"independent", - "mx_asns":[ - 203476 - ] + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "salvan.ch" + ], + "redirect":[], + "wikidata":[ + "salvan.ch" + ], + "guess":[ + "salvan.ch" + ] + }, + "resolve_flags":[] }, "6219":{ "bfs":"6219", "name":"Vernayaz", - "canton":"", + "canton":"Kanton Wallis", "domain":"vernayaz.ch", "mx":[ "mailgate2.ti-informatique.com" ], "spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all", "provider":"independent", - "mx_asns":[ - 34146 - ], - "autodiscover":{ - "autodiscover_srv":"webgate.xpertcloud.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "vernayaz.ch" + ], + "redirect":[], + "wikidata":[ + "vernayaz.ch" + ], + "guess":[ + "vernayaz.ch" + ] + }, + "resolve_flags":[] }, "6220":{ "bfs":"6220", "name":"Vérossaz", - "canton":"", + "canton":"Kanton Wallis", "domain":"verossaz.ch", "mx":[ "verossaz-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 ip4:194.12.24.67 include:spf.protection.outlook.com -all", + "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.12.24.67 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX verossaz-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "verossaz.ch" + ], + "guess":[ + "verossaz.ch" + ] + }, + "resolve_flags":[] }, "6232":{ "bfs":"6232", "name":"Chalais", - "canton":"", + "canton":"Kanton Wallis", "domain":"chalais.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -35519,53 +127691,181 @@ ], "spf":"v=spf1 include:clients.ciges.ch ip4:128.65.195.32 ~all", "provider":"independent", - "spf_resolved":"v=spf1 include:clients.ciges.ch ip4:128.65.195.32 ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chalais.ch" + ], + "guess":[ + "chalais.ch" + ] + }, + "resolve_flags":[] }, "6235":{ "bfs":"6235", "name":"Chippis", - "canton":"", + "canton":"Kanton Wallis", "domain":"chippis.ch", "mx":[ "mx1-eu1.ppe-hosted.com", "mx2-eu1.ppe-hosted.com" ], "spf":"v=spf1 include:clients.ciges.ch include:spf.infomaniak.com ~all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:clients.ciges.ch include:spf.infomaniak.com ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:185.132.182.137 v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[ + "chippis.ch", + "flex.studio" + ], + "redirect":[], + "wikidata":[ + "chippis.ch" + ], + "guess":[ + "chippis.ch" + ] + }, + "resolve_flags":[] }, "6238":{ "bfs":"6238", "name":"Grône", - "canton":"", + "canton":"Kanton Wallis", "domain":"grone.ch", "mx":[ "grone-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grone-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grone.ch" + ], + "guess":[ + "grone.ch" + ] + }, + "resolve_flags":[] }, "6239":{ "bfs":"6239", @@ -35577,109 +127877,326 @@ ], "spf":"v=spf1 a mx ip4:217.196.176.0/20 include:relay.mailchannels.net include:spf.antispamcloud.com include:newsletter.infomaniak.com include:mailgun.org ?all", "provider":"independent", - "spf_resolved":"v=spf1 a mx ip4:217.196.176.0/20 include:relay.mailchannels.net include:spf.antispamcloud.com include:newsletter.infomaniak.com include:mailgun.org ?all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:130.117.251.9 ip4:130.117.251.10 ip6:2001:978:2:6::20:10 ip6:2001:978:2:6::20:a ip4:94.75.244.176/27 ip4:94.75.192.139/27 ip4:95.211.2.195/26 ip4:95.211.2.198/26 ip4:95.211.2.199/26 ip4:95.211.2.201/26 ip4:95.211.2.202/26 ip4:95.211.2.204/26 ip4:94.75.244.183/27 ip4:94.75.244.184/27 ip6:2001:1af8:4400:a047:6::1 ip4:37.58.58.55/27 ip4:199.115.117.7/27 ip4:199.115.117.10/27 ip4:199.115.117.11/27 ip6:2604:9a00:2010:a024:21::1 ip4:185.201.16.0/22 ip4:192.69.18.0/24 ip4:208.70.90.0/24 ip4:45.91.121.0/24 ip4:45.93.148.0/24 ip4:45.131.180.0/24 ip4:45.140.132.0/24 ip4:193.41.32.0/24 ip4:185.225.27.0/24 ip4:80.91.219.0/24 ip4:188.190.113.0/24 ip4:45.147.95.0/24 ip4:46.229.240.0/24 ip4:87.236.163.0/24 ip4:188.190.112.0/24 ip4:192.69.19.0/24 ip4:208.70.91.0/24 ip4:185.209.51.0/24 ip4:185.218.226.0/24 -all v=spf1 include:amazonses.com ?all v=spf1 include:_spf.mailgun.org include:_spf.eu.mailgun.org -all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all v=spf1 include:_spf1.mailgun.org include:_spf2.mailgun.org ~all v=spf1 ip4:141.193.32.0/23 ip4:159.135.140.80/29 ip4:159.135.132.128/25 ip4:161.38.204.0/22 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:143.55.236.0/22 ip4:198.244.60.0/22 ip4:204.220.160.0/21 ~all v=spf1 ip4:209.61.151.0/24 ip4:166.78.68.0/22 ip4:198.61.254.0/23 ip4:192.237.158.0/23 ip4:23.253.182.0/23 ip4:104.130.96.0/28 ip4:146.20.113.0/24 ip4:146.20.191.0/24 ip4:159.135.224.0/20 ip4:69.72.32.0/20 ~all v=spf1 ip4:104.130.122.0/23 ip4:146.20.112.0/26 ip4:161.38.192.0/20 ip4:143.55.224.0/21 ip4:143.55.232.0/22 ip4:159.112.240.0/20 ip4:198.244.48.0/20 ip4:204.220.168.0/21 ip4:204.220.176.0/20 ~all", - "mx_asns":[ - 15547 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.cransmontana.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "icogne.ch" + ], + "redirect":[], + "wikidata":[ + "icogne.ch" + ], + "guess":[ + "icogne.ch" + ] + }, + "resolve_flags":[] }, "6240":{ "bfs":"6240", "name":"Lens", - "canton":"", + "canton":"Kanton Wallis", "domain":"lens.ch", "mx":[ "mail2.pcprofi.ch" ], "spf":"v=spf1 a mx a:mail2.pcprofi.ch ip4:81.88.178.30 ip4:81.88.178.21 ip4:81.88.178.32 ~all", "provider":"independent", - "mx_asns":[ - 15547 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "cransmontana.ch", + "lens.ch" + ], + "redirect":[], + "wikidata":[ + "lens.ch" + ], + "guess":[ + "lens.ch" + ] + }, + "resolve_flags":[] }, "6246":{ "bfs":"6246", "name":"Saint-Léonard", - "canton":"", + "canton":"Kanton Wallis", "domain":"st-leonard.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "st-leonard.ch" + ], + "redirect":[], + "wikidata":[ + "st-leonard.ch" + ], + "guess":[ + "saint-leonard.ch" + ] + }, + "resolve_flags":[] }, "6248":{ "bfs":"6248", - "name":"Siders", - "canton":"", + "name":"Sierre", + "canton":"Kanton Wallis", "domain":"sierre.ch", "mx":[ "mail2.pcprofi.ch" ], "spf":"v=spf1 mx ip4:81.88.178.21 ip4:195.141.89.158 ip4:91.208.173.157 ip4:81.88.178.3 ip4:213.221.157.218 ip4:213.221.157.222 ~all", "provider":"independent", - "mx_asns":[ - 15547 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "sierre.ch" + ], + "guess":[ + "sierre.ch" + ] + }, + "resolve_flags":[] }, "6252":{ "bfs":"6252", "name":"Anniviers", - "canton":"", + "canton":"Kanton Wallis", "domain":"anniviers.org", "mx":[ "mx1-eu1.ppe-hosted.com", "mx2-eu1.ppe-hosted.com" ], "spf":"v=spf1 include:clients.ciges.ch include:spf1.ne.ch include:spf.infomaniak.ch ~all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:clients.ciges.ch include:spf1.ne.ch include:spf.infomaniak.ch ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:148.196.30.0/24 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.132.182.137 v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":85.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.anniviers.org CNAME → selector1-anniviers-org._domainkey.communeanniviers.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.anniviers.org CNAME → selector2-anniviers-org._domainkey.communeanniviers.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "anniviers.org" + ], + "guess":[ + "anniviers.ch" + ] + }, + "resolve_flags":[] }, "6253":{ "bfs":"6253", "name":"Crans-Montana", - "canton":"", - "domain":"crans-montana.ch", + "canton":"Kanton Wallis", + "domain":"cransmontana.ch", "mx":[ "mail2.pcprofi.ch" ], - "spf":"v=spf1 mx include:sprecw.crans-montana.ch include:sprecy.crans-montana.ch include:sprecz.crans-montana.ch include:wlk-msg.de ip4:81.88.178.21 ip4:81.88.178.32 ip4:212.40.24.243 ip4:212.40.24.250 -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx include:sprecw.crans-montana.ch include:sprecy.crans-montana.ch include:sprecz.crans-montana.ch include:wlk-msg.de ip4:81.88.178.21 ip4:81.88.178.32 ip4:212.40.24.243 ip4:212.40.24.250 -all v=spf1 ip4:141.101.62.30 ip4:80.74.64.73 ip4:141.101.63.79 ip4:141.101.62.117 ip4:141.101.62.141 ip4:141.101.63.193 ip4:185.4.45.19 ip4:185.4.44.101 ip4:46.140.40.86 ip4:80.74.64.0/24 -all v=spf1 ip4:40.107.0.0/16 ip4:52.100.0.0/14 ip4:104.47.0.0/17 ip4:51.4.72.0/24 ip4:51.5.72.0/24 ip4:51.5.80.0/27 ip4:20.47.149.138/32 ip4:51.4.80.0/27 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:40.92.0.0/15 -all v=spf1 ip4:80.80.224.0/20 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.8.0/21 ip6:2a01:4180:4050:0800::/64 ip6:2a01:4180:4051:0400::/64 ip6:2a01:4180:4050:0400::/64 ip6:2a01:4180:4051:0800::/64 ip6:2a01:111:f403::/48 ip6:2a01:111:f400::/48 -all v=spf1 include:spf.wlk-msg.de include:spf-elphi.wlk-msg.de ip4:217.6.38.226 ip4:159.69.44.7 ip6:2a01:4f8:1c1b:4f61::1 ip4:157.90.144.206 ip6:2a01:4f8:c012:25c4::1 ip4:167.235.227.109 ip6:2a01:4f8:c013:3524::1 exists:%{ir}.wlk-msg.de ~all v=spf1 ip4:157.90.106.72/29 ip4:65.21.175.112/29 ip4:144.76.214.104/29 ip4:95.217.249.104/29 ip4:159.69.211.13 ip4:116.203.67.44 ip4:116.202.190.65 ip4:65.21.1.233 ip4:95.216.162.104 ip4:65.108.54.221 v=spf1 ip4:116.203.244.120 ip4:5.75.134.60 ip4:5.75.154.78 ip4:5.75.164.247 ip4:5.75.164.62 ip4:168.119.54.106 ip4:49.12.189.47 ip4:5.75.240.224 ip4:78.47.148.193 ip4:168.119.254.221", - "mx_asns":[ - 15547 - ] + "spf":"v=spf1 mx a:mail2.pcprofi.ch ip4:81.88.178.21 ip4:81.88.178.3 ip4:213.221.147.3 ip4:77.235.50.204 ip4:153.109.157.140 ip4:153.109.10.232 include:eu.mailgun.org ~all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "scrape":[ + "cransmontana.ch" + ], + "redirect":[], + "wikidata":[], + "guess":[ + "crans-montana.ch", + "cransmontana.ch", + "stadt-crans-montana.ch" + ] + }, + "resolve_flags":[] }, "6254":{ "bfs":"6254", "name":"Noble-Contrée", - "canton":"", + "canton":"Kanton Wallis", "domain":"noble-contree.ch", "mx":[ "noblecontree-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.mailpro.com include:ti-informatique.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.mailpro.com include:ti-informatique.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:178.239.38.0/24 ip4:62.133.56.0/24 ip4:62.50.74.80/28 ip4:62.50.73.144/28 ip4:62.50.76.40/29 ip4:62.50.76.16/28 ip4:195.81.131.64/27 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip6:2a06:fa00::/29 -all v=spf1 mx a -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX noblecontree-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "noble-contree.ch" + ], + "guess":[ + "noble-contree.ch", + "noblecontree.ch" + ] + }, + "resolve_flags":[] }, "6261":{ "bfs":"6261", @@ -35692,20 +128209,57 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:clients.ciges.ch ip4:128.65.195.26 ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:clients.ciges.ch ip4:128.65.195.26 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"us-cloud", + "classification_confidence":97.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.arbaz.ch CNAME → selector1-arbaz-ch._domainkey.communearbaz.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.arbaz.ch CNAME → selector2-arbaz-ch._domainkey.communearbaz.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "arbaz.ch" + ], + "guess":[ + "arbaz.ch" + ] + }, + "resolve_flags":[] }, "6263":{ "bfs":"6263", "name":"Grimisuat", - "canton":"", + "canton":"Kanton Wallis", "domain":"grimisuat.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -35713,20 +128267,53 @@ ], "spf":"v=spf1 include:clients.ciges.ch ip4:128.65.195.35 include:spf.mailpro.com include:spf.infomaniak.ch ~all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:clients.ciges.ch ip4:128.65.195.35 include:spf.mailpro.com include:spf.infomaniak.ch ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:178.239.38.0/24 ip4:62.133.56.0/24 ip4:62.50.74.80/28 ip4:62.50.73.144/28 ip4:62.50.76.40/29 ip4:62.50.76.16/28 ip4:195.81.131.64/27 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip6:2a06:fa00::/29 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.132.182.137 v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":70.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[ + "grimisuat.ch" + ], + "redirect":[], + "wikidata":[ + "grimisuat.ch" + ], + "guess":[ + "grimisuat.ch" + ] + }, + "resolve_flags":[] }, "6265":{ "bfs":"6265", "name":"Savièse", - "canton":"", + "canton":"Kanton Wallis", "domain":"saviese.ch", "mx":[ "mx1-eu1.ppe-hosted.com", @@ -35734,36 +128321,82 @@ ], "spf":"v=spf1 mx include:clients.ciges.ch ip4:128.65.195.28 include:spf.mailpro.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:clients.ciges.ch ip4:128.65.195.28 include:spf.mailpro.com ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:178.239.38.0/24 ip4:62.133.56.0/24 ip4:62.50.74.80/28 ip4:62.50.73.144/28 ip4:62.50.76.40/29 ip4:62.50.76.16/28 ip4:195.81.131.64/27 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip6:2a06:fa00::/29 -all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "saviese.ch" + ], + "guess":[ + "saviese.ch" + ] + }, + "resolve_flags":[] }, "6266":{ "bfs":"6266", - "name":"Sitten", - "canton":"", + "name":"Sion", + "canton":"Kanton Wallis", "domain":"sion.ch", "mx":[ "mx1-eu1.ppe-hosted.com", "mx2-eu1.ppe-hosted.com" ], "spf":"v=spf1 include:clients.ciges.ch include:_spf.i-web.ch include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:servers.mcsv.net ~all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:clients.ciges.ch include:_spf.i-web.ch include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:servers.mcsv.net ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover16.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[ + "sion.ch" + ], + "redirect":[], + "wikidata":[ + "sion.ch" + ], + "guess":[ + "sion.ch" + ] + }, + "resolve_flags":[] }, "6267":{ "bfs":"6267", @@ -35776,51 +128409,208 @@ ], "spf":"v=spf1 mx include:clients.ciges.ch ip4:160.153.18.103 ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx include:clients.ciges.ch ip4:160.153.18.103 ~all v=spf1 a:dispatch-eu.ppe-hosted.com include:spf-000faf01.pphosted.com ip4:213.221.152.160/27 ip4:213.221.155.128/29 ip4:81.88.179.14 ~all v=spf1 ip4:185.132.182.137", - "gateway":"proofpoint", - "mx_asns":[ - 52129 + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } ], - "autodiscover":{ - "autodiscover_cname":"ex.ciges.ch", - "autodiscover_srv":"ex.ciges.ch" - } + "gateway":"proofpoint", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "veysonnaz.org" + ], + "guess":[ + "veysonnaz.ch" + ] + }, + "resolve_flags":[] }, "6281":{ "bfs":"6281", "name":"Baltschieder", - "canton":"", + "canton":"Kanton Wallis", "domain":"baltschieder.ch", "mx":[ "baltschieder-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX baltschieder-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "baltschieder.ch" + ], + "redirect":[], + "wikidata":[ + "baltschieder.ch" + ], + "guess":[ + "baltschieder.ch" + ] + }, + "resolve_flags":[] }, "6282":{ "bfs":"6282", "name":"Eisten", - "canton":"", + "canton":"Kanton Wallis", "domain":"eisten.ch", "mx":[ "eisten-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:149.126.0.51 +ip4:81.201.202.0/26 +ip4:81.201.204.212 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:149.126.0.51 +ip4:81.201.202.0/26 +ip4:81.201.204.212 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX eisten-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "eisten.ch" + ], + "guess":[ + "eisten.ch" + ] + }, + "resolve_flags":[] }, "6283":{ "bfs":"6283", @@ -35832,28 +128622,182 @@ ], "spf":"v=spf1 ip4:178.174.29.254 a:embd.ch mx include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:178.174.29.254 a:embd.ch mx include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"lx67.hoststar.hosting" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX embd-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "embd.ch" + ], + "redirect":[], + "wikidata":[ + "embd.ch" + ], + "guess":[ + "embd.ch" + ] + }, + "resolve_flags":[] }, "6285":{ "bfs":"6285", "name":"Grächen", "canton":"Kanton Wallis", - "domain":"gemeinde-graechen.ch", - "mx":[ - "mail.gemeinde-graechen.ch" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 21069 - ] + "domain":"graechen.ch", + "mx":[ + "graechen-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 a mx ip4:109.164.212.170 ip4:109.164.212.171 ip4:109.164.212.172 ip4:109.164.212.173 ip4:109.164.212.174 include:_spf.sui-inter.net include:spf.mailjet.com include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX graechen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.graechen.ch CNAME → selector1-graechen-ch._domainkey.graechen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.graechen.ch CNAME → selector2-graechen-ch._domainkey.graechen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "override":[ + "graechen.ch" + ] + }, + "resolve_flags":[] }, "6286":{ "bfs":"6286", @@ -35865,121 +128809,661 @@ ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:mx.dvbern.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:mx.dvbern.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:185.125.165.24/31 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lalden-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "lalden.ch" + ], + "redirect":[], + "wikidata":[ + "lalden.ch" + ], + "guess":[ + "lalden.ch" + ] + }, + "resolve_flags":[] }, "6287":{ "bfs":"6287", "name":"Randa", - "canton":"", + "canton":"Kanton Wallis", "domain":"randa.ch", "mx":[ "randa-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:194.150.248.202 include:_spf.tophost.ch ip4:62.204.96.89 include:relay.mailchannels.net include:_spf.createsend.com ip4:194.150.248.63 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:194.150.248.202 include:_spf.tophost.ch ip4:62.204.96.89 include:relay.mailchannels.net include:_spf.createsend.com ip4:194.150.248.63 include:spf.protection.outlook.com -all v=spf1 ip4:194.150.248.0/23 ip4:193.33.129.128/25 ip4:193.33.128.128/25 ip4:46.232.182.128/25 ip6:2a02:6201:2ee8:b680::/64 ~all v=spf1 ip4:23.83.208.0/20 ip4:35.85.190.185/32 ~all v=spf1 ip4:103.28.42.0/24 ip4:146.88.28.0/24 ip4:163.47.180.0/22 ip4:203.55.21.0/24 ip4:204.75.142.0/24 ip4:27.126.146.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"cpanelemaildiscovery.cpanel.net" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX randa-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + } + ], + "sources_detail":{ + "scrape":[ + "randa.ch" + ], + "redirect":[], + "wikidata":[ + "randa.ch" + ], + "guess":[ + "randa.ch" + ] + }, + "resolve_flags":[] }, "6288":{ "bfs":"6288", "name":"Saas-Almagell", - "canton":"", - "domain":"saas-almagell.org", - "mx":[ - "mail2.i-web.ch", - "mail3.i-web.ch" - ], - "spf":"", - "provider":"swiss-isp", - "mx_asns":[ - 3303 + "canton":"Kanton Wallis", + "domain":"3905.ch", + "mx":[ + "3905-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 ip4:212.41.213.109 ip4:212.120.41.204 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX 3905-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.3905.ch CNAME → selector1-3905-ch._domainkey.gemeindesaasalmagell3905.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.3905.ch CNAME → selector2-3905-ch._domainkey.gemeindesaasalmagell3905.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "3905.ch" + ], + "redirect":[], + "wikidata":[ + "saas-almagell.org" + ], + "guess":[ + "saas-almagell.ch", + "saasalmagell.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "6289":{ "bfs":"6289", "name":"Saas-Balen", - "canton":"", - "domain":"gemeinde-saas-balen.ch", - "mx":[ - "mail.gemeinde-saas-balen.ch" - ], - "spf":"", - "provider":"independent", - "mx_asns":[ - 21069 - ] + "canton":"Kanton Wallis", + "domain":"3908.ch", + "mx":[ + "3908-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 +ip4:212.90.219.242 +ip4:212.90.219.241 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX 3908-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "override":[ + "3908.ch" + ] + }, + "resolve_flags":[] }, "6290":{ "bfs":"6290", "name":"Saas-Fee", - "canton":"", + "canton":"Kanton Wallis", "domain":"3906.ch", "mx":[ "3906-ch.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.computech.ch +a +mx -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.computech.ch +a +mx -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:212.103.88.149/32 ip4:212.41.202.247/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com", - "autodiscover_srv":"owa.3906.ch" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX 3906-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.3906.ch CNAME → selector1-3906-ch._domainkey.3906.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.3906.ch CNAME → selector2-3906-ch._domainkey.3906.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "3906.ch" + ], + "redirect":[], + "wikidata":[ + "3906.ch" + ], + "guess":[ + "saas-fee.ch", + "saasfee.ch" + ] + }, + "resolve_flags":[ + "website_mismatch" + ] }, "6291":{ "bfs":"6291", "name":"Saas-Grund", - "canton":"", - "domain":"saas-grund.ch", - "mx":[ - "saasgrund-ch01b.mail.protection.outlook.com" - ], - "spf":"v=spf1 include:spf.protection.outlook.com -all", - "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "canton":"Kanton Wallis", + "domain":"saas-fee.ch", + "mx":[ + "saasfee-ch01b.mail.protection.outlook.com" + ], + "spf":"v=spf1 ip4:81.6.50.0/24 include:_bulk-spf.datasport.com ip4:213.221.250.0/24 ip4:213.221.214.0/24 mx:stpartner.ch include:spf.protection.outlook.com include:spfa.myconvento.com ip4:54.93.36.23 include:amazonses.com include:wlk-msg.de ~all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX saasfee-ch01b.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"aws", + "weight":0.2, + "detail":"SPF include:amazonses.com matches aws" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.saas-fee.ch CNAME → selector1-saasfee-ch01b._domainkey.saasfeech.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.saas-fee.ch CNAME → selector2-saasfee-ch01b._domainkey.saasfeech.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline" + }, + { + "kind":"spf_ip", + "provider":"aws", + "weight":0.08, + "detail":"SPF ip4/a ASN 16509 matches aws" + } + ], + "sources_detail":{ + "scrape":[ + "saas-fee.ch" + ], + "redirect":[ + "saas-fee.ch" + ], + "wikidata":[ + "saas-grund.ch" + ], + "guess":[ + "saas-grund.ch", + "saasgrund.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6292":{ "bfs":"6292", "name":"St. Niklaus", - "canton":"", + "canton":"Kanton Wallis", "domain":"st-niklaus.ch", "mx":[ "stniklaus-ch0e.mail.protection.outlook.com" ], "spf":"v=spf1 ip4:81.201.206.242 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all", "provider":"microsoft", - "spf_resolved":"v=spf1 ip4:81.201.206.242 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip4:81.173.80.0/20 ip4:81.173.83.179/32 ip4:81.173.83.181/32 ip4:81.173.83.182/32 ip4:81.173.83.183/32 ip4:81.173.83.184/32 ip4:81.173.83.185/32 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX stniklaus-ch0e.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.st-niklaus.ch CNAME → selector1-stniklaus-ch0e._domainkey.stniklaus.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.st-niklaus.ch CNAME → selector2-stniklaus-ch0e._domainkey.stniklaus.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "st-niklaus.ch" + ], + "guess":[ + "st-niklaus.ch", + "stniklaus.ch" + ] + }, + "resolve_flags":[] }, "6293":{ "bfs":"6293", - "name":"Stalden", - "canton":"", + "name":"Stalden (VS)", + "canton":"Kanton Wallis", "domain":"stalden.ch", "mx":[ "mx01.hornetsecurity.com", @@ -35989,93 +129473,376 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.hornetsecurity.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "stalden.ch" + ], + "guess":[ + "stalden.ch" + ] + }, + "resolve_flags":[] }, "6294":{ "bfs":"6294", "name":"Staldenried", - "canton":"", + "canton":"Kanton Wallis", "domain":"staldenried.ch", "mx":[ "staldenried-ch.mail.protection.outlook.com" ], "spf":"v=spf1 mx a ip4:81.201.202.2/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx a ip4:81.201.202.2/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX staldenried-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "staldenried.ch" + ], + "guess":[ + "staldenried.ch" + ] + }, + "resolve_flags":[] }, "6295":{ "bfs":"6295", "name":"Täsch", "canton":"Kanton Wallis", - "domain":"gemeinde-taesch.ch", + "domain":"taesch.ch", "mx":[ - "gemeindetaesch-ch02b.mail.protection.outlook.com" + "taesch-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX taesch-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "taesch.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde-taesch.ch" + ], + "guess":[ + "gemeinde-taesch.ch", + "taesch.ch", + "tsch.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6296":{ "bfs":"6296", "name":"Törbel", - "canton":"", + "canton":"Kanton Wallis", "domain":"toerbel.ch", "mx":[ "toerbel-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX toerbel-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "toerbel.ch" + ], + "redirect":[], + "wikidata":[ + "toerbel.ch" + ], + "guess":[ + "toerbel.ch" + ] + }, + "resolve_flags":[] }, "6297":{ "bfs":"6297", "name":"Visp", - "canton":"", + "canton":"Kanton Wallis", "domain":"visp.ch", "mx":[ "visp-ch.mail.protection.outlook.com" ], "spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":99.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX visp-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "visp.ch" + ], + "redirect":[], + "wikidata":[ + "visp.ch" + ], + "guess":[ + "stadt-visp.ch", + "visp.ch" + ] + }, + "resolve_flags":[] }, "6298":{ "bfs":"6298", "name":"Visperterminen", - "canton":"", + "canton":"Kanton Wallis", "domain":"visperterminen.ch", "mx":[ "mx01.hornetsecurity.com", @@ -36085,47 +129852,243 @@ ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:83.246.65.0/24 ip4:185.140.204.0/22 ip4:94.100.128.0/20 ip4:81.20.94.0/24 ip4:173.45.18.0/24 ip4:52.62.123.207/32 ip4:52.62.108.212/32 ip4:129.232.203.80/28 ip4:209.172.38.64/27 ip4:108.163.133.224/27 ip4:193.135.100.0/27 ip4:199.27.221.76 ip4:216.46.11.238 ip4:216.46.11.244 ip4:199.27.221.81 ip4:199.27.221.82 ip4:52.62.114.130 ip4:52.62.125.178 ip4:92.54.27.0/24 ip4:174.142.136.160/27 ~all", - "gateway":"hornetsecurity", - "mx_asns":[ - 12676, - 24679, - 25394 + "category":"us-cloud", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.hornetsecurity.com" - } + "gateway":"hornetsecurity", + "sources_detail":{ + "scrape":[ + "heidadorf.ch", + "visperterminen.ch" + ], + "redirect":[ + "heidadorf.ch" + ], + "wikidata":[ + "visperterminen.ch" + ], + "guess":[ + "visperterminen.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6299":{ "bfs":"6299", "name":"Zeneggen", - "canton":"", + "canton":"Kanton Wallis", "domain":"zeneggen.ch", "mx":[ "zeneggen-ch.mail.protection.outlook.com" ], "spf":"v=spf1 a mx ip4:83.173.221.226 ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 a mx ip4:83.173.221.226 ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zeneggen-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.zeneggen.ch CNAME → selector1-zeneggen-ch._domainkey.zeneggen.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.zeneggen.ch CNAME → selector2-zeneggen-ch._domainkey.zeneggen.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "zeneggen.ch" + ], + "redirect":[], + "wikidata":[ + "zeneggen.ch" + ], + "guess":[ + "zeneggen.ch" + ] + }, + "resolve_flags":[] }, "6300":{ "bfs":"6300", "name":"Zermatt", - "canton":"", - "domain":"gemeinde.zermatt.ch", - "mx":[ - "mail.vs-online.net" - ], - "spf":"v=spf1 ip4:81.201.200.108 ip4:195.141.155.12 ip4:195.141.155.20 ip4:195.141.155.28 -all", - "provider":"independent", - "mx_asns":[ - 1836 + "canton":"Kanton Wallis", + "domain":"zermatt.ch", + "mx":[ + "zermatt-ch.mail.protection.outlook.com" + ], + "spf":"v=spf1 ip4:195.141.155.12 ip4:195.141.155.20 ip4:82.195.253.109 ip4:82.195.229.62 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX zermatt-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "zermatt.ch" + ], + "redirect":[], + "wikidata":[ + "gemeinde.zermatt.ch" + ], + "guess":[ + "gemeinde-zermatt.ch", + "zermatt.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "6404":{ @@ -36134,12 +130097,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6408":{ "bfs":"6408", @@ -36147,12 +130155,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6413":{ "bfs":"6413", @@ -36160,12 +130213,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6416":{ "bfs":"6416", @@ -36173,12 +130271,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6417":{ "bfs":"6417", @@ -36186,46 +130329,173 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6421":{ "bfs":"6421", "name":"La Chaux-de-Fonds", "canton":"Kanton Neuenburg", - "domain":"chaux-de-fonds.ch", + "domain":"ne.ch", "mx":[ "ne2mx9a.ne.ch", "nemx9a.ne.ch" ], - "spf":"", - "provider":"swiss-isp", - "mx_asns":[ - 559 - ] + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6422":{ "bfs":"6422", "name":"Les Planchettes", "canton":"Kanton Neuenburg", - "domain":"les-planchettes.ch", + "domain":"ne.ch", "mx":[ - "filter10.antispamcloud.com", - "filter20.antispamcloud.com", - "filter30.antispamcloud.com", - "filter40.antispamcloud.com" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf.antispamcloud.com ip4:217.196.176.0/20 a mx ~all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.antispamcloud.com ip4:217.196.176.0/20 a mx ~all v=spf1 ip4:130.117.251.9 ip4:130.117.251.10 ip6:2001:978:2:6::20:10 ip6:2001:978:2:6::20:a ip4:94.75.244.176/27 ip4:94.75.192.139/27 ip4:95.211.2.195/26 ip4:95.211.2.198/26 ip4:95.211.2.199/26 ip4:95.211.2.201/26 ip4:95.211.2.202/26 ip4:95.211.2.204/26 ip4:94.75.244.183/27 ip4:94.75.244.184/27 ip6:2001:1af8:4400:a047:6::1 ip4:37.58.58.55/27 ip4:199.115.117.7/27 ip4:199.115.117.10/27 ip4:199.115.117.11/27 ip6:2604:9a00:2010:a024:21::1 ip4:185.201.16.0/22 ip4:192.69.18.0/24 ip4:208.70.90.0/24 ip4:45.91.121.0/24 ip4:45.93.148.0/24 ip4:45.131.180.0/24 ip4:45.140.132.0/24 ip4:193.41.32.0/24 ip4:185.225.27.0/24 ip4:80.91.219.0/24 ip4:188.190.113.0/24 ip4:45.147.95.0/24 ip4:46.229.240.0/24 ip4:87.236.163.0/24 ip4:188.190.112.0/24 ip4:192.69.19.0/24 ip4:208.70.91.0/24 ip4:185.209.51.0/24 ip4:185.218.226.0/24 -all", - "mx_asns":[ - 16633, - 43054 - ] + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6423":{ "bfs":"6423", @@ -36233,12 +130503,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6432":{ "bfs":"6432", @@ -36246,12 +130561,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6433":{ "bfs":"6433", @@ -36259,12 +130619,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6434":{ "bfs":"6434", @@ -36272,12 +130677,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6435":{ "bfs":"6435", @@ -36285,28 +130735,115 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6436":{ "bfs":"6436", "name":"Le Locle", "canton":"Kanton Neuenburg", - "domain":"lelocle.ch", + "domain":"ne.ch", "mx":[ "ne2mx9a.ne.ch", "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch mx a ip4:217.146.49.160/32 ip4:217.146.49.161/32 ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 include:spf1.ne.ch mx a ip4:217.146.49.160/32 ip4:217.146.49.161/32 ~all v=spf1 ip4:148.196.30.0/24 -all", - "mx_asns":[ - 559 - ] + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6437":{ "bfs":"6437", @@ -36314,12 +130851,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6451":{ "bfs":"6451", @@ -36327,16 +130909,61 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6452":{ "bfs":"6452", - "name":"Cressier", + "name":"Cressier (NE)", "canton":"Kanton Neuenburg", "domain":"cressier.ch", "mx":[ @@ -36344,13 +130971,15 @@ ], "spf":"v=spf1 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "override":[ + "cressier.ch" + ] + }, + "resolve_flags":[] }, "6455":{ "bfs":"6455", @@ -36358,12 +130987,57 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6456":{ "bfs":"6456", @@ -36371,28 +131045,115 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6458":{ "bfs":"6458", - "name":"Neuenburg", + "name":"Neuchâtel", "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" - ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "mx_asns":[ - 559 + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6487":{ "bfs":"6487", @@ -36400,76 +131161,289 @@ "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6504":{ "bfs":"6504", "name":"La Côte-aux-Fées", - "canton":"", + "canton":"Kanton Neuenburg", "domain":"ne.ch", "mx":[ - "nemx9a.ne.ch", - "ne2mx9a.ne.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider":"swiss-isp", - "gateway":"cantonal-ne" + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6511":{ "bfs":"6511", "name":"Les Verrières", "canton":"Kanton Neuenburg", - "domain":"lesverrieres.ch", + "domain":"ne.ch", "mx":[ - "mta-gw.infomaniak.ch" - ], - "spf":"v=spf1 include:spf.infomaniak.ch ?all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6512":{ "bfs":"6512", "name":"Val-de-Travers", "canton":"Kanton Neuenburg", - "domain":"val-de-travers.ch", + "domain":"ne.ch", "mx":[ - "mail.val-de-travers.ch" + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "spf":"v=spf1 include:spf.km.blues2.ch include:_spf.ch-dns.net +mx +a -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.km.blues2.ch include:_spf.ch-dns.net +mx +a -all v=spf1 ip4:80.74.158.0/24 ip4:80.74.159.0/24 include:servers.mcsv.net -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all", - "mx_asns":[ - 21069 - ] + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6513":{ "bfs":"6513", "name":"Laténa", "canton":"Kanton Neuenburg", - "domain":"latena.ch", + "domain":"ne.ch", "mx":[ - "mail.latena.ch" - ], - "spf":"v=spf1 include:spf.mail.webland.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mail.webland.ch -all v=spf1 ip4:92.43.217.0/24 ip4:92.43.216.251/32 ip4:195.253.23.0/24 ip4:74.115.48.0/22 -all", - "mx_asns":[ - 25563 + "ne2mx9a.ne.ch", + "nemx9a.ne.ch" ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.latena.ch" - } + "spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 559 is Swiss ISP: SWITCH" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH" + } + ], + "sources_detail":{ + "override":[ + "ne.ch" + ] + }, + "resolve_flags":[] }, "6601":{ "bfs":"6601", @@ -36481,11 +131455,43 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "aire-la-ville.ch" + ], + "redirect":[], + "wikidata":[ + "aire-la-ville.ch" + ], + "guess":[ + "aire-la-ville.ch", + "airelaville.ch" + ] + }, + "resolve_flags":[] }, "6602":{ "bfs":"6602", @@ -36497,11 +131503,46 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "anieres.ch" + ], + "guess":[ + "anieres.ch" + ] + }, + "resolve_flags":[] }, "6603":{ "bfs":"6603", @@ -36513,11 +131554,48 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "avully.ch" + ], + "redirect":[], + "wikidata":[ + "avully.ch" + ], + "guess":[ + "avully.ch" + ] + }, + "resolve_flags":[] }, "6604":{ "bfs":"6604", @@ -36530,10 +131608,35 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "avusy.ch" + ], + "redirect":[], + "wikidata":[ + "avusy.ch" + ], + "guess":[ + "avusy.ch" + ] + }, + "resolve_flags":[] }, "6605":{ "bfs":"6605", @@ -36546,10 +131649,35 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "bardonnex.ch" + ], + "redirect":[], + "wikidata":[ + "bardonnex.ch" + ], + "guess":[ + "bardonnex.ch" + ] + }, + "resolve_flags":[] }, "6606":{ "bfs":"6606", @@ -36562,10 +131690,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "mairie-bellevue.ch" + ], + "redirect":[], + "wikidata":[ + "mairie-bellevue.ch" + ], + "guess":[ + "bellevue.ch" + ] + }, + "resolve_flags":[] }, "6607":{ "bfs":"6607", @@ -36578,17 +131737,65 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:newsletter.infomaniak.com include:spf.infomaniak.com ip4:192.168.253.253 ip4:94.126.20.214 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:newsletter.infomaniak.com include:spf.infomaniak.com ip4:192.168.253.253 ip4:94.126.20.214 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "accompagnerledeuil.ch", + "bernex.ch", + "codap.org", + "galeriedelachampagne.ch", + "labrante.ch", + "mobilitesenior.ch", + "mosaiquetheatre.ch", + "navodaya.ch", + "superpuck.ch" + ], + "redirect":[], + "wikidata":[ + "bernex.ch" + ], + "guess":[ + "bernex.ch" + ] + }, + "resolve_flags":[] }, "6608":{ "bfs":"6608", - "name":"Carouge", + "name":"Carouge (GE)", "canton":"Kanton Genf", "domain":"carouge.ch", "mx":[ @@ -36596,14 +131803,48 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch ip4:185.169.94.92 ip4:83.166.142.206 include:spf.infomaniak.ch include:spf.mandrillapp.com ip4:185.177.62.32 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch ip4:185.169.94.92 ip4:83.166.142.206 include:spf.infomaniak.ch include:spf.mandrillapp.com ip4:185.177.62.32 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "carouge.ch" + ], + "redirect":[], + "wikidata":[ + "carouge.ch" + ], + "guess":[ + "carouge.ch" + ] + }, + "resolve_flags":[] }, "6609":{ "bfs":"6609", @@ -36616,10 +131857,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:newsletter.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:newsletter.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "cartigny.ch" + ], + "redirect":[], + "wikidata":[ + "cartigny.ch" + ], + "guess":[ + "cartigny.ch" + ] + }, + "resolve_flags":[] }, "6610":{ "bfs":"6610", @@ -36632,10 +131904,33 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "celigny.ch" + ], + "guess":[ + "celigny.ch" + ] + }, + "resolve_flags":[] }, "6611":{ "bfs":"6611", @@ -36648,10 +131943,33 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chancy.ch" + ], + "guess":[ + "chancy.ch" + ] + }, + "resolve_flags":[] }, "6612":{ "bfs":"6612", @@ -36663,11 +131981,40 @@ "mail.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch include:_spf.ville-ge.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch include:_spf.ville-ge.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:spf.protection.outlook.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "chene-bougeries.ch" + ], + "guess":[ + "chene-bougeries.ch" + ] + }, + "resolve_flags":[] }, "6613":{ "bfs":"6613", @@ -36679,11 +132026,54 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:newsletter.infomaniak.com include:spf.infomaniak.ch a:iomedia-smtp.infomaniak.ch ip4:83.166.138.97 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:newsletter.infomaniak.com include:spf.infomaniak.ch a:iomedia-smtp.infomaniak.ch ip4:83.166.138.97 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "chene-bourg.ch" + ], + "redirect":[], + "wikidata":[ + "chene-bourg.ch" + ], + "guess":[ + "chene-bourg.ch" + ] + }, + "resolve_flags":[] }, "6614":{ "bfs":"6614", @@ -36695,11 +132085,42 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.acg-geneve.ch ?all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.acg-geneve.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "choulex.ch" + ], + "redirect":[], + "wikidata":[ + "choulex.ch" + ], + "guess":[ + "choulex.ch" + ] + }, + "resolve_flags":[] }, "6615":{ "bfs":"6615", @@ -36712,10 +132133,47 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "collex-bossy.ch" + ], + "redirect":[], + "wikidata":[ + "collex-bossy.ch" + ], + "guess":[ + "collex-bossy.ch" + ] + }, + "resolve_flags":[] }, "6616":{ "bfs":"6616", @@ -36728,13 +132186,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:webext02.i-web.ch ip4:185.54.6.105 -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:webext02.i-web.ch ip4:185.54.6.105 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "collonge-bellerive.ch" + ], + "redirect":[], + "wikidata":[ + "collonge-bellerive.ch" + ], + "guess":[ + "collonge-bellerive.ch" + ] + }, + "resolve_flags":[] }, "6617":{ "bfs":"6617", @@ -36746,14 +132232,46 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com ip4:195.70.27.65 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com ip4:195.70.27.65 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "cologny.ch" + ], + "guess":[ + "cologny.ch" + ] + }, + "resolve_flags":[] }, "6618":{ "bfs":"6618", @@ -36766,14 +132284,45 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "confignon.ch" + ], + "redirect":[], + "wikidata":[ + "confignon.ch" + ], + "guess":[ + "confignon.ch" + ] + }, + "resolve_flags":[] }, "6619":{ "bfs":"6619", - "name":"Corsier", + "name":"Corsier (GE)", "canton":"Kanton Genf", "domain":"corsier.ch", "mx":[ @@ -36782,13 +132331,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext01.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext01.i-web.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "corsier.ch" + ], + "redirect":[], + "wikidata":[ + "corsier.ch" + ], + "guess":[ + "corsier.ch" + ] + }, + "resolve_flags":[] }, "6620":{ "bfs":"6620", @@ -36801,14 +132378,45 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:www.dardagny.ch include:spf.infomaniak.com a:newsletter.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:www.dardagny.ch include:spf.infomaniak.com a:newsletter.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "dardagny.ch" + ], + "redirect":[], + "wikidata":[ + "dardagny.ch" + ], + "guess":[ + "dardagny.ch" + ] + }, + "resolve_flags":[] }, "6621":{ "bfs":"6621", - "name":"Genf", + "name":"Genève", "canton":"Kanton Genf", "domain":"geneve.ch", "mx":[ @@ -36816,13 +132424,99 @@ ], "spf":"v=spf1 mx ip4:148.139.0.2 ip4:148.139.0.31 ip4:148.139.1.2 ip4:148.139.1.31 ip4:148.139.2.2 ip4:148.139.3.2 ip4:149.96.13.2 include:spf.protection.outlook.com include:spf.mandrillapp.com ip4:149.96.5.209 include:spf1.geneve.ch ~all", "provider":"microsoft", - "spf_resolved":"v=spf1 mx ip4:148.139.0.2 ip4:148.139.0.31 ip4:148.139.1.2 ip4:148.139.1.31 ip4:148.139.2.2 ip4:148.139.3.2 ip4:149.96.13.2 include:spf.protection.outlook.com include:spf.mandrillapp.com ip4:149.96.5.209 include:spf1.geneve.ch ~all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:172.255.62.10/31 ip4:18.159.23.120 ip4:18.185.233.11 ip4:3.74.129.141 ip4:3.74.255.70 ip4:3.120.73.255 ip4:37.98.232.12 ip4:37.98.232.2 ip4:18.196.153.124 ip4:18.197.182.240 ip4:185.170.44.98/31 include:spf2.geneve.ch ~all v=spf1 ip4:185.170.46.198 ip4:185.170.46.98 ip4:193.72.147.138/31 ip4:35.158.169.102 ip4:35.157.167.112 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:193.72.147.140 ip4:193.73.238.120/29 ip4:193.73.238.28 ip4:3.77.143.155 include:spf3.geneve.ch ~all v=spf1 ip4:193.73.238.5 ip4:193.73.238.6 ip4:194.150.21.200/29 ip4:194.158.17.0/26 ip4:194.230.58.47 ip4:195.143.101.0/26 ip4:195.81.131.64/27 ip4:199.127.232.0/22 ip4:199.255.192.0/22 ip4:199.91.136.26 ip4:3.124.93.8 include:spf4.geneve.ch ~all v=spf1 ip4:199.91.136.28 ip4:199.91.137.2 ip4:199.91.137.26 ip4:199.91.139.145 ip4:199.91.139.22 ip4:199.91.139.23 ip4:199.91.139.24 ip4:199.91.140.26 ip4:199.91.140.28 ip4:199.91.141.145 ip4:199.91.141.22/30 include:spf5.geneve.ch ~all v=spf1 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX geneve-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.geneve.ch CNAME → selector1-geneve-ch._domainkey.lavilledegeneve.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.geneve.ch CNAME → selector2-geneve-ch._domainkey.lavilledegeneve.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "geneve.ch" + ], + "guess":[ + "geneve.ch" + ] + }, + "resolve_flags":[] }, "6622":{ "bfs":"6622", @@ -36835,10 +132529,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "genthod.ch" + ], + "redirect":[], + "wikidata":[ + "genthod.ch" + ], + "guess":[ + "genthod.ch" + ] + }, + "resolve_flags":[] }, "6623":{ "bfs":"6623", @@ -36851,31 +132576,86 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch a:www.grand-saconnex.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch a:www.grand-saconnex.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"TXT verification matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grand-saconnex.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "6624":{ "bfs":"6624", - "name":"Gy GE", + "name":"Gy", "canton":"Kanton Genf", - "domain":"mairie-gy.ch", + "domain":"gy.ch", "mx":[ - "mta-gw.infomaniak.ch" - ], - "spf":"v=spf1 include:spf.infomaniak.ch ?all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "mail.acg-geneve.ch", + "mail2.acg-geneve.ch" ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "spf":"v=spf1 include:spf.acg-geneve.ch -all", + "provider":"independent", + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "gy.ch" + ], + "redirect":[], + "wikidata":[ + "mairie-gy.ch" + ], + "guess":[ + "gy.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6625":{ "bfs":"6625", @@ -36888,10 +132668,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "hermance.ch" + ], + "redirect":[], + "wikidata":[ + "hermance.ch" + ], + "guess":[ + "hermance.ch" + ] + }, + "resolve_flags":[] }, "6626":{ "bfs":"6626", @@ -36904,10 +132715,41 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext03.i-web.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext03.i-web.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "jussy.ch" + ], + "redirect":[], + "wikidata":[ + "jussy.ch" + ], + "guess":[ + "jussy.ch" + ] + }, + "resolve_flags":[] }, "6627":{ "bfs":"6627", @@ -36920,10 +132762,35 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "laconnex.ch" + ], + "redirect":[], + "wikidata":[ + "laconnex.ch" + ], + "guess":[ + "laconnex.ch" + ] + }, + "resolve_flags":[] }, "6628":{ "bfs":"6628", @@ -36935,14 +132802,46 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch include:spf.infomaniak.ch ip4:94.103.99.57 ip4:168.245.102.203 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch include:spf.infomaniak.ch ip4:94.103.99.57 ip4:168.245.102.203 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lancy.ch" + ], + "guess":[ + "lancy.ch" + ] + }, + "resolve_flags":[] }, "6629":{ "bfs":"6629", @@ -36955,10 +132854,33 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "meinier.ch" + ], + "guess":[ + "meinier.ch" + ] + }, + "resolve_flags":[] }, "6630":{ "bfs":"6630", @@ -36970,14 +132892,46 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com ip4:217.169.130.20 ip4:83.166.138.97 ip4:83.166.149.222 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com ip4:217.169.130.20 ip4:83.166.138.97 ip4:83.166.149.222 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "meyrin.ch" + ], + "guess":[ + "meyrin.ch" + ] + }, + "resolve_flags":[] }, "6631":{ "bfs":"6631", @@ -36990,13 +132944,38 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:www.onex.ch a:iomedia-smtp.infomaniak.ch a:spf.infomaniak.ch a:spf.mailpro.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:www.onex.ch a:iomedia-smtp.infomaniak.ch a:spf.infomaniak.ch a:spf.mailpro.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "175onex.ch", + "aeonex.ch" + ], + "redirect":[], + "wikidata":[ + "onex.ch" + ], + "guess":[ + "onex.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6632":{ "bfs":"6632", @@ -37009,10 +132988,35 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "perly-certoux.ch" + ], + "redirect":[], + "wikidata":[ + "perly-certoux.ch" + ], + "guess":[ + "perly-certoux.ch" + ] + }, + "resolve_flags":[] }, "6633":{ "bfs":"6633", @@ -37025,13 +133029,42 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:newsletter.infomaniak.com ip4:83.166.138.97 ip4:83.166.143.44 include:_spf.ville-ge.ch include:spf.mandrillapp.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:newsletter.infomaniak.com ip4:83.166.138.97 ip4:83.166.143.44 include:_spf.ville-ge.ch include:spf.mandrillapp.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "plan-les-ouates.ch" + ], + "redirect":[], + "wikidata":[ + "plan-les-ouates.ch" + ], + "guess":[ + "plan-les-ouates.ch", + "planlesouates.ch" + ] + }, + "resolve_flags":[] }, "6634":{ "bfs":"6634", @@ -37044,10 +133077,39 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:webext02.i-web.ch include:_spf.ville-ge.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:webext02.i-web.ch include:_spf.ville-ge.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":96.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "pregny-chambesy.ch" + ], + "guess":[ + "pregny-chambesy.ch" + ] + }, + "resolve_flags":[] }, "6635":{ "bfs":"6635", @@ -37060,10 +133122,33 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:www.presinge.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:www.presinge.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "presinge.ch" + ], + "guess":[ + "presinge.ch" + ] + }, + "resolve_flags":[] }, "6636":{ "bfs":"6636", @@ -37076,10 +133161,42 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "giap.ch", + "puplinge.ch" + ], + "redirect":[], + "wikidata":[ + "puplinge.ch" + ], + "guess":[ + "puplinge.ch" + ] + }, + "resolve_flags":[] }, "6637":{ "bfs":"6637", @@ -37092,10 +133209,35 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "russin.ch" + ], + "redirect":[], + "wikidata":[ + "russin.ch" + ], + "guess":[ + "russin.ch" + ] + }, + "resolve_flags":[] }, "6638":{ "bfs":"6638", @@ -37108,10 +133250,47 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "satigny.ch" + ], + "redirect":[], + "wikidata":[ + "satigny.ch" + ], + "guess":[ + "satigny.ch" + ] + }, + "resolve_flags":[] }, "6639":{ "bfs":"6639", @@ -37124,10 +133303,33 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "soral.ch" + ], + "guess":[ + "soral.ch" + ] + }, + "resolve_flags":[] }, "6640":{ "bfs":"6640", @@ -37139,14 +133341,48 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch include:servers.mcsv.net a:newsletter.infomaniak.com ip4:83.166.138.97 -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch include:servers.mcsv.net a:newsletter.infomaniak.com ip4:83.166.138.97 -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "thonex.ch" + ], + "redirect":[], + "wikidata":[ + "thonex.ch" + ], + "guess":[ + "thonex.ch" + ] + }, + "resolve_flags":[] }, "6641":{ "bfs":"6641", @@ -37159,14 +133395,39 @@ ], "spf":"v=spf1 include:spf.acg-geneve.ch a:www.troinex.ch include:spf.infomaniak.com -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:www.troinex.ch include:spf.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:84.16.68.96 ip4:84.16.68.94 include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:128.65.197.2/31 ip4:84.16.69.64/31 ip6:2001:1600:19::/48 -all v=spf1 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:19::/48 -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "troinex.ch" + ], + "redirect":[], + "wikidata":[ + "troinex.ch" + ], + "guess":[ + "troinex.ch" + ] + }, + "resolve_flags":[] }, "6642":{ "bfs":"6642", - "name":"Vandœuvres", + "name":"Vandoeuvres", "canton":"Kanton Genf", "domain":"vandoeuvres.ch", "mx":[ @@ -37175,10 +133436,35 @@ ], "spf":"v=spf1 include:spf.mailjet.com include:spf.wellhosted.ch include:spf.acg-geneve.ch -all", "provider":"independent", - "spf_resolved":"v=spf1 include:spf.mailjet.com include:spf.wellhosted.ch include:spf.acg-geneve.ch -all v=spf1 ip4:87.253.232.0/21 ip4:185.189.236.0/22 ip4:185.211.120.0/22 ip4:185.250.236.0/22 ip4:45.14.148.0/22 ~all v=spf1 +ip4:185.75.33.0/25 +ip6:2a03:2040:d::/48 ?all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all", - "mx_asns":[ - 21449 - ] + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "vandoeuvres.ch" + ], + "redirect":[], + "wikidata":[ + "vandoeuvres.ch" + ], + "guess":[ + "vandoeuvres.ch" + ] + }, + "resolve_flags":[] }, "6643":{ "bfs":"6643", @@ -37190,14 +133476,48 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com a:www.vernier.ch a:preprod.vernier.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com a:www.vernier.ch a:preprod.vernier.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "vernier.ch" + ], + "redirect":[], + "wikidata":[ + "vernier.ch" + ], + "guess":[ + "vernier.ch" + ] + }, + "resolve_flags":[] }, "6644":{ "bfs":"6644", @@ -37209,11 +133529,42 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch a:iomedia-smtp.infomaniak.ch include:spf.infomaniak.ch -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch a:iomedia-smtp.infomaniak.ch include:spf.infomaniak.ch -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "versoix.ch" + ], + "redirect":[], + "wikidata":[ + "versoix.ch" + ], + "guess":[ + "versoix.ch" + ] + }, + "resolve_flags":[] }, "6645":{ "bfs":"6645", @@ -37225,85 +133576,230 @@ "mail2.acg-geneve.ch" ], "spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com -all", - "provider":"independent", - "spf_resolved":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com -all v=spf1 ip4:91.217.128.30 ip4:91.217.128.31 ip4:91.217.128.130 ip4:91.217.128.131 ip4:91.217.128.132 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 21449 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.acg-geneve.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Federated" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[ + "veyrier.ch" + ], + "redirect":[], + "wikidata":[ + "veyrier.ch" + ], + "guess":[ + "veyrier.ch" + ] + }, + "resolve_flags":[] }, "6702":{ "bfs":"6702", "name":"Boécourt", - "canton":"", + "canton":"Kanton Jura", "domain":"boecourt.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 include:spf.mandrillapp.com -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 include:spf.mandrillapp.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "boecourt.ch" + ], + "guess":[ + "boecourt.ch" + ] + }, + "resolve_flags":[] }, "6703":{ "bfs":"6703", "name":"Bourrignon", - "canton":"", + "canton":"Kanton Jura", "domain":"bourrignon.ch", "mx":[ "mail.bourrignon.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bourrignon.ch" + ], + "guess":[ + "bourrignon.ch" + ] + }, + "resolve_flags":[] }, "6704":{ "bfs":"6704", - "name":"Châtillon", - "canton":"", + "name":"Châtillon (JU)", + "canton":"Kanton Jura", "domain":"chatillon.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "chatillon.ch" + ], + "redirect":[], + "wikidata":[ + "chatillon.ch" + ], + "guess":[ + "chatillon.ch" + ] + }, + "resolve_flags":[] }, "6706":{ "bfs":"6706", "name":"Courchapoix", - "canton":"", + "canton":"Kanton Jura", "domain":"courchapoix.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mandrillapp.com -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mandrillapp.com -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.courchapoix.ch CNAME → selector1-courchapoix-ch._domainkey.comcourchapoix.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.courchapoix.ch CNAME → selector2-courchapoix-ch._domainkey.comcourchapoix.onmicrosoft.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "courchapoix.ch" + ], + "guess":[ + "courchapoix.ch" + ] + }, + "resolve_flags":[] }, "6708":{ "bfs":"6708", "name":"Courrendlin", - "canton":"", + "canton":"Kanton Jura", "domain":"courrendlin.ch", "mx":[ "mx1.azinformatique.ch", @@ -37313,18 +133809,25 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ?all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ?all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "courrendlin.ch" + ], + "guess":[ + "courrendlin.ch" + ] + }, + "resolve_flags":[] }, "6709":{ "bfs":"6709", "name":"Courroux", - "canton":"", + "canton":"Kanton Jura", "domain":"courroux.ch", "mx":[ "mx1.azinformatique.ch", @@ -37334,18 +133837,34 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "courroux.ch" + ], + "redirect":[], + "wikidata":[ + "courroux.ch" + ], + "guess":[ + "courroux.ch" + ] + }, + "resolve_flags":[] }, "6710":{ "bfs":"6710", "name":"Courtételle", - "canton":"", + "canton":"Kanton Jura", "domain":"courtetelle.ch", "mx":[ "mx1.azinformatique.ch", @@ -37355,18 +133874,32 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "courtetelle.ch" + ], + "guess":[ + "courtetelle.ch" + ] + }, + "resolve_flags":[] }, "6711":{ "bfs":"6711", - "name":"Delsberg", - "canton":"", + "name":"Delémont", + "canton":"Kanton Jura", "domain":"delemont.ch", "mx":[ "d313142.a.ess.de.barracudanetworks.com", @@ -37374,181 +133907,541 @@ ], "spf":"v=spf1 mx ip4:46.140.108.219 ip4:62.2.93.17 ip4:62.2.93.13 ip4:62.2.93.4 include:servers.mcsv.net include:spf.ess.de.barracudanetworks.com include:spf.mandrillapp.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx ip4:46.140.108.219 ip4:62.2.93.17 ip4:62.2.93.13 ip4:62.2.93.4 include:servers.mcsv.net include:spf.ess.de.barracudanetworks.com include:spf.mandrillapp.com -all v=spf1 ip4:205.201.128.0/20 ip4:198.2.128.0/18 ip4:148.105.0.0/16 -all v=spf1 ip4:35.157.190.224/27 ip4:18.185.115.192/26 ip4:18.184.203.224/27 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "gateway":"barracuda", - "mx_asns":[ - 16509 + "category":"swiss-based", + "classification_confidence":98.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"asn", + "provider":"aws", + "weight":0.03, + "detail":"ASN 16509 matches aws" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } ], - "autodiscover":{ - "autodiscover_srv":"webmail.delemont.ch" - } + "gateway":"barracuda", + "sources_detail":{ + "scrape":[ + "delemont.ch" + ], + "redirect":[], + "wikidata":[ + "delemont.ch" + ], + "guess":[ + "delemont.ch" + ] + }, + "resolve_flags":[] }, "6712":{ "bfs":"6712", "name":"Develier", - "canton":"", + "canton":"Kanton Jura", "domain":"develier.ch", "mx":[ "develier-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX develier-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.develier.ch CNAME → selector1-develier-ch._domainkey.develier.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.develier.ch CNAME → selector2-develier-ch._domainkey.develier.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "develier.ch" + ], + "guess":[ + "develier.ch" + ] + }, + "resolve_flags":[] }, "6713":{ "bfs":"6713", "name":"Ederswiler", - "canton":"", + "canton":"Kanton Jura", "domain":"ederswiler.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:_spf.blk.ymc.swiss ~all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:_spf.blk.ymc.swiss ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:185.110.152.0/22 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "ederswiler.ch" + ], + "redirect":[], + "wikidata":[ + "ederswiler.ch" + ], + "guess":[ + "ederswiler.ch" + ] + }, + "resolve_flags":[] }, "6715":{ "bfs":"6715", "name":"Mervelier", - "canton":"", + "canton":"Kanton Jura", "domain":"mervelier.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "mervelier.ch" + ], + "guess":[ + "mervelier.ch" + ] + }, + "resolve_flags":[] }, "6716":{ "bfs":"6716", "name":"Mettembert", - "canton":"", + "canton":"Kanton Jura", "domain":"mettembert.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "override":[ + "mettembert.ch" + ] + }, + "resolve_flags":[] }, "6718":{ "bfs":"6718", "name":"Movelier", - "canton":"", + "canton":"Kanton Jura", "domain":"movelier.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "override":[ + "movelier.ch" + ] + }, + "resolve_flags":[] }, "6719":{ "bfs":"6719", "name":"Pleigne", - "canton":"", + "canton":"Kanton Jura", "domain":"pleigne.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "pleigne.ch" + ], + "guess":[ + "pleigne.ch" + ] + }, + "resolve_flags":[] }, "6721":{ "bfs":"6721", "name":"Rossemaison", - "canton":"", + "canton":"Kanton Jura", "domain":"rossemaison.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 a mx ip4:51.68.11.207 include:spf.infomaniak.ch ~all", "provider":"infomaniak", - "spf_resolved":"v=spf1 a mx ip4:51.68.11.207 include:spf.infomaniak.ch ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "rossemaison.ch" + ], + "redirect":[], + "wikidata":[ + "rossemaison.ch" + ], + "guess":[ + "rossemaison.ch" + ] + }, + "resolve_flags":[] }, "6722":{ "bfs":"6722", "name":"Saulcy", - "canton":"", + "canton":"Kanton Jura", "domain":"saulcy.ch", "mx":[ "saulcy-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX saulcy-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.saulcy.ch CNAME → selector1-saulcy-ch._domainkey.communesaulcy.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.saulcy.ch CNAME → selector2-saulcy-ch._domainkey.communesaulcy.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "saulcy.ch" + ], + "redirect":[], + "wikidata":[ + "saulcy.ch" + ], + "guess":[ + "saulcy.ch" + ] + }, + "resolve_flags":[] }, "6724":{ "bfs":"6724", "name":"Soyhières", - "canton":"", + "canton":"Kanton Jura", "domain":"soyhieres.ch", "mx":[ "mailfilter.evok.ch" ], "spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 include:spf.mandrillapp.com -all", "provider":"independent", - "spf_resolved":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 include:spf.mandrillapp.com -all v=spf1 ip4:193.33.30.0/23 ip4:185.122.236.0/22 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 203882 - ], - "autodiscover":{ - "autodiscover_srv":"exchange.evok.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "soyhieres.ch" + ], + "guess":[ + "soyhieres.ch" + ] + }, + "resolve_flags":[] }, "6729":{ "bfs":"6729", "name":"Haute-Sorne", - "canton":"", + "canton":"Kanton Jura", "domain":"haute-sorne.ch", "mx":[ "mx1.azinformatique.ch", @@ -37558,18 +134451,45 @@ ], "spf":"v=spf1 mx a ip4:212.71.120.144/28 ip4:185.98.28.38 include:spf.mandrillapp.com -all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:212.71.120.144/28 ip4:185.98.28.38 include:spf.mandrillapp.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mails.haute-sorne.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "haute-sorne.ch" + ], + "guess":[ + "haute-sorne.ch", + "hautesorne.ch" + ] + }, + "resolve_flags":[] }, "6730":{ "bfs":"6730", "name":"Val Terbi", - "canton":"", + "canton":"Kanton Jura", "domain":"val-terbi.ch", "mx":[ "mx1.azinformatique.ch", @@ -37579,36 +134499,79 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "val-terbi.ch" + ], + "guess":[ + "val-terbi.ch", + "valterbi.ch" + ] + }, + "resolve_flags":[] }, "6741":{ "bfs":"6741", - "name":"Le Bémont", - "canton":"", + "name":"Le Bémont (JU)", + "canton":"Kanton Jura", "domain":"lebemont.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "lebemont.ch" + ], + "redirect":[], + "wikidata":[ + "lebemont.ch" + ], + "guess":[ + "lebemont.ch" + ] + }, + "resolve_flags":[] }, "6742":{ "bfs":"6742", "name":"Les Bois", - "canton":"", + "canton":"Kanton Jura", "domain":"lesbois.ch", "mx":[ "mx1.azinformatique.ch", @@ -37618,14 +134581,25 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.109 ip4:212.71.120.144/28 ~all", "provider":"independent", - "mx_asns":[ - 34271 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lesbois.ch" + ], + "guess":[ + "lesbois.ch" + ] + }, + "resolve_flags":[] }, "6743":{ "bfs":"6743", "name":"Les Breuleux", - "canton":"", + "canton":"Kanton Jura", "domain":"breuleux.ch", "mx":[ "mx1.azinformatique.ch", @@ -37635,106 +134609,269 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 ip4:212.71.120.144/28 ~all", "provider":"independent", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":92.0, + "classification_signals":[ + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "breuleux.ch" + ], + "guess":[] + }, + "resolve_flags":[] }, "6745":{ "bfs":"6745", "name":"Les Enfers", - "canton":"", + "canton":"Kanton Jura", "domain":"lesenfers.ch", "mx":[ "mail.lesenfers.ch" ], "spf":"v=spf1 include:_spf.kreativmedia.ch ip4:212.71.120.144/28 +mx +a -all", "provider":"independent", - "spf_resolved":"v=spf1 include:_spf.kreativmedia.ch ip4:212.71.120.144/28 +mx +a -all v=spf1 ip4:46.231.200.0/21 ip4:80.74.128.0/19 ip4:94.126.16.0/21 ip4:185.46.56.0/22 ip6:2a00:1128::/32 -all", - "mx_asns":[ - 21069 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lesenfers.ch" + ], + "guess":[ + "lesenfers.ch" + ] + }, + "resolve_flags":[] }, "6748":{ "bfs":"6748", - "name":"Les Genevez", - "canton":"", + "name":"Les Genevez (JU)", + "canton":"Kanton Jura", "domain":"lesgenevez.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "lesgenevez.ch" + ], + "redirect":[], + "wikidata":[ + "lesgenevez.ch" + ], + "guess":[ + "lesgenevez.ch" + ] + }, + "resolve_flags":[] }, "6750":{ "bfs":"6750", - "name":"Lajoux", - "canton":"", + "name":"Lajoux (JU)", + "canton":"Kanton Jura", "domain":"lajoux.ch", "mx":[ "lajoux-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX lajoux-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "lajoux.ch" + ], + "guess":[ + "lajoux.ch" + ] + }, + "resolve_flags":[] }, "6751":{ "bfs":"6751", "name":"Montfaucon", - "canton":"", + "canton":"Kanton Jura", "domain":"montfaucon.ch", "mx":[ "backup.montfaucon.ch", "mail.montfaucon.ch" ], "spf":"v=spf1 ip4:5.182.248.186 include:spf.infomaniak.ch include:tizoo.com ip4:5.182.248.144 +a +mx +ip4:212.147.66.228 a:mail.montfaucon.ch a:mtfn.montfaucon.ch a:beesolutions.ch ~all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 ip4:5.182.248.186 include:spf.infomaniak.ch include:tizoo.com ip4:5.182.248.144 +a +mx +ip4:212.147.66.228 a:mail.montfaucon.ch a:mtfn.montfaucon.ch a:beesolutions.ch ~all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:212.147.66.228 +a +mx ip4:5.182.248.3 ip4:5.182.248.4 ip4:5.182.248.140 ip4:5.182.248.144 ip4:5.182.248.148 ip4:5.182.248.151 ip4:5.182.248.160 ip4:5.182.248.166 ip4:5.182.248.176 ip4:5.182.248.183 ip4:5.182.248.132 ip4:212.147.66.247 ip4:212.147.66.245 ip4:212.147.66.246 ip4:5.182.248.11 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_cnames":{ - "mail.montfaucon.ch":"mtfn-nas1.i234.me" - }, - "mx_asns":[ - 3303, - 209042 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom" + } + ], + "sources_detail":{ + "scrape":[ + "montfaucon.ch", + "sim-montfaucon.swiss" + ], + "redirect":[], + "wikidata":[ + "montfaucon.ch" + ], + "guess":[ + "montfaucon.ch" + ] + }, + "resolve_flags":[] }, "6753":{ "bfs":"6753", "name":"Muriaux", - "canton":"", + "canton":"Kanton Jura", "domain":"muriaux.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "muriaux.ch" + ], + "redirect":[], + "wikidata":[ + "muriaux.ch" + ], + "guess":[ + "muriaux.ch" + ] + }, + "resolve_flags":[] }, "6754":{ "bfs":"6754", "name":"Le Noirmont", - "canton":"", + "canton":"Kanton Jura", "domain":"noirmont.ch", "mx":[ "mx1.azinformatique.ch", @@ -37744,14 +134881,25 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.109 ip4:212.71.120.144/28 ~all", "provider":"independent", - "mx_asns":[ - 34271 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "noirmont.ch" + ], + "guess":[ + "lenoirmont.ch" + ] + }, + "resolve_flags":[] }, "6757":{ "bfs":"6757", "name":"Saignelégier", - "canton":"", + "canton":"Kanton Jura", "domain":"saignelegier.ch", "mx":[ "mx1.azinformatique.ch", @@ -37761,68 +134909,205 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.105 ip4:212.71.120.144/28 ~all", "provider":"independent", - "mx_asns":[ - 34271 - ] + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "saignelegier.ch" + ], + "redirect":[], + "wikidata":[ + "saignelegier.ch" + ], + "guess":[ + "saignelegier.ch" + ] + }, + "resolve_flags":[] }, "6758":{ "bfs":"6758", "name":"Saint-Brais", - "canton":"", + "canton":"Kanton Jura", "domain":"saint-brais.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "saint-brais.ch" + ], + "redirect":[], + "wikidata":[ + "saint-brais.ch" + ], + "guess":[ + "saint-brais.ch" + ] + }, + "resolve_flags":[] }, "6759":{ "bfs":"6759", "name":"Soubey", - "canton":"", + "canton":"Kanton Jura", "domain":"soubey.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "soubey.ch" + ], + "guess":[ + "soubey.ch" + ] + }, + "resolve_flags":[] }, "6771":{ "bfs":"6771", "name":"Alle", - "canton":"", + "canton":"Kanton Jura", "domain":"alle.ch", "mx":[ "alle-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX alle-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.alle.ch CNAME → selector1-alle-ch._domainkey.alleju.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.alle.ch CNAME → selector2-alle-ch._domainkey.alleju.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "alle.ch" + ], + "redirect":[], + "wikidata":[ + "alle.ch" + ], + "guess":[ + "alle.ch" + ] + }, + "resolve_flags":[] }, "6774":{ "bfs":"6774", "name":"Boncourt", - "canton":"", + "canton":"Kanton Jura", "domain":"boncourt.ch", "mx":[ "mx1.azinformatique.ch", @@ -37831,16 +135116,53 @@ "mx4.azinformatique.ch" ], "spf":"v=spf1 mx a include:spf.infomaniak.ch ip4:46.140.242.148 ip4:46.140.242.150 -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx a include:spf.infomaniak.ch ip4:46.140.242.148 ip4:46.140.242.150 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34271 - ] + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "boncourt.ch" + ], + "redirect":[], + "wikidata":[ + "boncourt.ch" + ], + "guess":[ + "boncourt.ch" + ] + }, + "resolve_flags":[] }, "6778":{ "bfs":"6778", "name":"Bure", - "canton":"", + "canton":"Kanton Jura", "domain":"bure.ch", "mx":[ "mx1.azinformatique.ch", @@ -37850,127 +135172,548 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ?all", "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ?all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":94.0, + "classification_signals":[ + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "bure.ch" + ], + "guess":[ + "bure.ch" + ] + }, + "resolve_flags":[] }, "6781":{ "bfs":"6781", "name":"Coeuve", - "canton":"", + "canton":"Kanton Jura", "domain":"coeuve.ch", "mx":[ "coeuve-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX coeuve-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.coeuve.ch CNAME → selector1-coeuve-ch._domainkey.coeuve.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.coeuve.ch CNAME → selector2-coeuve-ch._domainkey.coeuve.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "coeuve.ch" + ], + "redirect":[], + "wikidata":[ + "coeuve.ch" + ], + "guess":[ + "coeuve.ch" + ] + }, + "resolve_flags":[] }, "6782":{ "bfs":"6782", "name":"Cornol", - "canton":"", + "canton":"Kanton Jura", "domain":"cornol.ch", "mx":[ "cornol-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch ip4:212.71.120.144/28 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX cornol-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.cornol.ch CNAME → selector1-cornol-ch._domainkey.cornol.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.cornol.ch CNAME → selector2-cornol-ch._domainkey.cornol.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "cornol.ch" + ], + "redirect":[], + "wikidata":[ + "cornol.ch" + ], + "guess":[ + "cornol.ch" + ] + }, + "resolve_flags":[] }, "6783":{ "bfs":"6783", "name":"Courchavon", - "canton":"", - "domain":"courchavon-mormont.ch", + "canton":"Kanton Jura", + "domain":"courchavon.ch", "mx":[ - "mx1.mail.hostpoint.ch", - "mx2.mail.hostpoint.ch" - ], - "spf":"v=spf1 redirect=spf.mail.hostpoint.ch", - "provider":"independent", - "spf_resolved":"v=spf1 redirect=spf.mail.hostpoint.ch v=spf1 +ip4:217.26.49.128/25 +ip6:2a00:d70:0:e::/64 +ip4:217.26.63.0/24 +ip6:2a00:d70:0:12::/64 +ip4:217.26.50.0/23 +ip4:217.26.52.0/23 +ip4:217.26.54.0/23 +ip4:217.26.58.0/23 +ip6:2a00:d70:0:b::/64 -all", - "mx_asns":[ - 29097 + "courchavon-ch.mail.protection.outlook.com" ], - "autodiscover":{ - "autodiscover_cname":"autoconfig-nonssl.mail.hostpoint.ch" - } + "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX courchavon-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.courchavon.ch CNAME → selector1-courchavon-ch._domainkey.courchavon.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.courchavon.ch CNAME → selector2-courchavon-ch._domainkey.courchavon.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "courchavon.ch" + ], + "redirect":[], + "wikidata":[ + "courchavon-mormont.ch" + ], + "guess":[ + "courchavon.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" + ] }, "6784":{ "bfs":"6784", "name":"Courgenay", - "canton":"", + "canton":"Kanton Jura", "domain":"courgenay.ch", "mx":[ "courgenay-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all v=spf1 ip4:195.65.10.12 ip4:195.65.10.13 -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX courgenay-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "courgenay.ch" + ], + "redirect":[], + "wikidata":[ + "courgenay.ch" + ], + "guess":[ + "courgenay.ch" + ] + }, + "resolve_flags":[] }, "6785":{ "bfs":"6785", "name":"Courtedoux", - "canton":"", + "canton":"Kanton Jura", "domain":"courtedoux.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch ?all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "courtedoux.ch" + ], + "redirect":[], + "wikidata":[ + "courtedoux.ch" + ], + "guess":[ + "courtedoux.ch" + ] + }, + "resolve_flags":[] }, "6789":{ "bfs":"6789", "name":"Fahy", - "canton":"", + "canton":"Kanton Jura", "domain":"fahy.ch", "mx":[ "fahy-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX fahy-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.fahy.ch CNAME → selector1-fahy-ch._domainkey.communefahy.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.fahy.ch CNAME → selector2-fahy-ch._domainkey.communefahy.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "fahy.ch" + ], + "guess":[ + "fahy.ch" + ] + }, + "resolve_flags":[] }, "6790":{ "bfs":"6790", "name":"Fontenais", - "canton":"", + "canton":"Kanton Jura", "domain":"fontenais.ch", "mx":[ "mx1.azinformatique.ch", @@ -37979,37 +135722,133 @@ "mx4.azinformatique.ch" ], "spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx a ip4:185.98.28.97 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_srv":"autodiscover.fontenais.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + } + ], + "sources_detail":{ + "scrape":[ + "fontenais.ch" + ], + "redirect":[], + "wikidata":[ + "fontenais.ch" + ], + "guess":[ + "fontenais.ch" + ] + }, + "resolve_flags":[] }, "6792":{ "bfs":"6792", - "name":"Grandfontaine JU", - "canton":"", + "name":"Grandfontaine", + "canton":"Kanton Jura", "domain":"grandfontaine.ch", "mx":[ "grandfontaine-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX grandfontaine-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.grandfontaine.ch CNAME → selector1-grandfontaine-ch._domainkey.gfontaine.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.grandfontaine.ch CNAME → selector2-grandfontaine-ch._domainkey.gfontaine.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "grandfontaine.ch" + ], + "guess":[ + "grandfontaine.ch" + ] + }, + "resolve_flags":[] }, "6800":{ "bfs":"6800", - "name":"Pruntrut", - "canton":"", + "name":"Porrentruy", + "canton":"Kanton Jura", "domain":"porrentruy.ch", "mx":[ "mx1.azinformatique.ch", @@ -38018,73 +135857,281 @@ "mx4.azinformatique.ch" ], "spf":"v=spf1 mx a include:spf.infomaniak.ch ip4:46.140.242.148 ip4:46.140.242.150 -all", - "provider":"independent", - "spf_resolved":"v=spf1 mx a include:spf.infomaniak.ch ip4:46.140.242.148 ip4:46.140.242.150 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mail.porrentruy.ch" - } + "provider":"infomaniak", + "category":"swiss-based", + "classification_confidence":50.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[ + "porrentruy.ch" + ], + "redirect":[], + "wikidata":[ + "porrentruy.ch" + ], + "guess":[ + "porrentruy.ch" + ] + }, + "resolve_flags":[] }, "6806":{ "bfs":"6806", "name":"Vendlincourt", - "canton":"", + "canton":"Kanton Jura", "domain":"vendlincourt.ch", "mx":[ "vendlincourt-ch.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX vendlincourt-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.vendlincourt.ch CNAME → selector1-vendlincourt-ch._domainkey.vendlincourt.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.vendlincourt.ch CNAME → selector2-vendlincourt-ch._domainkey.vendlincourt.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "vendlincourt.ch" + ], + "guess":[ + "vendlincourt.ch" + ] + }, + "resolve_flags":[] }, "6807":{ "bfs":"6807", "name":"Basse-Allaine", - "canton":"", + "canton":"Kanton Jura", "domain":"basse-allaine.ch", "mx":[ "basseallaine-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX basseallaine-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.basse-allaine.ch CNAME → selector1-basseallaine-ch01c._domainkey.communedebasseallaine.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.basse-allaine.ch CNAME → selector2-basseallaine-ch01c._domainkey.communedebasseallaine.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[ + "basse-allaine.ch" + ], + "redirect":[], + "wikidata":[ + "basse-allaine.ch" + ], + "guess":[ + "basse-allaine.ch", + "basseallaine.ch" + ] + }, + "resolve_flags":[] }, "6808":{ "bfs":"6808", "name":"Clos du Doubs", - "canton":"", + "canton":"Kanton Jura", "domain":"closdudoubs.ch", "mx":[ "mta-gw.infomaniak.ch" ], "spf":"v=spf1 include:spf.infomaniak.ch -all", "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 - ], - "autodiscover":{ - "autodiscover_cname":"infomaniak.com" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"infomaniak", + "weight":0.2, + "detail":"MX mta-gw.infomaniak.ch matches infomaniak" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + } + ], + "sources_detail":{ + "scrape":[ + "closdudoubs.ch" + ], + "redirect":[], + "wikidata":[ + "closdudoubs.ch" + ], + "guess":[ + "clos-du-doubs.ch", + "closdudoubs.ch" + ] + }, + "resolve_flags":[] }, "6809":{ "bfs":"6809", "name":"Haute-Ajoie", - "canton":"", + "canton":"Kanton Jura", "domain":"hauteajoie.ch", "mx":[ "mx1.azinformatique.ch", @@ -38094,82 +136141,391 @@ ], "spf":"v=spf1 mx a ip4:185.98.28.97 ~all", "provider":"independent", - "mx_asns":[ - 34271 - ], - "autodiscover":{ - "autodiscover_cname":"mailsju.azinformatique.ch" - } + "category":"swiss-based", + "classification_confidence":90.0, + "classification_signals":[], + "sources_detail":{ + "scrape":[ + "hauteajoie.ch" + ], + "redirect":[], + "wikidata":[ + "hauteajoie.ch" + ], + "guess":[ + "hauteajoie.ch" + ] + }, + "resolve_flags":[] }, "6810":{ "bfs":"6810", "name":"La Baroche", - "canton":"", - "domain":"baroche.ch", + "canton":"Kanton Jura", + "domain":"labaroche.ch", "mx":[ - "mta-gw.infomaniak.ch" + "labaroche-ch.mail.protection.outlook.com" ], - "spf":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com ?all", - "provider":"infomaniak", - "spf_resolved":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com ?all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 29222 + "spf":"v=spf1 include:spf.protection.outlook.com -all", + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX labaroche-ch.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.labaroche.ch CNAME → selector1-labaroche-ch._domainkey.labaroche.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.labaroche.ch CNAME → selector2-labaroche-ch._domainkey.labaroche.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[ + "labaroche.ch" + ], + "wikidata":[ + "baroche.ch" + ], + "guess":[ + "labaroche.ch" + ] + }, + "resolve_flags":[ + "sources_disagree" ] }, "6811":{ "bfs":"6811", "name":"Damphreux-Lugnez", - "canton":"", + "canton":"Kanton Jura", "domain":"damphreux-lugnez.ch", "mx":[ "damphreuxlugnez-ch02c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:45.157.188.8/29 ip4:185.125.25.8/29 ip4:83.166.143.168/29 ip4:84.16.66.168/29 ip4:128.65.197.100 ip4:128.65.197.101 ip6:2001:1600:4:17::/64 ip6:2001:1600:7:10::/64 ip6:2001:1600:4:2d::c565 ip6:2001:1600:7:10::c564 ip4:185.125.25.16/29 ip4:45.157.188.16/29 ip4:84.16.66.176/29 ip4:83.166.143.176/29 ip6:2001:1600:19::/48 ip4:84.16.69.64/31 ip4:128.65.197.2/31 include:newsletter.infomaniak.com -all v=spf1 include:amazonses.com ?all v=spf1 ip4:199.255.192.0/22 ip4:199.127.232.0/22 ip4:54.240.0.0/18 ip4:69.169.224.0/20 ip4:23.249.208.0/20 ip4:23.251.224.0/19 ip4:76.223.176.0/20 ip4:54.240.64.0/18 ip4:76.223.128.0/19 ip4:216.221.160.0/19 ip4:206.55.144.0/20 ip4:24.110.64.0/18 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX damphreuxlugnez-ch02c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"infomaniak", + "weight":0.2, + "detail":"SPF include:spf.infomaniak.ch matches infomaniak" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.damphreux-lugnez.ch CNAME → selector1-damphreuxlugnez-ch02c._domainkey.damphreux.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.damphreux-lugnez.ch CNAME → selector2-damphreuxlugnez-ch02c._domainkey.damphreux.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"google", + "weight":0.07, + "detail":"TXT verification matches google" + } + ], + "sources_detail":{ + "scrape":[ + "damphreux-lugnez.ch" + ], + "redirect":[], + "wikidata":[ + "damphreux-lugnez.ch" + ], + "guess":[ + "damphreux-lugnez.ch" + ] + }, + "resolve_flags":[] }, "6812":{ "bfs":"6812", "name":"Basse-Vendline", - "canton":"", + "canton":"Kanton Jura", "domain":"basse-vendline.ch", "mx":[ "bassevendline-ch01c.mail.protection.outlook.com" ], "spf":"v=spf1 include:spf.protection.outlook.com -all", "provider":"microsoft", - "spf_resolved":"v=spf1 include:spf.protection.outlook.com -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all", - "mx_asns":[ - 8075 - ], - "autodiscover":{ - "autodiscover_cname":"autodiscover.outlook.com" - } + "category":"us-cloud", + "classification_confidence":100.0, + "classification_signals":[ + { + "kind":"mx", + "provider":"microsoft", + "weight":0.2, + "detail":"MX bassevendline-ch01c.mail.protection.outlook.com matches ms365" + }, + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector1._domainkey.basse-vendline.ch CNAME → selector1-bassevendline-ch01c._domainkey.bassevendline.onmicrosoft.com" + }, + { + "kind":"dkim", + "provider":"microsoft", + "weight":0.15, + "detail":"DKIM selector2._domainkey.basse-vendline.ch CNAME → selector2-bassevendline-ch01c._domainkey.bassevendline.onmicrosoft.com" + }, + { + "kind":"autodiscover", + "provider":"microsoft", + "weight":0.08, + "detail":"autodiscover CNAME → autodiscover.outlook.com" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"asn", + "provider":"microsoft", + "weight":0.03, + "detail":"ASN 8075 matches ms365" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "basse-vendline.ch" + ], + "guess":[ + "basse-vendline.ch", + "bassevendline.ch" + ] + }, + "resolve_flags":[] }, "6831":{ "bfs":"6831", "name":"Moutier", - "canton":"", + "canton":"Kanton Jura", "domain":"moutier.ch", "mx":[ "mail.moutier.ch" ], "spf":"v=spf1 +a +mx +ip4:62.202.57.224/28 ip4:62.2.96.80/28 ip4:80.74.149.162/32 ip4:80.74.149.163/32 include:spf.protection.outlook.com include:spf.mandrillapp.com include:spf1.ne.ch -all", - "provider":"swiss-isp", - "spf_resolved":"v=spf1 +a +mx +ip4:62.202.57.224/28 ip4:62.2.96.80/28 ip4:80.74.149.162/32 ip4:80.74.149.163/32 include:spf.protection.outlook.com include:spf.mandrillapp.com include:spf1.ne.ch -all v=spf1 ip4:40.92.0.0/15 ip4:40.107.0.0/16 ip4:52.100.0.0/15 ip4:52.102.0.0/16 ip4:52.103.0.0/17 ip4:104.47.0.0/17 ip6:2a01:111:f400::/48 ip6:2a01:111:f403::/49 ip6:2a01:111:f403:8000::/51 ip6:2a01:111:f403:c000::/51 ip6:2a01:111:f403:f000::/52 -all v=spf1 ip4:198.2.128.0/24 ip4:198.2.132.0/22 ip4:198.2.136.0/23 ip4:198.2.145.0/24 ip4:198.2.186.0/23 ip4:205.201.131.128/25 ip4:205.201.134.128/25 ip4:205.201.136.0/23 ip4:205.201.139.0/24 ip4:198.2.177.0/24 ip4:198.2.178.0/23 ip4:198.2.180.0/24 ~all v=spf1 ip4:148.196.30.0/24 -all", - "mx_asns":[ - 3303, - 6730 - ], - "autodiscover":{ - "autodiscover_srv":"webmail.moutier.ch" - } + "provider":"microsoft", + "category":"us-cloud", + "classification_confidence":82.0, + "classification_signals":[ + { + "kind":"spf", + "provider":"microsoft", + "weight":0.2, + "detail":"SPF include:spf.protection.outlook.com matches ms365" + }, + { + "kind":"tenant", + "provider":"microsoft", + "weight":0.1, + "detail":"MS365 tenant detected: Managed" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 3303 is Swiss ISP: Swisscom" + }, + { + "kind":"asn", + "provider":"swiss-isp", + "weight":0.03, + "detail":"ASN 6730 is Swiss ISP: Sunrise UPC" + }, + { + "kind":"txt_verification", + "provider":"microsoft", + "weight":0.07, + "detail":"TXT verification matches ms365" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"txt_verification", + "provider":"aws", + "weight":0.07, + "detail":"AWS SES domain verification found" + }, + { + "kind":"spf_ip", + "provider":"swiss-isp", + "weight":0.08, + "detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC" + } + ], + "sources_detail":{ + "scrape":[], + "redirect":[], + "wikidata":[ + "moutier.ch" + ], + "guess":[ + "moutier.ch" + ] + }, + "resolve_flags":[] } } } \ No newline at end of file diff --git a/data.min.json b/data.min.json new file mode 100644 index 0000000..dc5d11a --- /dev/null +++ b/data.min.json @@ -0,0 +1 @@ +{"generated":"2026-03-24T13:55:14Z","commit":"61309b3","municipalities":{"1":{"name":"Aeugst am Albis","canton":"Kanton Zürich","domain":"aeugst-albis.ch","mx":["mailgw01.zii.ch","mailgw02.zii.ch"],"spf":"v=spf1 include:spf.zii.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"2":{"name":"Affoltern am Albis","canton":"Kanton Zürich","domain":"stadtaffoltern.ch","mx":["stadtaffoltern-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:rlx7.loginserver.ch a:mail.obt-services.ch mx:hin.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud include:spf.abacuscity.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stadtaffoltern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.stadtaffoltern.ch CNAME → selector1-stadtaffoltern-ch._domainkey.affolterncloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.stadtaffoltern.ch CNAME → selector2-stadtaffoltern-ch._domainkey.affolterncloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3":{"name":"Bonstetten","canton":"Kanton Zürich","domain":"bonstetten.ch","mx":["bonstetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bonstetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bonstetten.ch CNAME → selector1-bonstetten-ch._domainkey.bonstettencloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bonstetten.ch CNAME → selector2-bonstetten-ch._domainkey.bonstettencloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4":{"name":"Hausen am Albis","canton":"Kanton Zürich","domain":"hausen.ch","mx":["hausen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com redirect=spf.mail.hostpoint.ch","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hausen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hausen.ch CNAME → selector1-hausen-ch._domainkey.gemhausen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hausen.ch CNAME → selector2-hausen-ch._domainkey.gemhausen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5":{"name":"Hedingen","canton":"Kanton Zürich","domain":"hedingen.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:spf.protection.outlook.com ip4:193.135.56.6 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6":{"name":"Kappel am Albis","canton":"Kanton Zürich","domain":"kappel-am-albis.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"7":{"name":"Knonau","canton":"Kanton Zürich","domain":"knonau.ch","mx":["knonau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.0/24 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX knonau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.knonau.ch CNAME → selector1-knonau-ch._domainkey.gmdknonau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.knonau.ch CNAME → selector2-knonau-ch._domainkey.gmdknonau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"8":{"name":"Maschwanden","canton":"Kanton Zürich","domain":"maschwanden.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:servers.mcsv.net -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"9":{"name":"Mettmenstetten","canton":"Kanton Zürich","domain":"mettmenstetten.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"10":{"name":"Obfelden","canton":"Kanton Zürich","domain":"obfelden.ch","mx":["obfelden-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.bestview.ch include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX obfelden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.obfelden.ch CNAME → selector1-obfelden-ch._domainkey.obfeldencloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.obfelden.ch CNAME → selector2-obfelden-ch._domainkey.obfeldencloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"11":{"name":"Ottenbach","canton":"Kanton Zürich","domain":"ottenbach.ch","mx":["mailgw01.zii.ch","mailgw02.zii.ch"],"spf":"v=spf1 mx include:spf.zii.ch include:spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"12":{"name":"Rifferswil","canton":"Kanton Zürich","domain":"rifferswil.ch","mx":["smtagb02.abxsec.com","smtasg01.abxsec.com","smtazh01.abxsec.com","smtazh02.abxsec.com"],"spf":"v=spf1 include:spf.abxsec.com include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"13":{"name":"Stallikon","canton":"Kanton Zürich","domain":"stallikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"14":{"name":"Wettswil am Albis","canton":"Kanton Zürich","domain":"wettswil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:egeko.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"22":{"name":"Benken (ZH)","canton":"Kanton Zürich","domain":"benken-zh.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"23":{"name":"Berg am Irchel","canton":"Kanton Zürich","domain":"bergamirchel.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"24":{"name":"Buch am Irchel","canton":"Kanton Zürich","domain":"buchamirchel.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf1.egeko.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"25":{"name":"Dachsen","canton":"Kanton Zürich","domain":"dachsen.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com include:spf.abxsec.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"26":{"name":"Dorf","canton":"Kanton Zürich","domain":"dorf.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"27":{"name":"Feuerthalen","canton":"Kanton Zürich","domain":"feuerthalen.ch","mx":["feuerthalen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX feuerthalen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"28":{"name":"Flaach","canton":"Kanton Zürich","domain":"flaach.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 mx include:_spf.rzobt.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"29":{"name":"Flurlingen","canton":"Kanton Zürich","domain":"flurlingen.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spfmx.rizag.ch include:spf.abxsec.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"31":{"name":"Henggart","canton":"Kanton Zürich","domain":"henggart.ch","mx":["henggart-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:81.62.182.114 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX henggart-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"33":{"name":"Kleinandelfingen","canton":"Kanton Zürich","domain":"kleinandelfingen.ch","mx":["smtasg01.abxsec.com","smtazh01.abxsec.com"],"spf":"v=spf1 ip4:193.135.56.6 include:spf.abxsec.com include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"34":{"name":"Laufen-Uhwiesen","canton":"Kanton Zürich","domain":"laufen-uhwiesen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"35":{"name":"Marthalen","canton":"Kanton Zürich","domain":"marthalen.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"37":{"name":"Ossingen","canton":"Kanton Zürich","domain":"ossingen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.mail.hostpoint.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"38":{"name":"Rheinau","canton":"Kanton Zürich","domain":"rheinau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"39":{"name":"Thalheim an der Thur","canton":"Kanton Zürich","domain":"thalheim.ch","mx":["thalheim-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX thalheim-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"40":{"name":"Trüllikon","canton":"Kanton Zürich","domain":"truellikon.ch","mx":["truellikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX truellikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"41":{"name":"Truttikon","canton":"Kanton Zürich","domain":"truttikon.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"43":{"name":"Volken","canton":"Kanton Zürich","domain":"volken.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"51":{"name":"Bachenbülach","canton":"Kanton Zürich","domain":"bachenbuelach.ch","mx":["bachenbuelach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.rzobt.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bachenbuelach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"52":{"name":"Bassersdorf","canton":"Kanton Zürich","domain":"bassersdorf.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com mx:hin.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"53":{"name":"Bülach","canton":"Kanton Zürich","domain":"buelach.ch","mx":["buelach-ch.mail.protection.outlook.com","mailprotect3.itexacloud.ch"],"spf":"v=spf1 a mx ip4:77.237.208.45 a:mail01.refline.ch a:mail02.refline.ch a:mail.friedaweb.de include:spf.rtp.ch include:spf.sendinblue.com include:spf.protection.outlook.com include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX buelach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 15600 is Swiss ISP: Quickline"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"54":{"name":"Dietlikon","canton":"Kanton Zürich","domain":"dietlikon.org","mx":["dietlikon-org.mail.protection.outlook.com","mx1.dietlikon.org","mx2.dietlikon.org"],"spf":"v=spf1 mx ip4:194.191.24.23 ip4:194.56.218.154 ip4:193.135.56.6 ip4:212.25.8.138 ip4:147.160.167.0/26 ip4:94.247.216.48/30 ip4:185.193.224.66/29 ip4:81.92.102.96/29 ip4:81.92.106.32/29 include:hin.ch include:spf.protection.outlook.com include:psm.knowbe4.com include:spf.abacuscity.ch include:dietlikon.atlassian.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dietlikon-org.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.dietlikon.org CNAME → selector1-dietlikon-org._domainkey.gemdietlikonorg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.dietlikon.org CNAME → selector2-dietlikon-org._domainkey.gemdietlikonorg.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 14618 matches aws"}]},"55":{"name":"Eglisau","canton":"Kanton Zürich","domain":"eglisau.ch","mx":["asgate01.spamcontrol.beltronic.ch","asgate02.spamcontrol.beltronic.ch","asgate03.spamcontrol.beltronic.ch","asgate04.spamcontrol.beltronic.ch"],"spf":"v=spf1 a mx include:spf.hornetsecurity.com include:spf.crsend.com include:spf.protection.cyon.net include:servers.mcsv.net include:mail.kidesia.com include:_spf.sui-inter.net ip4:80.74.128.0/19 ip4:46.245.188.53 ip4:91.102.199.128/29 +mx:hin.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"56":{"name":"Embrach","canton":"Kanton Zürich","domain":"embrach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch include:spf.iway.ch include:spf.protection.outlook.com ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 a:mail.ostendis.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"57":{"name":"Freienstein-Teufen","canton":"Kanton Zürich","domain":"freienstein-teufen.ch","mx":["freiensteinteufen-ch02i.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.abxsec.com include:egeko.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX freiensteinteufen-ch02i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"58":{"name":"Glattfelden","canton":"Kanton Zürich","domain":"glattfelden.ch","mx":["mail100.rizag.ch","ms24811660.msv1.invalid"],"spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:194.6.176.74 include:spf.abacuscity.ch include:_spf.abxsec.com mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"59":{"name":"Hochfelden","canton":"Kanton Zürich","domain":"hochfelden.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.sui-inter.net include:_spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"60":{"name":"Höri","canton":"Kanton Zürich","domain":"hoeri.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com include:spf1.egeko.ch ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"61":{"name":"Hüntwangen","canton":"Kanton Zürich","domain":"huentwangen.ch","mx":["huentwangen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX huentwangen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"62":{"name":"Kloten","canton":"Kanton Zürich","domain":"kloten.ch","mx":["kloten-ch.mail.protection.outlook.com"],"spf":"v=spf1 +mx +a a:mail.kloten.ch a:mail3.kloten.ch a:mail.i-web.ch include:spf.umantis.com a:mx3.hin.ch a:mx4.hin.ch include:spf.spotwerbung.ch include:spf.protection.outlook.com +ip4:194.209.49.195 +ip4:212.80.96.0/21 +ip4:217.71.85.32/32 +ip4:194.230.101.242/32 +ip6:2a01:7480:1:100::/64 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX kloten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kloten.ch CNAME → selector1-kloten-ch._domainkey.klotench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kloten.ch CNAME → selector2-kloten-ch._domainkey.klotench.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"63":{"name":"Lufingen","canton":"Kanton Zürich","domain":"lufingen.ch","mx":["lufingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lufingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"64":{"name":"Nürensdorf","canton":"Kanton Zürich","domain":"nuerensdorf.ch","mx":["nuerensdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX nuerensdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"65":{"name":"Oberembrach","canton":"Kanton Zürich","domain":"oberembrach.ch","mx":["oberembrach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all ","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberembrach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"66":{"name":"Opfikon","canton":"Kanton Zürich","domain":"opfikon.ch","mx":["opfikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx:hin.ch include:_spf.i-web.ch ip4:217.11.32.170 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.protection.outlook.com ip4:193.5.117.40/29 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX opfikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.opfikon.ch CNAME → selector1-opfikon-ch._domainkey.opfikonch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.opfikon.ch CNAME → selector2-opfikon-ch._domainkey.opfikonch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"67":{"name":"Rafz","canton":"Kanton Zürich","domain":"rafz.ch","mx":["rafz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:smtp.trainingplus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rafz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rafz.ch CNAME → selector1-rafz-ch._domainkey.rafzcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rafz.ch CNAME → selector2-rafz-ch._domainkey.rafzcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"68":{"name":"Rorbas","canton":"Kanton Zürich","domain":"rorbas.ch","mx":["rorbas-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:_spf.sui-inter.net ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rorbas-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rorbas.ch CNAME → selector1-rorbas-ch._domainkey.gemeinderorbasch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rorbas.ch CNAME → selector2-rorbas-ch._domainkey.gemeinderorbasch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"69":{"name":"Wallisellen","canton":"Kanton Zürich","domain":"wallisellen.ch","mx":["wallisellen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.i-web.ch include:spf.protection.outlook.com include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wallisellen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wallisellen.ch CNAME → selector1-wallisellen-ch._domainkey.gemeindewallisellen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wallisellen.ch CNAME → selector2-wallisellen-ch._domainkey.gemeindewallisellen.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"70":{"name":"Wasterkingen","canton":"Kanton Zürich","domain":"wasterkingen.ch","mx":["wasterkingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wasterkingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"71":{"name":"Wil (ZH)","canton":"Kanton Zürich","domain":"wil-zh.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wil-zh.ch CNAME → selector1-wilzh-ch0i._domainkey.gmdwilzh.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wil-zh.ch CNAME → selector2-wilzh-ch0i._domainkey.gmdwilzh.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"72":{"name":"Winkel","canton":"Kanton Zürich","domain":"winkel.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"81":{"name":"Bachs","canton":"Kanton Zürich","domain":"bachs.ch","mx":["bachs-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bachs-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"82":{"name":"Boppelsen","canton":"Kanton Zürich","domain":"boppelsen.ch","mx":["boppelsen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boppelsen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"83":{"name":"Buchs (ZH)","canton":"Kanton Zürich","domain":"buchs-zh.ch","mx":["buchszh-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com ip4:212.80.96.0/21 a:mail.obt-services.ch ip6:2a01:7480:1:100::/64 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buchszh-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buchs-zh.ch CNAME → selector1-buchszh-ch01c._domainkey.buchscloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buchs-zh.ch CNAME → selector2-buchszh-ch01c._domainkey.buchscloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"84":{"name":"Dällikon","canton":"Kanton Zürich","domain":"daellikon.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"85":{"name":"Dänikon","canton":"Kanton Zürich","domain":"daenikon.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch a:communication.backslash.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"86":{"name":"Dielsdorf","canton":"Kanton Zürich","domain":"dielsdorf.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch a:smtazh01.abxsec.com a:mail.i-web.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:spf.protection.outlook.com mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"87":{"name":"Hüttikon","canton":"Kanton Zürich","domain":"huettikon.ch","mx":["smtagb02.abxsec.com","smtasg01.abxsec.com","smtazh01.abxsec.com","smtazh02.abxsec.com"],"spf":"v=spf1 a mx include:spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"88":{"name":"Neerach","canton":"Kanton Zürich","domain":"neerach.ch","mx":["neerach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:egeko.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX neerach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.neerach.ch CNAME → selector1-neerach-ch._domainkey.neerach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.neerach.ch CNAME → selector2-neerach-ch._domainkey.neerach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"89":{"name":"Niederglatt","canton":"Kanton Zürich","domain":"niederglatt-zh.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.niederglatt-zh.ch CNAME → selector1-niederglattzh-ch02i._domainkey.gmdniederglatt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.niederglatt-zh.ch CNAME → selector2-niederglattzh-ch02i._domainkey.gmdniederglatt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"90":{"name":"Niederhasli","canton":"Kanton Zürich","domain":"niederhasli.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx ip4:81.62.150.186 include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.niederhasli.ch CNAME → selector1-niederhasli-ch._domainkey.mediothekniederhasli.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.niederhasli.ch CNAME → selector2-niederhasli-ch._domainkey.mediothekniederhasli.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"91":{"name":"Niederweningen","canton":"Kanton Zürich","domain":"niederweningen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 ip4:193.135.56.6 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"92":{"name":"Oberglatt","canton":"Kanton Zürich","domain":"oberglatt.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:_spf.rzobt.ch include:spf1.egeko.ch ip4:52.157.149.216 ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:spf.abxsec.com include:spf.bestview.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}]},"93":{"name":"Oberweningen","canton":"Kanton Zürich","domain":"oberweningen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"94":{"name":"Otelfingen","canton":"Kanton Zürich","domain":"otelfingen.ch","mx":["otelfingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX otelfingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"95":{"name":"Regensberg","canton":"Kanton Zürich","domain":"regensberg.ch","mx":["regensberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX regensberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"96":{"name":"Regensdorf","canton":"Kanton Zürich","domain":"regensdorf.ch","mx":["regensdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:81.62.149.138/30 ip4:62.2.156.178/29 include:spf.protection.outlook.com include:_partner.regensdorf.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX regensdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.regensdorf.ch CNAME → selector1-regensdorf-ch._domainkey.regensdorfch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.regensdorf.ch CNAME → selector2-regensdorf-ch._domainkey.regensdorfch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"97":{"name":"Rümlang","canton":"Kanton Zürich","domain":"ruemlang.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com a:mail.i-web.ch a:vimdzmsp-nwas02.bluewin.ch mx include:spf1.egeko.ch include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"98":{"name":"Schleinikon","canton":"Kanton Zürich","domain":"schleinikon.ch","mx":["schleinikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schleinikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"99":{"name":"Schöfflisdorf","canton":"Kanton Zürich","domain":"schoefflisdorf.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 ip4:217.196.176.0/20 a mx -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"100":{"name":"Stadel","canton":"Kanton Zürich","domain":"stadel.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"101":{"name":"Steinmaur","canton":"Kanton Zürich","domain":"steinmaur.ch","mx":["steinmaur-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX steinmaur-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.steinmaur.ch CNAME → selector1-steinmaur-ch._domainkey.steinmaurch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.steinmaur.ch CNAME → selector2-steinmaur-ch._domainkey.steinmaurch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"102":{"name":"Weiach","canton":"Kanton Zürich","domain":"weiach.ch","mx":["smtagb02.abxsec.com","smtasg01.abxsec.com","smtazh01.abxsec.com","smtazh02.abxsec.com"],"spf":"v=spf1 mx include:_spf.mailsecurity.swisscom.com ip4:193.135.56.0/24 include:spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"111":{"name":"Bäretswil","canton":"Kanton Zürich","domain":"baeretswil.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch a:mail.i-web.ch/24 a:smtazh01.abxsec.com mx -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"112":{"name":"Bubikon","canton":"Kanton Zürich","domain":"bubikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com include:spf.bestview.ch ip4:46.231.200.132 mx ip4:94.126.21.108 include:_spf.i-web.ch include:spf.vtx.ch include:2wire.ch ip4:46.140.146.21 ip4:46.140.146.20 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bubikon.ch CNAME → selector1-bubikon-ch._domainkey.gmdbubikon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bubikon.ch CNAME → selector2-bubikon-ch._domainkey.gmdbubikon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"abxsec"},"113":{"name":"Dürnten","canton":"Kanton Zürich","domain":"duernten.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com a:communication.backslash.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"114":{"name":"Fischenthal","canton":"Kanton Zürich","domain":"fischenthal.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch a:smtazh01.abxsec.com ip4:193.135.56.6 include:spf.abxsec.com include:spf1.egeko.ch include:spf.protection.outlook.com mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"115":{"name":"Gossau (ZH)","canton":"Kanton Zürich","domain":"gossau-zh.ch","mx":["gossauzh-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.243.171.69 ip4:164.128.180.173 ip4:164.128.189.226 ip4:46.14.205.122 include:spf.mail.webland.ch include:spf.bestview.ch include:spf.exclaimer.net include:spf.protection.outlook.com include:spf.privasphere.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gossauzh-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gossau-zh.ch CNAME → selector1-gossauzh-ch01e._domainkey.gossauzuerich.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gossau-zh.ch CNAME → selector2-gossauzh-ch01e._domainkey.gossauzuerich.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"116":{"name":"Grüningen","canton":"Kanton Zürich","domain":"grueningen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"117":{"name":"Hinwil","canton":"Kanton Zürich","domain":"hinwil.ch","mx":["hinwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:spf.abacuscity.ch include:mailsecurity.swisscom.com include:hsa.obtcloud.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hinwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"118":{"name":"Rüti (ZH)","canton":"Kanton Zürich","domain":"rueti.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:spf.abxsec.com a:cms2-com.backslash.ch a:mail01.refline.ch a:mail02.refline.ch ip4:193.135.56.6 ip4:128.127.50.146 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"119":{"name":"Seegräben","canton":"Kanton Zürich","domain":"seegraeben.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"120":{"name":"Wald (ZH)","canton":"Kanton Zürich","domain":"wald-zh.ch","mx":["waldzh-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.outlook.com a:mail01.refline.ch a:mail02.refline.ch a:svce-mail.softec.ch include:spf.entex.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX waldzh-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wald-zh.ch CNAME → selector1-waldzh-ch01b._domainkey.waldzhcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wald-zh.ch CNAME → selector2-waldzh-ch01b._domainkey.waldzhcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"121":{"name":"Wetzikon (ZH)","canton":"Kanton Zürich","domain":"wetzikon.ch","mx":["wetzikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com mx:hin.ch include:_spf.abxsec.com a:mail.i-web.ch include:_spf.talus.ch include:spf3.wetzikon.ch include:spf4.wetzikon.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wetzikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"131":{"name":"Adliswil","canton":"","domain":"adliswil.ch","mx":["adliswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:46.140.221.34/27 ip4:146.4.127.224/27 Include:spf.protection.outlook.com include:_partner.adliswil.ch ip4:128.127.66.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX adliswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.adliswil.ch CNAME → selector1-adliswil-ch._domainkey.adliswilcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.adliswil.ch CNAME → selector2-adliswil-ch._domainkey.adliswilcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"135":{"name":"Kilchberg (ZH)","canton":"","domain":"kilchberg.ch","mx":["mx1.naveum.services","mx2.naveum.services"],"spf":"v=spf1 mx a:mx1.naveum.services a:mx2.naveum.services a:mail01.axc.biz ip4:193.135.56.6 include:spf.abacuscity.ch include:spf.axc-cms.biz -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"136":{"name":"Langnau am Albis","canton":"","domain":"solicom.ch","mx":["mail.solicom.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"137":{"name":"Oberrieden","canton":"","domain":"oberrieden.ch","mx":["mailgw01.zii.ch","mailgw02.zii.ch"],"spf":"v=spf1 mx ip4:92.43.216.251 ip4:92.43.216.110 a:msscript1.webland.ch include:spf.protection.outlook.com include:spf.ws-hp-ias.ch include:spf.zii.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"138":{"name":"Richterswil","canton":"","domain":"richterswil.ch","mx":["richterswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:mx.grl.activeguard.cloud ip4:194.29.25.62 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX richterswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"139":{"name":"Rüschlikon","canton":"","domain":"rueschlikon.ch","mx":["rueschlikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com include:spf.umantis.com a:mail.hope.myshare.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX rueschlikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"141":{"name":"Thalwil","canton":"","domain":"thalwil.ch","mx":["mailgw01.zii.ch","mailgw02.zii.ch"],"spf":"v=spf1 include:spf.zii.ch include:_spf.i-web.ch include:spf.abacuscity.ch ip4:195.49.84.165 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"151":{"name":"Erlenbach (ZH)","canton":"Kanton Zürich","domain":"erlenbach.ch","mx":["erlenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.cyon.net include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX erlenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.erlenbach.ch CNAME → selector1-erlenbach-ch._domainkey.gmderlenbach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.erlenbach.ch CNAME → selector2-erlenbach-ch._domainkey.gmderlenbach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"152":{"name":"Herrliberg","canton":"Kanton Zürich","domain":"herrliberg.ch","mx":["mx1.naveum.services","mx2.naveum.services"],"spf":"v=spf1 a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"153":{"name":"Hombrechtikon","canton":"Kanton Zürich","domain":"hombrechtikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"154":{"name":"Küsnacht (ZH)","canton":"Kanton Zürich","domain":"kuesnacht.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.0/24 ip4:193.135.57.0/24 ip4:193.135.58.0/24 include:servers.mcsv.net ip4:193.246.64.0/19 a:mail01.refline.ch a:mail02.refline.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"155":{"name":"Männedorf","canton":"Kanton Zürich","domain":"maennedorf.ch","mx":["mail2.maennedorf.ch"],"spf":"v=spf1 mx a:mail01.refline.ch a:mail02.refline.ch a:spf1.refline.ch a:spf2.refline.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"156":{"name":"Meilen","canton":"Kanton Zürich","domain":"meilen.ch","mx":["meilen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.iway.ch include:spf.bestview.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX meilen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.meilen.ch CNAME → selector1-meilen-ch._domainkey.meilench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.meilen.ch CNAME → selector2-meilen-ch._domainkey.meilench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"157":{"name":"Oetwil am See","canton":"Kanton Zürich","domain":"oetwil.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spf.psm.knowbe4.com include:_spfmx.rizag.ch include:spf.abxsec.com include:spf.protection.outlook.com mx ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"158":{"name":"Stäfa","canton":"Kanton Zürich","domain":"staefa.ch","mx":["staefa-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:spf1.refline.ch a:spf2.refline.ch a:mail01.refline.ch a:mail02.refline.ch include:backslash.ch a:mail.obt-services.ch include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX staefa-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.staefa.ch CNAME → selector1-staefa-ch._domainkey.staefacloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.staefa.ch CNAME → selector2-staefa-ch._domainkey.staefacloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"159":{"name":"Uetikon am See","canton":"Kanton Zürich","domain":"uetikonamsee.ch","mx":["smtagb02.abxsec.com","smtasg01.abxsec.com","smtazh01.abxsec.com","smtazh02.abxsec.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com include:_spf.i-web.ch include:spf.nl2go.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.uetikonamsee.ch CNAME → selector1-uetikonamsee-ch._domainkey.uetikonamsee.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.uetikonamsee.ch CNAME → selector2-uetikonamsee-ch._domainkey.uetikonamsee.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"160":{"name":"Zumikon","canton":"Kanton Zürich","domain":"zumikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ip4:46.182.222.130 ip4:46.182.222.133 ip4:46.182.222.142 ip4:91.192.38.98 ip4:194.41.147.13 ip4:194.41.147.14 ip4:194.88.197.144 ip4:194.88.197.178 ip4:194.41.128.0/17 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"161":{"name":"Zollikon","canton":"Kanton Zürich","domain":"zollikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com a:daten.zollikon.ch a:victorinus.ch-meta.net ptr:tux149.hoststar.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"172":{"name":"Fehraltorf","canton":"Kanton Zürich","domain":"fehraltorf.ch","mx":["fehraltorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.100.16 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.talus.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fehraltorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.fehraltorf.ch CNAME → selector1-fehraltorf-ch._domainkey.gvfehraltorf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.fehraltorf.ch CNAME → selector2-fehraltorf-ch._domainkey.gvfehraltorf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"173":{"name":"Hittnau","canton":"Kanton Zürich","domain":"hittnau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com a:web18.bestview.ch include:spf1.egeko.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"176":{"name":"Lindau","canton":"Kanton Zürich","domain":"lindau.ch","mx":["mail.glindau.ch"],"spf":"v=spf1 +a +mx include:glindau.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"177":{"name":"Pfäffikon","canton":"Kanton Zürich","domain":"pfaeffikon.ch","mx":["pfaeffikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_netblocks_v4.pfaeffikon.ch include:_partners.pfaeffikon.ch include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":96.0,"classification_signals":[{"kind":"mx","detail":"MX pfaeffikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.pfaeffikon.ch CNAME → selector1-pfaeffikon-ch._domainkey.pfaeffikonzh.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.pfaeffikon.ch CNAME → selector2-pfaeffikon-ch._domainkey.pfaeffikonzh.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"178":{"name":"Russikon","canton":"Kanton Zürich","domain":"russikon.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:212.80.96.0/21 ip4:149.126.4.38 ip6:2a01:7480:1:100::/64 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"180":{"name":"Weisslingen","canton":"Kanton Zürich","domain":"weisslingen.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch a mx include:_spf.i-web.ch ip4:46.232.179.212 include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"181":{"name":"Wila","canton":"Kanton Zürich","domain":"wila.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"182":{"name":"Wildberg","canton":"Kanton Zürich","domain":"wildberg.ch","mx":["wildberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wildberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"191":{"name":"Dübendorf","canton":"Kanton Zürich","domain":"duebendorf.ch","mx":["stadtduebendorf.in.tmes.trendmicro.eu"],"spf":"v=spf1 mx include:speedadmin.dk ip4:80.242.195.146 ip4:80.242.195.157 include:spf.crsend.com include:spf.abxsec.com include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.bestview.ch include:spf.tmes.trendmicro.eu -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"192":{"name":"Egg","canton":"Kanton Zürich","domain":"egg.ch","mx":["egg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf.abacuscity.ch include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX egg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"193":{"name":"Fällanden","canton":"Kanton Zürich","domain":"faellanden.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx a:smtazh01.abxsec.com include:_spf.i-web.ch a:mail01.refline.ch a:mail02.refline.ch a:mail.obt-services.ch a:mail1.obtcloud.ch ip4:193.135.100.0/27 include:spf.abacuscity.ch include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"194":{"name":"Greifensee","canton":"Kanton Zürich","domain":"greifensee.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.i-web.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"195":{"name":"Maur","canton":"Kanton Zürich","domain":"maur.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch include:spf.abxsec.com a:mail.arabachwis.ch a:mail.traberedv.ch a:communication.backslash.ch mx include:spf1.mailchannels.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"196":{"name":"Mönchaltorf","canton":"Kanton Zürich","domain":"moenchaltorf.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 ip4:193.135.56.6 ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:_spf.google.com include:_spf.i-web.ch -all","provider":"google","category":"us-cloud","classification_confidence":70.0,"classification_signals":[{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"197":{"name":"Schwerzenbach","canton":"Kanton Zürich","domain":"schwerzenbach.ch","mx":["schwerzenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:_spf.abxsec.com ip4:213.158.144.22 ip4:62.12.175.210 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schwerzenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.schwerzenbach.ch CNAME → selector1-schwerzenbach-ch._domainkey.gemeindeschwerzenbach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.schwerzenbach.ch CNAME → selector2-schwerzenbach-ch._domainkey.gemeindeschwerzenbach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"198":{"name":"Uster","canton":"Kanton Zürich","domain":"uster.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 ip6:2a02:c382:0:8007::101 ip6:2a02:c382:0:8007::121 ip4:194.209.75.192/26 ip4:195.65.10.12 ip4:195.65.10.13 ip4:195.65.10.14 ip4:195.65.10.15 ip4:167.89.53.198 ip4:149.72.40.42 ip4:167.89.89.155 ip4:217.26.48.124 ip4:217.26.48.146 ip4:217.26.48.147 ip4:217.26.48.121 ip6:2a00:d70:0:a::e0 ip6:2a00:d70:0:13::100 ip6:2a00:d70:0:14::100 ip6:2a00:d70:0:a::e1 include:_spf.abxsec.com include:spf.umantis.com include:spf.abacuscity.ch include:spf.iway.ch include:spf.protection.outlook.com include:mandrillapp.com include:_spf.atlassian.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"199":{"name":"Volketswil","canton":"Kanton Zürich","domain":"volketswil.ch","mx":["mx1.naveum.services","mx2.naveum.services"],"spf":"v=spf1 mx a:mx2.naveum.services a:mx1.naveum.services a:mail01.axc.biz ip4:193.135.56.6 ip4:194.56.218.154 include:spf.umantis.com include:mailomat.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"200":{"name":"Wangen-Brüttisellen","canton":"Kanton Zürich","domain":"wangen-bruettisellen.ch","mx":["wangenbruettisellen-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.i-web.ch include:egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wangenbruettisellen-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"211":{"name":"Altikon","canton":"Kanton Zürich","domain":"altikon.ch","mx":["altikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.0/24 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX altikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"213":{"name":"Brütten","canton":"Kanton Zürich","domain":"bruetten.ch","mx":["bruetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.rzobt.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bruetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"214":{"name":"Dägerlen","canton":"Kanton Zürich","domain":"daegerlen.ch","mx":["daegerlen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX daegerlen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"215":{"name":"Dättlikon","canton":"Kanton Zürich","domain":"daettlikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.mtfweb.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"216":{"name":"Dinhard","canton":"Kanton Zürich","domain":"dinhard.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx a:webcms.ruf.ch ip4:193.135.56.6 include:_spf.abxsec.com include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"218":{"name":"Ellikon an der Thur","canton":"Kanton Zürich","domain":"ellikonanderthur.ch","mx":["ellikonanderthur-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.2sic.net include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.6 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ellikonanderthur-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"219":{"name":"Elsau","canton":"Kanton Zürich","domain":"elsau.ch","mx":["elsau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.abxsec.com include:spf.protection.outlook.com include:egeko.ch include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX elsau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.elsau.ch CNAME → selector1-elsau-ch._domainkey.elsau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.elsau.ch CNAME → selector2-elsau-ch._domainkey.elsau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"220":{"name":"Hagenbuch","canton":"Kanton Zürich","domain":"hagenbuch-zh.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx a include:_spf.abxsec.com +include:spf1.egeko.ch ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"221":{"name":"Hettlingen","canton":"Kanton Zürich","domain":"hettlingen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 mx include:spf.abxsec.com include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"223":{"name":"Neftenbach","canton":"Kanton Zürich","domain":"neftenbach.ch","mx":["neftenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX neftenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"224":{"name":"Pfungen","canton":"Kanton Zürich","domain":"pfungen.ch","mx":["mx1.mtfcloud.ch","mx2.mtfcloud.ch","mx3.mtfcloud.ch"],"spf":"v=spf1 ip4:217.148.0.25 mx include:_spf.i-web.ch include:spf.mtfweb.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.pfungen.ch CNAME → selector1-pfungen-ch._domainkey.mtfsc95146.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.pfungen.ch CNAME → selector2-pfungen-ch._domainkey.mtfsc95146.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"225":{"name":"Rickenbach (ZH)","canton":"Kanton Zürich","domain":"rickenbach-zh.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com mx:talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"226":{"name":"Schlatt (ZH)","canton":"Kanton Zürich","domain":"schlatt-zh.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"227":{"name":"Seuzach","canton":"Kanton Zürich","domain":"seuzach.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"228":{"name":"Turbenthal","canton":"Kanton Zürich","domain":"turbenthal.ch","mx":["turbenthal-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.ch.seppmail.cloud include:egeko.ch include:spf.protection.outlook.com ip4:193.135.56.6 ip4:212.243.171.122 ip4:83.173.240.50 ip4:212.90.205.250 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"230":{"name":"Winterthur","canton":"Kanton Zürich","domain":"win.ch","mx":["mx01.mailsecurity.swisscom.com","mx02.mailsecurity.swisscom.com"],"spf":"v=spf1 include:_spf.win.ch include:mailsecurity.swisscom.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"231":{"name":"Zell (ZH)","canton":"Kanton Zürich","domain":"zell.ch","mx":["zell-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf.protection.outlook.com include:_spf.abxsec.com ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zell-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"241":{"name":"Aesch (ZH)","canton":"Kanton Zürich","domain":"aesch-zh.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch a:smtp1-1.infra.gtg1.ch.abainfra.net -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"242":{"name":"Birmensdorf (ZH)","canton":"Kanton Zürich","domain":"birmensdorf.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.protection.outlook.com include:mailsecurity.swisscom.com include:_spf.rzobt.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"243":{"name":"Dietikon","canton":"Kanton Zürich","domain":"dietikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:193.246.68.28 ip4:193.246.68.29 ip4:193.246.80.28 ip4:193.246.80.29 include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:mail01.refline.ch include:mail02.refline.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"244":{"name":"Geroldswil","canton":"Kanton Zürich","domain":"geroldswil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"245":{"name":"Oberengstringen","canton":"Kanton Zürich","domain":"oberengstringen.ch","mx":["oberengstringen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf1.egeko.ch include:_spf.i-web.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX oberengstringen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"246":{"name":"Oetwil an der Limmat","canton":"Kanton Zürich","domain":"oetwil-limmat.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch include:spf.abxsec.com mx ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"247":{"name":"Schlieren","canton":"Kanton Zürich","domain":"schlieren.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 a mx ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:_spf.i-web.ch include:spf.umantis.com include:mhs.ch include:spf.protection.outlook.com include:sendgrid.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"248":{"name":"Uitikon","canton":"Kanton Zürich","domain":"uitikon.org","mx":["mx.uitikon.org"],"spf":"v=spf1 mx ip4:212.27.79.46 include:_spf.i-web.ch include:spf.privasphere.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"249":{"name":"Unterengstringen","canton":"Kanton Zürich","domain":"unterengstringen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:servicehoster.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"250":{"name":"Urdorf","canton":"Kanton Zürich","domain":"urdorf.ch","mx":["urdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:spf1.refline.ch a:spf2.refline.ch a:mail.obt-services.ch include:_spf.i-web.ch include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX urdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.urdorf.ch CNAME → selector1-urdorf-ch._domainkey.urdorfcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.urdorf.ch CNAME → selector2-urdorf-ch._domainkey.urdorfcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"251":{"name":"Weiningen (ZH)","canton":"Kanton Zürich","domain":"weiningen.ch","mx":["weiningen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX weiningen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.weiningen.ch CNAME → selector1-weiningen-ch._domainkey.weiningencloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.weiningen.ch CNAME → selector2-weiningen-ch._domainkey.weiningencloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"261":{"name":"Zürich","canton":"Kanton Zürich","domain":"zuerich.ch","mx":["mx3.stadt-zuerich.ch","mx4.stadt-zuerich.ch"],"spf":"v=spf1 ip4:194.56.33.0/26 ip4:185.125.165.24/31 ip4:213.52.186.141 ip4:213.52.186.142 ip4:35.214.208.81 ip4:35.214.213.218 ip4:35.214.183.81 ip4:35.214.212.238 include:spf1.zuerich.ch include:spf2.zuerich.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15169 matches google"}]},"291":{"name":"Andelfingen","canton":"Kanton Zürich","domain":"andelfingen.ch","mx":["andelfingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX andelfingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"292":{"name":"Stammheim","canton":"Kanton Zürich","domain":"stammheim.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"293":{"name":"Wädenswil","canton":"","domain":"waedenswil.ch","mx":["ironout01.waedenswil.ch","ironout02.waedenswil.ch"],"spf":"v=spf1 a mx a:mail01.refline.ch a:mail02.refline.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"294":{"name":"Elgg","canton":"Kanton Zürich","domain":"elgg.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"295":{"name":"Horgen","canton":"","domain":"horgen.ch","mx":["mailgw01.zii.ch","mailgw02.zii.ch"],"spf":"v=spf1 include:spf.zii.ch include:_spf.i-web.ch include:_spf.web-solutions.io include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.rexx-systems.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"296":{"name":"Illnau-Effretikon","canton":"Kanton Zürich","domain":"ilef.ch","mx":["ilef-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com include:_partner.ilef.ch ip4:212.71.124.231 ip4:212.71.124.232 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ilef-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ilef.ch CNAME → selector1-ilef-ch._domainkey.ilefcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ilef.ch CNAME → selector2-ilef-ch._domainkey.ilefcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"297":{"name":"Bauma","canton":"Kanton Zürich","domain":"bauma.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch include:spf.protection.outlook.com include:spf.abxsec.com a:smtazh01.abxsec.com mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"298":{"name":"Wiesendangen","canton":"Kanton Zürich","domain":"wiesendangen.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf.abxsec.com include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"301":{"name":"Aarberg","canton":"Kanton Bern","domain":"aarberg.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"302":{"name":"Bargen (BE)","canton":"Kanton Bern","domain":"bargen-be.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 a mx include:spf.customer.swiss-egov.cloud ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"303":{"name":"Grossaffoltern","canton":"Kanton Bern","domain":"grossaffoltern.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"304":{"name":"Kallnach","canton":"Kanton Bern","domain":"kallnach.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 include:spf.protection.cyon.net ip4:80.74.138.230 ip4:194.88.197.38 include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"305":{"name":"Kappelen","canton":"Kanton Bern","domain":"kappelen.ch","mx":["kappelen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kappelen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kappelen.ch CNAME → selector1-kappelen-ch._domainkey.gemeindekappelen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kappelen.ch CNAME → selector2-kappelen-ch._domainkey.gemeindekappelen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"306":{"name":"Lyss","canton":"Kanton Bern","domain":"lyss.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"307":{"name":"Meikirch","canton":"Kanton Bern","domain":"meikirch.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ?all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"309":{"name":"Radelfingen","canton":"Kanton Bern","domain":"radelfingen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 a MX include:spf.crsend.com include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"310":{"name":"Rapperswil (BE)","canton":"Kanton Bern","domain":"rapperswil-be.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"311":{"name":"Schüpfen","canton":"Kanton Bern","domain":"schuepfen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 mx a include:_spf.talus.ch include:_spf.sui-inter.net ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"312":{"name":"Seedorf (BE)","canton":"Kanton Bern","domain":"seedorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"321":{"name":"Aarwangen","canton":"Kanton Bern","domain":"aarwangen.ch","mx":["aarwangen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:213.221.253.87 include:_spf.ch.seppmail.cloud Include:spf.protection.outlook.com a:mail.i-web.ch a:mail.obt-services.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX aarwangen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.aarwangen.ch CNAME → selector1-aarwangen-ch._domainkey.aarwangencloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.aarwangen.ch CNAME → selector2-aarwangen-ch._domainkey.aarwangencloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"322":{"name":"Auswil","canton":"Kanton Bern","domain":"auswil.ch","mx":["auswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX auswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"323":{"name":"Bannwil","canton":"Kanton Bern","domain":"bannwil.ch","mx":["bannwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.tophost.ch include:relay.mailchannels.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bannwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"324":{"name":"Bleienbach","canton":"Kanton Bern","domain":"bleienbach.ch","mx":["bleienbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com +include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bleienbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"325":{"name":"Busswil bei Melchnau","canton":"Kanton Bern","domain":"busswil-bm.ch","mx":["busswilbm-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com +include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX busswilbm-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.busswil-bm.ch CNAME → selector1-busswilbm-ch01i._domainkey.gemeindebusswilmelchnauch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.busswil-bm.ch CNAME → selector2-busswilbm-ch01i._domainkey.gemeindebusswilmelchnauch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"326":{"name":"Gondiswil","canton":"Kanton Bern","domain":"gondiswil.ch","mx":["gondiswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:mail.tcnet.ch a:oa.ip-cloud.ch a:ip-mail01.asp.infopro.ch ip4:213.221.218.169 ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gondiswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"329":{"name":"Langenthal","canton":"Kanton Bern","domain":"langenthal.ch","mx":["langenthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.rzobt.ch include:_spf.ch.seppmail.cloud include:mx.dvbern.ch include:_spf.psm.knowbe4.com a:mail01.refline.ch a:mail02.refline.ch a:satadm.langenthal.ch ip4:213.221.253.82 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX langenthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.langenthal.ch CNAME → selector1-langenthal-ch._domainkey.stadtverwaltunglangenthal.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.langenthal.ch CNAME → selector2-langenthal-ch._domainkey.stadtverwaltunglangenthal.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"331":{"name":"Lotzwil","canton":"Kanton Bern","domain":"lotzwil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"332":{"name":"Madiswil","canton":"Kanton Bern","domain":"madiswil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"333":{"name":"Melchnau","canton":"Kanton Bern","domain":"melchnau.ch","mx":["melchnau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX melchnau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"335":{"name":"Oeschenbach","canton":"Kanton Bern","domain":"oeschenbach.ch","mx":["oeschenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:oeschenbach.ch mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oeschenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oeschenbach.ch CNAME → selector1-oeschenbach-ch._domainkey.gemoesch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oeschenbach.ch CNAME → selector2-oeschenbach-ch._domainkey.gemoesch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"336":{"name":"Reisiswil","canton":"Kanton Bern","domain":"reisiswil.ch","mx":["reisiswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX reisiswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"337":{"name":"Roggwil (BE)","canton":"Kanton Bern","domain":"roggwil.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a a:remote.roggwil.ch include:mx.dvbern.ch include:spf.mail.balzcloud.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"338":{"name":"Rohrbach","canton":"Kanton Bern","domain":"rohrbach-be.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:_spf.hex.pcetera.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"hornetsecurity"},"339":{"name":"Rohrbachgraben","canton":"Kanton Bern","domain":"rohrbachgraben.ch","mx":["rohrbachgraben-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf.gilomen.org -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rohrbachgraben-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"340":{"name":"Rütschelen","canton":"Kanton Bern","domain":"ruetschelen.ch","mx":["ruetschelen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.48.58.75 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ruetschelen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"341":{"name":"Schwarzhäusern","canton":"Kanton Bern","domain":"schwarzhaeusern.ch","mx":["schwarzhaeusern-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX schwarzhaeusern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"342":{"name":"Thunstetten","canton":"Kanton Bern","domain":"thunstetten.ch","mx":["thunstetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:194.56.218.155 ip4:194.56.218.156 include:_spf.i-web.ch include:mx.dvbern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX thunstetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.thunstetten.ch CNAME → selector1-thunstetten-ch._domainkey.ewgthunstetten.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.thunstetten.ch CNAME → selector2-thunstetten-ch._domainkey.ewgthunstetten.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"344":{"name":"Ursenbach","canton":"Kanton Bern","domain":"ursenbach.ch","mx":["ursenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ursenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"345":{"name":"Wynau","canton":"Kanton Bern","domain":"wynau.ch","mx":["mail.wynau.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a ip4:213.221.240.202 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"351":{"name":"Bern","canton":"Kanton Bern","domain":"bern.ch","mx":["bern-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:193.247.33.1/32 ip4:193.247.33.3/32 ip4:193.247.35.27/32 ip4:92.42.184.212/32 ip4:92.42.184.216/32 ip4:138.188.166.160/27 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX bern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bern.ch CNAME → selector1-bern-ch._domainkey.bernch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bern.ch CNAME → selector2-bern-ch._domainkey.bernch.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"352":{"name":"Bolligen","canton":"Kanton Bern","domain":"bolligen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a mx ip4:212.243.26.162 include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"353":{"name":"Bremgarten bei Bern","canton":"Kanton Bern","domain":"3047.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 a:smtp.iz-net.ch ip4:80.74.142.120 include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"354":{"name":"Kirchlindach","canton":"Kanton Bern","domain":"kirchlindach.ch","mx":["kirchlindach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kirchlindach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kirchlindach.ch CNAME → selector1-kirchlindach-ch._domainkey.gemeindekirchlindach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kirchlindach.ch CNAME → selector2-kirchlindach-ch._domainkey.gemeindekirchlindach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"355":{"name":"Köniz","canton":"Kanton Bern","domain":"koeniz.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 a:smtp.trainingplus.ch mx ip4:194.56.218.181 ip4:194.56.218.131 ip4:193.135.56.6 include:spf.mail.weloveyou.systems include:spf.imc-hosting.com include:spf.abxsec.com include:_spf.tophost.ch include:spf.iz-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"356":{"name":"Muri bei Bern","canton":"Kanton Bern","domain":"muri-guemligen.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 a:smtp.iz-net.ch ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"357":{"name":"Oberbalm","canton":"Kanton Bern","domain":"oberbalm.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a:mrmuensingen01.muensingen.ch include:spf.protection.outlook.com include:_spf.talus.ch include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"}]},"358":{"name":"Stettlen","canton":"Kanton Bern","domain":"stettlen.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mrmuensingen01.muensingen.ch"],"spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch. include:_spf.talus.ch. include:_spf.i-web.ch. -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"359":{"name":"Vechigen","canton":"Kanton Bern","domain":"vechigen.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mail.vechigen.ch"],"spf":"v=spf1 mx ip4:212.243.26.162 a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"360":{"name":"Wohlen bei Bern","canton":"Kanton Bern","domain":"wohlen-be.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 a mx ip4:62.2.105.192/29 ip4:178.174.41.248/30 include:_spf_eucentral1.prod.hydra.sophos.com include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"sophos"},"361":{"name":"Zollikofen","canton":"Kanton Bern","domain":"zollikofen.ch","mx":["zollikofen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:62.2.84.176/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zollikofen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"362":{"name":"Ittigen","canton":"Kanton Bern","domain":"ittigen.ch","mx":["mail.ittigen.ch"],"spf":"v=spf1 mx mx:hin.ch ip4:194.209.116.36 include:_spf.i-web.ch include:spf.umantis.com include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"dkim","detail":"DKIM selector1._domainkey.ittigen.ch CNAME → selector1-ittigen-ch._domainkey.ittigench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ittigen.ch CNAME → selector2-ittigen-ch._domainkey.ittigench.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"363":{"name":"Ostermundigen","canton":"Kanton Bern","domain":"ostermundigen.ch","mx":["ostermundigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:212.243.176.142 include:spf.abacuscity.ch mx:talus.ch a:mail.codx.ch include:spf.protection.outlook.com include:spf.psm.knowbe4.com ip4:193.135.144.129 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ostermundigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"371":{"name":"Biel/Bienne","canton":"Kanton Bern","domain":"biel-bienne.ch","mx":["mx1.biel-bienne.ch","mx2.biel-bienne.ch"],"spf":"v=spf1 mx ip4:194.209.196.58 ip4:194.209.196.59 include:spf.umantis.com include:spf1.ne.ch include:spf.protection.outlook.com a:mail.quorumsoftware.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.biel-bienne.ch CNAME → selector1-bielbienne-ch01b._domainkey.bielbienne.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.biel-bienne.ch CNAME → selector2-bielbienne-ch01b._domainkey.bielbienne.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"372":{"name":"Evilard","canton":"Kanton Bern","domain":"evilard.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx include:_spf.talus.ch include:mx.dvbern.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"381":{"name":"Arch","canton":"Kanton Bern","domain":"arch-be.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"382":{"name":"Büetigen","canton":"Kanton Bern","domain":"bueetigen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"383":{"name":"Büren an der Aare","canton":"Kanton Bern","domain":"bueren.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"385":{"name":"Diessbach bei Büren","canton":"Kanton Bern","domain":"diessbach.ch","mx":["diessbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX diessbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"386":{"name":"Dotzigen","canton":"Kanton Bern","domain":"dotzigen.ch","mx":["dotzigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:smtp.iz-net.ch ip4:80.74.142.120 ip4:91.212.152.32 include:spf.protection.outlook.com a mx include:_spf.sui-inter.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dotzigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"387":{"name":"Lengnau (BE)","canton":"Kanton Bern","domain":"lengnau.ch","mx":["lengnau-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:securemail.lengnau.ch ip4:213.221.215.137 include:spf.protection.outlook.com include:spf.webstyle.ch include:_spf.sui-inter.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lengnau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"388":{"name":"Leuzigen","canton":"Kanton Bern","domain":"leuzigen.ch","mx":["leuzigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX leuzigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"389":{"name":"Meienried","canton":"Kanton Bern","domain":"meienried.ch","mx":["meienried-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX meienried-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"390":{"name":"Meinisberg","canton":"Kanton Bern","domain":"meinisberg.ch","mx":["mail.meinisberg.ch"],"spf":"v=spf1 include:_spf.smtp.com include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"391":{"name":"Oberwil bei Büren","canton":"Kanton Bern","domain":"oberwil-bueren.ch","mx":["oberwilbueren-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberwilbueren-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"392":{"name":"Pieterlen","canton":"Kanton Bern","domain":"pieterlen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"393":{"name":"Rüti bei Büren","canton":"Kanton Bern","domain":"ruetibeibueren.ch","mx":["ruetibeibueren-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.webstyle.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ruetibeibueren-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"394":{"name":"Wengi","canton":"Kanton Bern","domain":"wengi-be.ch","mx":["wengibe-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wengibe-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"401":{"name":"Aefligen","canton":"Kanton Bern","domain":"aefligen.ch","mx":["aefligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX aefligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"402":{"name":"Alchenstorf","canton":"Kanton Bern","domain":"alchenstorf.ch","mx":["alchenstorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX alchenstorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"403":{"name":"Bäriswil","canton":"Kanton Bern","domain":"baeriswil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"404":{"name":"Burgdorf","canton":"Kanton Bern","domain":"burgdorf.ch","mx":["burgdorf-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:spf.tmes.trendmicro.com include:_spf.talus.ch include:spf.webstyle.ch include:spf.abacuscity.ch include:spf.zic-network.ch include:_spf.ch.seppmail.cloud ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"405":{"name":"Ersigen","canton":"Kanton Bern","domain":"ersigen.ch","mx":["ersigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf_exoscale.4teamwork.ch include:spf.protection.outlook.com ip4:212.103.64.0/19 ip4:193.43.183.0/24 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ersigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"406":{"name":"Hasle bei Burgdorf","canton":"Kanton Bern","domain":"hasle.ch","mx":["hasle-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX hasle-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"407":{"name":"Heimiswil","canton":"Kanton Bern","domain":"heimiswil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx a:mail.heimiswil.ch ip4:146.4.53.246 ip4:77.75.112.17 ip4:77.75.112.37 include:_spf.sui-inter.net -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"408":{"name":"Hellsau","canton":"Kanton Bern","domain":"hellsau.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:egeko.ch include:_spf.i-web.ch include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"409":{"name":"Hindelbank","canton":"Kanton Bern","domain":"hindelbank.ch","mx":["burgdorf.in.tmes.trendmicro.eu"],"spf":"v=spf1 a mx include:_spf.talus.ch include:spf.tmes.trendmicro.com ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"410":{"name":"Höchstetten","canton":"Kanton Bern","domain":"hoechstetten.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:_spf.i-web.ch include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"411":{"name":"Kernenried","canton":"Kanton Bern","domain":"kernenried.ch","mx":["mail.kernenried.ch"],"spf":"v=spf1 a:kernenried.ch mx ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"412":{"name":"Kirchberg (BE)","canton":"Kanton Bern","domain":"kirchberg-be.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx ip4:213.221.218.63 include:_spf.i-web.ch include:mailrelay.ecolize.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"413":{"name":"Koppigen","canton":"Kanton Bern","domain":"koppigen.ch","mx":["koppigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX koppigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"414":{"name":"Krauchthal","canton":"Kanton Bern","domain":"krauchthal.ch","mx":["krauchthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch a:mx.tas.activeguard.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX krauchthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.krauchthal.ch CNAME → selector1-krauchthal-ch._domainkey.gemeindekrauchthal.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.krauchthal.ch CNAME → selector2-krauchthal-ch._domainkey.gemeindekrauchthal.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}]},"415":{"name":"Lyssach","canton":"Kanton Bern","domain":"lyssach.ch","mx":["lyssach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lyssach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"418":{"name":"Oberburg","canton":"Kanton Bern","domain":"oberburg.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"420":{"name":"Rüdtligen-Alchenflüh","canton":"Kanton Bern","domain":"rual.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"421":{"name":"Rumendingen","canton":"Kanton Bern","domain":"wynigen.ch","mx":["wynigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:remote.wynigen.ch a:webext02.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wynigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"422":{"name":"Rüti bei Lyssach","canton":"Kanton Bern","domain":"ruetibeilyssach.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"423":{"name":"Willadingen","canton":"Kanton Bern","domain":"koppigen.ch","mx":["koppigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX koppigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"424":{"name":"Wynigen","canton":"Kanton Bern","domain":"wynigen.ch","mx":["wynigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:remote.wynigen.ch a:webext02.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wynigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"431":{"name":"Corgémont","canton":"Kanton Bern","domain":"corgemont.ch","mx":["corgemont-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:10.4.36.0/24 ip4:83.166.143.0/24 ip4:164.128.163.171 ip4:185.48.144.218 include:spf.infomaniak.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX corgemont-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.corgemont.ch CNAME → selector1-corgemont-ch._domainkey.corgemont.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.corgemont.ch CNAME → selector2-corgemont-ch._domainkey.corgemont.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"432":{"name":"Cormoret","canton":"Kanton Bern","domain":"cormoret.ch","mx":["cormoret-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cormoret-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"433":{"name":"Cortébert","canton":"Kanton Bern","domain":"cortebert.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"434":{"name":"Courtelary","canton":"Kanton Bern","domain":"courtelary.ch","mx":["courtelary-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX courtelary-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"435":{"name":"La Ferrière","canton":"Kanton Bern","domain":"laferriere.ch","mx":["laferriere-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.34.136.220 ip4:212.147.29.100 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX laferriere-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"437":{"name":"Mont-Tramelan","canton":"Kanton Bern","domain":"mont-tramelan.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 ?all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"438":{"name":"Orvin","canton":"Kanton Bern","domain":"orvin.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 ip4:46.140.125.162 include:mx.dvbern.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"hornetsecurity"},"441":{"name":"Renan (BE)","canton":"Kanton Bern","domain":"renan.ch","mx":["renan-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX renan-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.renan.ch CNAME → selector1-renan-ch._domainkey.renanberne.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.renan.ch CNAME → selector2-renan-ch._domainkey.renanberne.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"442":{"name":"Romont (BE)","canton":"Kanton Bern","domain":"romont-jb.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"443":{"name":"Saint-Imier","canton":"Kanton Bern","domain":"saint-imier.ch","mx":["mail.cleanmail.ch"],"spf":"v=spf1 ip4:62.2.112.210 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"cleanmail"},"444":{"name":"Sonceboz-Sombeval","canton":"Kanton Bern","domain":"sonceboz.ch","mx":["sonceboz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:185.48.144.218 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX sonceboz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"445":{"name":"Sonvilier","canton":"Kanton Bern","domain":"sonvilier.ch","mx":["sonvilier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sonvilier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.sonvilier.ch CNAME → selector1-sonvilier-ch._domainkey.sonvilier.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.sonvilier.ch CNAME → selector2-sonvilier-ch._domainkey.sonvilier.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"446":{"name":"Tramelan","canton":"Kanton Bern","domain":"tramelan.ch","mx":["mx140.zline.ch","mx3.zline.ch","mx30.zline.ch"],"spf":"v=spf1 ip4:83.166.134.44 ip4:109.164.210.48/28 include:spf.zline.ch include:spf.mandrillapp.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"448":{"name":"Villeret","canton":"Kanton Bern","domain":"villeret.ch","mx":["villeret-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX villeret-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.villeret.ch CNAME → selector1-villeret-ch._domainkey.villeret.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.villeret.ch CNAME → selector2-villeret-ch._domainkey.villeret.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"449":{"name":"Sauge","canton":"Kanton Bern","domain":"sauge-jb.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"450":{"name":"Péry-La Heutte","canton":"Kanton Bern","domain":"pery-laheutte.ch","mx":["mx140.zline.ch","mx2.zline.ch","mx20.zline.ch"],"spf":"v=spf1 ip4:185.48.146.91 ip4:185.48.144.218 include:spf.protection.outlook.com include:spf.zline.ch include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"491":{"name":"Brüttelen","canton":"Kanton Bern","domain":"bruettelen.ch","mx":["bruettelen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bruettelen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"492":{"name":"Erlach","canton":"Kanton Bern","domain":"erlach.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"493":{"name":"Finsterhennen","canton":"Kanton Bern","domain":"finsterhennen.ch","mx":["finsterhennen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX finsterhennen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"494":{"name":"Gals","canton":"Kanton Bern","domain":"gals.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 a mx include:spf.customer.swiss-egov.cloud ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"495":{"name":"Gampelen","canton":"Kanton Bern","domain":"gampelen.ch","mx":["gampelen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gampelen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"496":{"name":"Ins","canton":"Kanton Bern","domain":"ins.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"497":{"name":"Lüscherz","canton":"Kanton Bern","domain":"luescherz.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:88.99.160.53 -all -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"498":{"name":"Müntschemier","canton":"Kanton Bern","domain":"muentschemier.ch","mx":["muentschemier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:tiberius.sui-inter.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX muentschemier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"499":{"name":"Siselen","canton":"Kanton Bern","domain":"siselen.ch","mx":["siselen-ch.mail.eo.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"500":{"name":"Treiten","canton":"Kanton Bern","domain":"treiten.ch","mx":["treiten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX treiten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"501":{"name":"Tschugg","canton":"Kanton Bern","domain":"tschugg.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx ip4:88.99.160.53 include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"502":{"name":"Vinelz","canton":"Kanton Bern","domain":"vinelz.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:88.99.160.53 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"533":{"name":"Bätterkinden","canton":"Kanton Bern","domain":"baetterkinden.ch","mx":["baetterkinden-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com include:_spf.sui-inter.net +mx ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX baetterkinden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"535":{"name":"Deisswil bei Münchenbuchsee","canton":"Kanton Bern","domain":"deisswil.ch","mx":["deisswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com include:spf.cloudrexx.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX deisswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"538":{"name":"Fraubrunnen","canton":"Kanton Bern","domain":"fraubrunnen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"540":{"name":"Jegenstorf","canton":"Kanton Bern","domain":"jegenstorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a mx a:mail.codx.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"541":{"name":"Iffwil","canton":"Kanton Bern","domain":"iffwil.ch","mx":["iffwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX iffwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"543":{"name":"Mattstetten","canton":"Kanton Bern","domain":"mattstetten.ch","mx":["mattstetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mattstetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.mattstetten.ch CNAME → selector1-mattstetten-ch._domainkey.mattstetten.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.mattstetten.ch CNAME → selector2-mattstetten-ch._domainkey.mattstetten.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"544":{"name":"Moosseedorf","canton":"Kanton Bern","domain":"moosseedorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"546":{"name":"Münchenbuchsee","canton":"Kanton Bern","domain":"muenchenbuchsee.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"551":{"name":"Urtenen-Schönbühl","canton":"Kanton Bern","domain":"urtenen-schoenbuehl.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"552":{"name":"Utzenstorf","canton":"Kanton Bern","domain":"utzenstorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.sui-inter.net +mx ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"553":{"name":"Wiggiswil","canton":"Kanton Bern","domain":"wiggiswil.ch","mx":["wiggiswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wiggiswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"554":{"name":"Wiler bei Utzenstorf","canton":"Kanton Bern","domain":"wiler.ch","mx":["wiler-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wiler-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"556":{"name":"Zielebach","canton":"Kanton Bern","domain":"zielebach.ch","mx":["mx1.jimdo.com","mx2.jimdo.com"],"spf":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"557":{"name":"Zuzwil (BE)","canton":"Kanton Bern","domain":"zuzwil-be.ch","mx":["zuzwilbe-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zuzwilbe-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"561":{"name":"Adelboden","canton":"Kanton Bern","domain":"3715.ch","mx":["3715-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX 3715-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.3715.ch CNAME → selector1-3715-ch._domainkey.3715.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.3715.ch CNAME → selector2-3715-ch._domainkey.3715.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"562":{"name":"Aeschi bei Spiez","canton":"Kanton Bern","domain":"aeschi.ch","mx":["aeschi-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +a:scorpius.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX aeschi-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.aeschi.ch CNAME → selector1-aeschi-ch._domainkey.aeschibspiez.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.aeschi.ch CNAME → selector2-aeschi-ch._domainkey.aeschibspiez.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"563":{"name":"Frutigen","canton":"Kanton Bern","domain":"frutigen.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 redirect=frutigen.ch.spf.hornetdmarc.com","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"hornetsecurity"},"564":{"name":"Kandergrund","canton":"Kanton Bern","domain":"kandergrund.ch","mx":["kandergrund-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:_spf.ch.seppmail.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kandergrund.ch CNAME → selector1-kandergrund-ch._domainkey.kandergrund.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kandergrund.ch CNAME → selector2-kandergrund-ch._domainkey.kandergrund.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"565":{"name":"Kandersteg","canton":"Kanton Bern","domain":"gemeindekandersteg.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 include:_spf.pcetera.ch include:spf.mandrillapp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"566":{"name":"Krattigen","canton":"Kanton Bern","domain":"krattigen.ch","mx":["krattigen-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:194.126.200.0/24 ip4:149.126.0.0/21 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.krattigen.ch CNAME → selector1-krattigen-ch._domainkey.krattigen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.krattigen.ch CNAME → selector2-krattigen-ch._domainkey.krattigen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"567":{"name":"Reichenbach im Kandertal","canton":"Kanton Bern","domain":"reichenbach.ch","mx":["reichenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:spf.trendhosting-net.ch include:spf.protection.outlook.com include:_spf.talus.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX reichenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.reichenbach.ch CNAME → selector1-reichenbach-ch._domainkey.gdereichenbach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.reichenbach.ch CNAME → selector2-reichenbach-ch._domainkey.gdereichenbach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"571":{"name":"Beatenberg","canton":"Kanton Bern","domain":"beatenberg.ch","mx":["beatenberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX beatenberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.beatenberg.ch CNAME → selector1-beatenberg-ch._domainkey.beatenbergbe.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.beatenberg.ch CNAME → selector2-beatenberg-ch._domainkey.beatenbergbe.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"572":{"name":"Bönigen","canton":"Kanton Bern","domain":"boenigen.ch","mx":["boenigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boenigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.boenigen.ch CNAME → selector1-boenigen-ch._domainkey.gemeindeverwaltungboenigen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.boenigen.ch CNAME → selector2-boenigen-ch._domainkey.gemeindeverwaltungboenigen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"573":{"name":"Brienz (BE)","canton":"Kanton Bern","domain":"brienz.ch","mx":["brienz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brienz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"574":{"name":"Brienzwiler","canton":"Kanton Bern","domain":"brienzwiler.ch","mx":["brienzwiler-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brienzwiler-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"575":{"name":"Därligen","canton":"Kanton Bern","domain":"daerligen.ch","mx":["daerligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.150.248.204 include:_spf.tophost.ch include:relay.mailchannels.net +include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":89.0,"classification_signals":[{"kind":"mx","detail":"MX daerligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"576":{"name":"Grindelwald","canton":"Kanton Bern","domain":"gemeinde-grindelwald.ch","mx":["gemeindegrindelwald-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.webstyle.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindegrindelwald-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gemeinde-grindelwald.ch CNAME → selector1-gemeindegrindelwald-ch02b._domainkey.gemeindegrindelwald.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gemeinde-grindelwald.ch CNAME → selector2-gemeindegrindelwald-ch02b._domainkey.gemeindegrindelwald.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"577":{"name":"Gsteigwiler","canton":"Kanton Bern","domain":"gsteigwiler.ch","mx":["gsteigwiler-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gsteigwiler-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gsteigwiler.ch CNAME → selector1-gsteigwiler-ch._domainkey.gsteigwilerch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gsteigwiler.ch CNAME → selector2-gsteigwiler-ch._domainkey.gsteigwilerch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"578":{"name":"Gündlischwand","canton":"Kanton Bern","domain":"guendlischwand.ch","mx":["guendlischwand-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX guendlischwand-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.guendlischwand.ch CNAME → selector1-guendlischwand-ch._domainkey.guendlischwand.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.guendlischwand.ch CNAME → selector2-guendlischwand-ch._domainkey.guendlischwand.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"579":{"name":"Habkern","canton":"Kanton Bern","domain":"habkern.ch","mx":["habkern-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX habkern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"580":{"name":"Hofstetten bei Brienz","canton":"Kanton Bern","domain":"hofstetten-ballenberg.ch","mx":["mx1.jimdo.com","mx2.jimdo.com"],"spf":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"581":{"name":"Interlaken","canton":"Kanton Bern","domain":"interlaken.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"582":{"name":"Iseltwald","canton":"Kanton Bern","domain":"iseltwald.ch","mx":["iseltwald-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX iseltwald-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"584":{"name":"Lauterbrunnen","canton":"Kanton Bern","domain":"lauterbrunnen.ch","mx":["lauterbrunnen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lauterbrunnen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.lauterbrunnen.ch CNAME → selector1-lauterbrunnen-ch._domainkey.lauterbrunnen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.lauterbrunnen.ch CNAME → selector2-lauterbrunnen-ch._domainkey.lauterbrunnen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"585":{"name":"Leissigen","canton":"Kanton Bern","domain":"leissigen.ch","mx":["leissigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leissigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"586":{"name":"Lütschental","canton":"Kanton Bern","domain":"luetschental.ch","mx":["luetschental-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX luetschental-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"587":{"name":"Matten bei Interlaken","canton":"Kanton Bern","domain":"matten.ch","mx":["matten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX matten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.matten.ch CNAME → selector1-matten-ch._domainkey.matten.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.matten.ch CNAME → selector2-matten-ch._domainkey.matten.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"588":{"name":"Niederried bei Interlaken","canton":"Kanton Bern","domain":"niederried-be.ch","mx":["niederriedbe-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX niederriedbe-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"589":{"name":"Oberried am Brienzersee","canton":"Kanton Bern","domain":"oberried.ch","mx":["oberried.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":60.0,"classification_signals":[]},"590":{"name":"Ringgenberg (BE)","canton":"Kanton Bern","domain":"ringgenberg.ch","mx":["ringgenberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ringgenberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ringgenberg.ch CNAME → selector1-ringgenberg-ch._domainkey.ringgenbergch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ringgenberg.ch CNAME → selector2-ringgenberg-ch._domainkey.ringgenbergch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"591":{"name":"Saxeten","canton":"Kanton Bern","domain":"saxeten.ch","mx":["saxeten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX saxeten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"592":{"name":"Schwanden bei Brienz","canton":"Kanton Bern","domain":"schwandenbrienz.ch","mx":["schwandenbrienz-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schwandenbrienz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"593":{"name":"Unterseen","canton":"Kanton Bern","domain":"unterseen.ch","mx":["mx.gnets.ch"],"spf":"v=spf1 a:smtp.gnets.ch ip4:213.202.32.4 ip4:213.202.32.6 ip4:213.202.32.8 ip4:188.245.229.219 ip4:62.116.178.113 ip4:62.116.178.110 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 13030 is Swiss ISP: Init7"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"594":{"name":"Wilderswil","canton":"Kanton Bern","domain":"wilderswil.ch","mx":["wilderswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:wilderswil.ch a:srv113.4youhosting.ch ip4:62.116.178.113 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wilderswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wilderswil.ch CNAME → selector1-wilderswil-ch._domainkey.wilderswil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wilderswil.ch CNAME → selector2-wilderswil-ch._domainkey.wilderswil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"602":{"name":"Arni (BE)","canton":"Kanton Bern","domain":"arnibe.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.x-mailer.de include:spf2.x-mailer.de include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"603":{"name":"Biglen","canton":"Kanton Bern","domain":"biglen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 ip4:193.5.124.38 ip4:212.243.26.162 include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"605":{"name":"Bowil","canton":"Kanton Bern","domain":"bowil.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 mx include:spf.zic-network.ch include:_spf.pcetera.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"606":{"name":"Brenzikofen","canton":"Kanton Bern","domain":"brenzikofen.ch","mx":["mail.brenzikofen.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"607":{"name":"Freimettigen","canton":"Kanton Bern","domain":"freimettigen.ch","mx":["freimettigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX freimettigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"608":{"name":"Grosshöchstetten","canton":"Kanton Bern","domain":"grosshoechstetten.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch include:mx.dvbern.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"609":{"name":"Häutligen","canton":"Kanton Bern","domain":"haeutligen.ch","mx":["haeutligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX haeutligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"610":{"name":"Herbligen","canton":"Kanton Bern","domain":"herbligen.ch","mx":["herbligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX herbligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.herbligen.ch CNAME → selector1-herbligen-ch._domainkey.herbligengemeinde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.herbligen.ch CNAME → selector2-herbligen-ch._domainkey.herbligengemeinde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"611":{"name":"Kiesen","canton":"Kanton Bern","domain":"kiesen.ch","mx":["kiesen1.cleanmail.ch","kiesen2.cleanmail.ch"],"spf":"v=spf1 include:spf.protection.outlook.com include:_cmspf.cleanmail.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kiesen.ch CNAME → selector1-kiesen-ch._domainkey.kiesench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kiesen.ch CNAME → selector2-kiesen-ch._domainkey.kiesench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"cleanmail"},"612":{"name":"Konolfingen","canton":"Kanton Bern","domain":"konolfingen.ch","mx":["konolfingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.41.204.242 ip4:62.167.19.241 ip4:81.62.201.86 a:mailout.computech.ch include:spf-de.emailsignatures365.com include:spf.protection.outlook.com include:_spf.talus.ch +a +mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX konolfingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.konolfingen.ch CNAME → selector1-konolfingen-ch._domainkey.gemkon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.konolfingen.ch CNAME → selector2-konolfingen-ch._domainkey.gemkon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"613":{"name":"Landiswil","canton":"Kanton Bern","domain":"landiswil.ch","mx":["landiswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:ip-nep2016.asp.infopro.ch ip4:80.243.212.107 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX landiswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.landiswil.ch CNAME → selector1-landiswil-ch._domainkey.landiswilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.landiswil.ch CNAME → selector2-landiswil-ch._domainkey.landiswilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"614":{"name":"Linden","canton":"Kanton Bern","domain":"linden.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"615":{"name":"Mirchel","canton":"Kanton Bern","domain":"mirchel.ch","mx":["mail.evohost.ch"],"spf":"v=spf1 a mx a:mail.tcnet.ch ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.mirchel.ch CNAME → selector1-mirchel-ch._domainkey.gemeindemirchel.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.mirchel.ch CNAME → selector2-mirchel-ch._domainkey.gemeindemirchel.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"616":{"name":"Münsingen","canton":"Kanton Bern","domain":"muensingen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a:mrmuensingen01.muensingen.ch mx a:incms00.incms.com a:incms01.incms.com a:incms02.incms.com a:incms03.incms.com a:incms04.incms.com include:spf.protection.outlook.com include:_spf.talus.ch include:spf.mailjet.com ip4:116.203.46.102 -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"617":{"name":"Niederhünigen","canton":"Kanton Bern","domain":"niederhuenigen.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"619":{"name":"Oberdiessbach","canton":"Kanton Bern","domain":"oberdiessbach.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 mx mx:mx.mail.33084.hostserv.eu mx:mxpool.de2.hostedoffice.ag include:spf.hornetsecurity.com ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"620":{"name":"Oberthal","canton":"Kanton Bern","domain":"oberthal.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 include:_spf.talus.ch include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"622":{"name":"Oppligen","canton":"Kanton Bern","domain":"oppligen.ch","mx":["oppligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX oppligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"623":{"name":"Rubigen","canton":"Kanton Bern","domain":"rubigen.swiss","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a mx include:sendgrid.net include:_spf.talus.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"626":{"name":"Walkringen","canton":"Kanton Bern","domain":"walkringen.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mrmuensingen01.muensingen.ch"],"spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch include:spf.zic-network.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"627":{"name":"Worb","canton":"Kanton Bern","domain":"worb.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"628":{"name":"Zäziwil","canton":"Kanton Bern","domain":"zaeziwil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mrmuensingen01.muensingen.ch"],"spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"629":{"name":"Oberhünigen","canton":"Kanton Bern","domain":"oberhuenigen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"630":{"name":"Allmendingen","canton":"Kanton Bern","domain":"allmendingen.ch","mx":["allmendingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX allmendingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"632":{"name":"Wichtrach","canton":"Kanton Bern","domain":"wichtrach.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 ip4:212.243.26.162 mx:talus.ch a:incms00.incms.com a:incms01.incms.com a:incms02.incms.com a:incms03.incms.com a:incms04.incms.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"662":{"name":"Ferenbalm","canton":"Kanton Bern","domain":"ferenbalm.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"663":{"name":"Frauenkappelen","canton":"Kanton Bern","domain":"frauenkappelen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 Include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"665":{"name":"Gurbrü","canton":"Kanton Bern","domain":"gurbrue.ch","mx":["gurbrue-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gurbrue-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gurbrue.ch CNAME → selector1-gurbrue-ch._domainkey.gurbrue.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gurbrue.ch CNAME → selector2-gurbrue-ch._domainkey.gurbrue.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"666":{"name":"Kriechenwil","canton":"Kanton Bern","domain":"kriechenwil.ch","mx":["kriechenwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kriechenwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"667":{"name":"Laupen","canton":"Kanton Bern","domain":"laupen-be.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx include:_spf.talus.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"668":{"name":"Mühleberg","canton":"Kanton Bern","domain":"muehleberg.ch","mx":["mailbackup.muehleberg.ch","utm.muehleberg.ch"],"spf":"v=spf1 mx a:schulemuehleberg.ch a:muehleberg.ch include:_spf.talus.ch include:_spf_eucentral1.prod.hydra.sophos.com -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"669":{"name":"Münchenwiler","canton":"Kanton Bern","domain":"muenchenwiler.ch","mx":["mx01.tophost.ch","mx02.tophost.ch"],"spf":"v=spf1 ip4:46.232.178.29 +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"670":{"name":"Neuenegg","canton":"Kanton Bern","domain":"neuenegg.ch","mx":["neuenegg-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.140.147.32/30 include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX neuenegg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.neuenegg.ch CNAME → selector1-neuenegg-ch._domainkey.neuenegg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.neuenegg.ch CNAME → selector2-neuenegg-ch._domainkey.neuenegg.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"671":{"name":"Wileroltigen","canton":"Kanton Bern","domain":"wileroltigen.ch","mx":["wileroltigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wileroltigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wileroltigen.ch CNAME → selector1-wileroltigen-ch._domainkey.gemeindewileroltigen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wileroltigen.ch CNAME → selector2-wileroltigen-ch._domainkey.gemeindewileroltigen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"681":{"name":"Belprahon","canton":"Kanton Bern","domain":"belprahon.ch","mx":["belprahon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX belprahon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"683":{"name":"Champoz","canton":"Kanton Bern","domain":"champoz.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 ip4:212.71.120.144/28 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"687":{"name":"Corcelles (BE)","canton":"Kanton Bern","domain":"corcelles-be.ch","mx":["corcellesbe-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:sirius.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX corcellesbe-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"690":{"name":"Court","canton":"Kanton Bern","domain":"court.ch","mx":["court-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX court-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"691":{"name":"Crémines","canton":"Kanton Bern","domain":"cremines.ch","mx":["mail.cremines.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch include:_spf.google.com +mx +a -all","provider":"google","category":"us-cloud","classification_confidence":52.0,"classification_signals":[{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"692":{"name":"Eschert","canton":"Kanton Bern","domain":"eschert.ch","mx":["mail.eschert.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"694":{"name":"Grandval","canton":"Kanton Bern","domain":"grandval.ch","mx":["grandval-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grandval-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.grandval.ch CNAME → selector1-grandval-ch._domainkey.grandval.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.grandval.ch CNAME → selector2-grandval-ch._domainkey.grandval.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"696":{"name":"Loveresse","canton":"Kanton Bern","domain":"loveresse.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"701":{"name":"Perrefitte","canton":"Kanton Bern","domain":"perrefitte.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:spf.infomaniak.ch include:spf.protection.outlook.com include:evok.ch ip4:212.71.120.144/28 -all ","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"}]},"703":{"name":"Reconvilier","canton":"Kanton Bern","domain":"reconvilier.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 ip4:128.65.195.253 mx a ip4:185.98.28.32 include:mail.infomaniak.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"704":{"name":"Roches (BE)","canton":"Kanton Bern","domain":"roches.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch a:exomail.sirius.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"706":{"name":"Saicourt","canton":"Kanton Bern","domain":"saicourt.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"707":{"name":"Saules (BE)","canton":"Kanton Bern","domain":"saules-be.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"708":{"name":"Schelten","canton":"Kanton Bern","domain":"gemeinde-schelten.ch","mx":["gemeindeschelten-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindeschelten-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"709":{"name":"Seehof","canton":"Kanton Bern","domain":"gemeindeseehof.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"711":{"name":"Sorvilier","canton":"Kanton Bern","domain":"sorvilier.ch","mx":["mail.sorvilier.ch"],"spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"713":{"name":"Tavannes","canton":"Kanton Bern","domain":"tavannes.ch","mx":["tavannes-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tavannes-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"715":{"name":"Rebévelier","canton":"Kanton Bern","domain":"bluewin.ch","mx":["mx01.p.bluenet.ch","mx02.p.bluenet.ch"],"spf":"v=spf1 redirect=_spf.bluewin.ch","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"716":{"name":"Petit-Val","canton":"Kanton Bern","domain":"petit-val.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"717":{"name":"Valbirse","canton":"Kanton Bern","domain":"valbirse.ch","mx":["mx140.zline.ch","mx3.zline.ch","mx30.zline.ch"],"spf":"v=spf1 ip4:81.62.215.50 ip4:136.243.25.75 ip4:185.98.28.121 include:spf.zline.ch mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"723":{"name":"La Neuveville","canton":"Kanton Bern","domain":"neuveville.ch","mx":["neuveville-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:smtp.neuveville.ch a:smtp-pro.vtx.ch a:smtp-as-02.vtxnet.net ip4:46.140.73.146 ip4:194.38.175.142 ip4:185.48.146.63 include:spf.mandrillapp.com ip4:5.148.181.63 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX neuveville-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.neuveville.ch CNAME → selector1-neuveville-ch._domainkey.neuveville.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.neuveville.ch CNAME → selector2-neuveville-ch._domainkey.neuveville.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch"}]},"724":{"name":"Nods","canton":"Kanton Bern","domain":"nods.ch","mx":["nods-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nods-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.nods.ch CNAME → selector1-nods-ch._domainkey.communenods.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.nods.ch CNAME → selector2-nods-ch._domainkey.communenods.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"726":{"name":"Plateau de Diesse","canton":"Kanton Bern","domain":"leplateaudediesse.ch","mx":["leplateaudediesse-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.140.98.102 ip4:185.48.146.134 include:spf.mandrillapp.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leplateaudediesse-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.leplateaudediesse.ch CNAME → selector1-leplateaudediesse-ch._domainkey.leplateaudediesse.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.leplateaudediesse.ch CNAME → selector2-leplateaudediesse-ch._domainkey.leplateaudediesse.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"731":{"name":"Aegerten","canton":"Kanton Bern","domain":"aegerten.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"732":{"name":"Bellmund","canton":"Kanton Bern","domain":"bellmund.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"733":{"name":"Brügg","canton":"Kanton Bern","domain":"bruegg.ch","mx":["bruegg-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.142.162.16/28 a:mail.evard.ch include:_spf.talus.ch include:_spf.sui-inter.net include:spf.mailjet.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bruegg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bruegg.ch CNAME → selector1-bruegg-ch._domainkey.gemeindebruegg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bruegg.ch CNAME → selector2-bruegg-ch._domainkey.gemeindebruegg.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"734":{"name":"Bühl","canton":"Kanton Bern","domain":"buehl.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"735":{"name":"Epsach","canton":"Kanton Bern","domain":"epsach.ch","mx":["mail.epsach.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":60.0,"classification_signals":[]},"736":{"name":"Hagneck","canton":"Kanton Bern","domain":"hagneck.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"737":{"name":"Hermrigen","canton":"Kanton Bern","domain":"hermrigen.ch","mx":["hermrigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.webstyle.ch include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hermrigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"738":{"name":"Jens","canton":"Kanton Bern","domain":"jens.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 a mx ptr include:_spf.pcetera.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"hornetsecurity"},"739":{"name":"Ipsach","canton":"Kanton Bern","domain":"ipsach.ch","mx":["ipsach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com mx:talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ipsach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"740":{"name":"Ligerz","canton":"Kanton Bern","domain":"ligerz.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 +a +mx +a:rlx3.loginserver.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"741":{"name":"Merzligen","canton":"Kanton Bern","domain":"merzligen.ch","mx":["merzligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.47.190.0/24 ip4:80.74.156.101 ip4:213.142.191.105 ip4:80.74.156.100 ip4:94.126.17.100 ip4:94.126.17.102 ip4:94.126.17.101 ip4:94.126.17.104 include:spf.protection.outlook.com include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX merzligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.merzligen.ch CNAME → selector1-merzligen-ch._domainkey.merzligench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.merzligen.ch CNAME → selector2-merzligen-ch._domainkey.merzligench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"742":{"name":"Mörigen","canton":"Kanton Bern","domain":"moerigen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"743":{"name":"Nidau","canton":"Kanton Bern","domain":"nidau.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"744":{"name":"Orpund","canton":"Kanton Bern","domain":"orpund.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"745":{"name":"Port","canton":"Kanton Bern","domain":"port.ch","mx":["port-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX port-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"746":{"name":"Safnern","canton":"Kanton Bern","domain":"safnern.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"747":{"name":"Scheuren","canton":"Kanton Bern","domain":"scheuren.ch","mx":["scheuren-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX scheuren-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"748":{"name":"Schwadernau","canton":"Kanton Bern","domain":"schwadernau.ch","mx":["mail.schwadernau.ch"],"spf":"v=spf1 +a +mx +a:rlx7.loginserver.ch include:_spf.blk.ymc.swiss -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"749":{"name":"Studen (BE)","canton":"Kanton Bern","domain":"studen.ch","mx":["studen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX studen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.studen.ch CNAME → selector1-studen-ch._domainkey.studenbe.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.studen.ch CNAME → selector2-studen-ch._domainkey.studenbe.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"750":{"name":"Sutz-Lattrigen","canton":"Kanton Bern","domain":"sutz-lattrigen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"751":{"name":"Täuffelen","canton":"Kanton Bern","domain":"taeuffelen.ch","mx":["taeuffelen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX taeuffelen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"754":{"name":"Walperswil","canton":"Kanton Bern","domain":"walperswil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"755":{"name":"Worben","canton":"Kanton Bern","domain":"worben.ch","mx":["worben-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX worben-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.worben.ch CNAME → selector1-worben-ch._domainkey.ewgworben.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.worben.ch CNAME → selector2-worben-ch._domainkey.ewgworben.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"756":{"name":"Twann-Tüscherz","canton":"Kanton Bern","domain":"twann-tuescherz.ch","mx":["twanntuescherz-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 a ip4:195.186.123.33 ip4:195.186.136.33 ip4:195.186.123.34 ip4:195.186.136.34 include:_spf.i-web.ch include:spf.protection.outlook.com include:mx.dvbern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX twanntuescherz-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.twann-tuescherz.ch CNAME → selector1-twanntuescherz-ch01c._domainkey.twanntuescherz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.twann-tuescherz.ch CNAME → selector2-twanntuescherz-ch01c._domainkey.twanntuescherz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"761":{"name":"Därstetten","canton":"Kanton Bern","domain":"daerstetten.ch","mx":["mail.daerstetten.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"762":{"name":"Diemtigen","canton":"Kanton Bern","domain":"diemtigen.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 include:edgepilot.com include:_spf.talus.ch include:spf.protection.outlook.com include:_spf.pcetera.ch ip4:217.11.37.66 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"hornetsecurity"},"763":{"name":"Erlenbach im Simmental","canton":"Kanton Bern","domain":"erlenbach-be.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"766":{"name":"Oberwil im Simmental","canton":"Kanton Bern","domain":"oberwil-im-simmental.ch","mx":["oberwilimsimmental-ch01ie.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberwilimsimmental-ch01ie.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"767":{"name":"Reutigen","canton":"Kanton Bern","domain":"reutigen.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 include:_spf.pcetera.ch include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"768":{"name":"Spiez","canton":"Kanton Bern","domain":"spiez.ch","mx":["mx1.thun.ch","mx2.thun.ch"],"spf":"v=spf1 ip4:82.220.26.128/26 ip4:194.56.218.181 mx include:thunersee.ch include:_spf.talus.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.spiez.ch CNAME → selector1-spiez-ch._domainkey.stadtthun.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.spiez.ch CNAME → selector2-spiez-ch._domainkey.stadtthun.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"769":{"name":"Wimmis","canton":"Kanton Bern","domain":"wimmis.ch","mx":["wimmis-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wimmis-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wimmis.ch CNAME → selector1-wimmis-ch._domainkey.gemeindewimmis.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wimmis.ch CNAME → selector2-wimmis-ch._domainkey.gemeindewimmis.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"770":{"name":"Stocken-Höfen","canton":"Kanton Bern","domain":"stocken-hoefen.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a:owa.itze.ch include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"}]},"782":{"name":"Guttannen","canton":"Kanton Bern","domain":"guttannen.ch","mx":["mx.stackmail.com"],"spf":"v=spf1 include:spf.stackmail.com a mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"783":{"name":"Hasliberg","canton":"Kanton Bern","domain":"hasliberg.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip:139.162.174.9 a:webcms.ruf.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"784":{"name":"Innertkirchen","canton":"Kanton Bern","domain":"innertkirchen.ch","mx":["innertkirchen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX innertkirchen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"785":{"name":"Meiringen","canton":"Kanton Bern","domain":"meiringen.ch","mx":["meiringen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:utm.meiringen.ch include:spf.protection.outlook.com include:spf.nl2go.com a:mail.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX meiringen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.meiringen.ch CNAME → selector1-meiringen-ch._domainkey.meiringench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.meiringen.ch CNAME → selector2-meiringen-ch._domainkey.meiringench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"786":{"name":"Schattenhalb","canton":"Kanton Bern","domain":"schattenhalb.ch","mx":["schattenhalb-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX schattenhalb-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"791":{"name":"Boltigen","canton":"Kanton Bern","domain":"boltigen.ch","mx":["boltigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX boltigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"792":{"name":"Lenk","canton":"Kanton Bern","domain":"lenkgemeinde.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a mx ip4:83.173.225.118 include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"793":{"name":"St. Stephan","canton":"Kanton Bern","domain":"ststephan.ch","mx":["ststephan-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:mail.ststephan.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ststephan-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"794":{"name":"Zweisimmen","canton":"Kanton Bern","domain":"zweisimmen.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a a:owa.itze.ch include:spf.company.swiss-egov.cloud include:_spf.blk.ymc.swiss -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"}]},"841":{"name":"Gsteig","canton":"Kanton Bern","domain":"gsteig.ch","mx":["gsteig-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gsteig-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"842":{"name":"Lauenen","canton":"Kanton Bern","domain":"lauenen.ch","mx":["lauenen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lauenen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"843":{"name":"Saanen","canton":"Kanton Bern","domain":"saanen.ch","mx":["mail.saanen.ch"],"spf":"v=spf1 mx ip4:195.65.182.181 include:_spf.talus.ch include:_spf.sui-inter.net ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"852":{"name":"Guggisberg","canton":"Kanton Bern","domain":"guggisberg-be.ch","mx":["guggisbergbe-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX guggisbergbe-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"853":{"name":"Rüschegg","canton":"Kanton Bern","domain":"rueschegg.ch","mx":["rueschegg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a mx a:rlx5.loginserver.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rueschegg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"855":{"name":"Schwarzenburg","canton":"Kanton Bern","domain":"schwarzenburg.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 mx ip4:194.88.197.38 ip4:194.88.197.163 include:spf.mail.weloveyou.systems include:_spf.talus.ch include:_spf.sui-inter.net ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"861":{"name":"Belp","canton":"Kanton Bern","domain":"belp.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 include:spf.mailjet.com a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"863":{"name":"Burgistein","canton":"Kanton Bern","domain":"burgistein.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 a:smtp.iz-net.ch include:itds-net.ch include:welsrv01.trendhosting-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"866":{"name":"Gerzensee","canton":"Kanton Bern","domain":"gerzensee.ch","mx":["gerzensee-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:webcms.ruf.ch include:_spf.talus.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gerzensee-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"867":{"name":"Gurzelen","canton":"Kanton Bern","domain":"gurzelen.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"868":{"name":"Jaberg","canton":"Kanton Bern","domain":"jaberg.ch","mx":["jaberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX jaberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"869":{"name":"Kaufdorf","canton":"Kanton Bern","domain":"kaufdorf.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 include:spf.iz-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"870":{"name":"Kehrsatz","canton":"Kanton Bern","domain":"kehrsatz.ch","mx":["public.iz-net.ch","smtp.iz-net.ch"],"spf":"v=spf1 ip4:193.135.56.6 include:spf.iz-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"872":{"name":"Kirchdorf (BE)","canton":"Kanton Bern","domain":"kirchdorf-be.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"877":{"name":"Niedermuhlern","canton":"Kanton Bern","domain":"niedermuhlern.ch","mx":["exchange.hosttech.eu"],"spf":"v=spf1 +mx +a include:_spf.mail.hostserv.eu ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"879":{"name":"Riggisberg","canton":"Kanton Bern","domain":"riggisberg.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:itds-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"880":{"name":"Rüeggisberg","canton":"Kanton Bern","domain":"rueggisberg.ch","mx":["mx-in-01.itds.ch","mx2.itds.ch"],"spf":"v=spf1 a mx include:itds-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"883":{"name":"Seftigen","canton":"Kanton Bern","domain":"seftigen.ch","mx":["mx1.thun.ch","mx2.thun.ch"],"spf":"v=spf1 a mx ip4:82.220.26.128/26 include:spf.protection.cyon.net ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"884":{"name":"Toffen","canton":"Kanton Bern","domain":"toffen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"885":{"name":"Uttigen","canton":"Kanton Bern","domain":"uttigen.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx include:_spf.talus.ch include:spf.mail.webland.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"886":{"name":"Wattenwil","canton":"Kanton Bern","domain":"wattenwil.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:_spf.pcetera.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":70.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"888":{"name":"Wald (BE)","canton":"Kanton Bern","domain":"wald-be.ch","mx":["smtp.iz-net.ch"],"spf":"v=spf1 include:spf.iz-net.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"889":{"name":"Thurnen","canton":"Kanton Bern","domain":"thurnen.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 include:itds-net.ch include:_spf.pcetera.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"901":{"name":"Eggiwil","canton":"Kanton Bern","domain":"eggiwil.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 mx ip4:212.101.27.209 include:spf.zic-network.ch include:_spf.pcetera.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"hornetsecurity"},"902":{"name":"Langnau im Emmental","canton":"Kanton Bern","domain":"langnau-ie.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a:remote.langnau-ie.ch ip4:193.135.56.6 include:spf.crsend.com +mx +a include:spf.mail.balzcloud.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"903":{"name":"Lauperswil","canton":"Kanton Bern","domain":"lauperswil.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"904":{"name":"Röthenbach im Emmental","canton":"Kanton Bern","domain":"roethenbach.ch","mx":["roethenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX roethenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.roethenbach.ch CNAME → selector1-roethenbach-ch._domainkey.roethenbachch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.roethenbach.ch CNAME → selector2-roethenbach-ch._domainkey.roethenbachch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"905":{"name":"Rüderswil","canton":"Kanton Bern","domain":"ruederswil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mrmuensingen01.muensingen.ch"],"spf":"v=spf1 include:spf.computech.ch include:_spf.talus.ch mx a:mrmuensingen01.muensingen.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"906":{"name":"Schangnau","canton":"Kanton Bern","domain":"schangnau.ch","mx":["schangnau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.zic-network.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schangnau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"907":{"name":"Signau","canton":"Kanton Bern","domain":"signau.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mrmuensingen01.muensingen.ch"],"spf":"v=spf1 mx a:mrmuensingen01.muensingen.ch include:_spf.talus.ch include:spf.zic-network.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"908":{"name":"Trub","canton":"Kanton Bern","domain":"trub.ch","mx":["trub-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:trub.hikunden.ch ip4:164.128.184.242 include:_spf.ewmail.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX trub-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"909":{"name":"Trubschachen","canton":"Kanton Bern","domain":"trubschachen.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a:mail.dsl-schweiz.ch ip4:46.140.158.131 ip4:87.237.172.249 ip4:80.243.212.135 ip4:93.189.64.7 include:spf.zic-network.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"921":{"name":"Amsoldingen","canton":"Kanton Bern","domain":"amsoldingen.ch","mx":["amsoldingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.103.81.85 ip4:109.164.225.66 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX amsoldingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"922":{"name":"Blumenstein","canton":"Kanton Bern","domain":"blumenstein.ch","mx":["blumenstein-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX blumenstein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"923":{"name":"Buchholterberg","canton":"Kanton Bern","domain":"buchholterberg.ch","mx":["buchholterberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:pcetera.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buchholterberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"924":{"name":"Eriz","canton":"Kanton Bern","domain":"eriz.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 a mx ptr include:pcetera.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"hornetsecurity"},"925":{"name":"Fahrni","canton":"Kanton Bern","domain":"gemeinde-fahrni.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 include:_spf.pcetera.ch include:spf.cloudrexx.com -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"hornetsecurity"},"927":{"name":"Heiligenschwendi","canton":"Kanton Bern","domain":"heiligenschwendi.ch","mx":["mx01.servicehoster.ch","mx02.servicehoster.ch"],"spf":"v=spf1 include:servicehoster.ch include:spf1.egeko.ch a mx ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"928":{"name":"Heimberg","canton":"Kanton Bern","domain":"heimberg.ch","mx":["mx1.thun.ch","mx2.thun.ch"],"spf":"v=spf1 ip4:82.220.26.128/26 ip4:212.103.81.85 ip4:146.4.11.86 include:spf.internetgalerie.ch include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"929":{"name":"Hilterfingen","canton":"Kanton Bern","domain":"hilterfingen.ch","mx":["mx1.thun.ch","mx2.thun.ch"],"spf":"v=spf1 ip4:82.220.26.128/26 include:spf.mail.weloveyou.systems mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"931":{"name":"Homberg","canton":"Kanton Bern","domain":"homberg.ch","mx":["homberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX homberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"932":{"name":"Horrenbach-Buchen","canton":"Kanton Bern","domain":"horrenbach-buchen.ch","mx":["horrenbachbuchen-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.firestorm.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX horrenbachbuchen-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"934":{"name":"Oberhofen am Thunersee","canton":"Kanton Bern","domain":"oberhofen.ch","mx":["mx1.thun.ch","mx2.thun.ch"],"spf":"v=spf1 ip4:82.220.26.128/26 mx include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oberhofen.ch CNAME → selector1-oberhofen-ch._domainkey.stadtthun.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oberhofen.ch CNAME → selector2-oberhofen-ch._domainkey.stadtthun.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"935":{"name":"Oberlangenegg","canton":"Kanton Bern","domain":"oberlangenegg.ch","mx":["oberlangenegg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX oberlangenegg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"936":{"name":"Pohlern","canton":"Kanton Bern","domain":"pohlern.ch","mx":["pohlern-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:185.136.122.14 include:spf.protection.outlook.com include:spf1.egeko.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pohlern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"938":{"name":"Sigriswil","canton":"Kanton Bern","domain":"sigriswil.ch","mx":["emailsecurity.sigriswil.ch"],"spf":"v=spf1 a mx ip4:109.164.226.120/29 ip4:193.135.56.6 include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"939":{"name":"Steffisburg","canton":"Kanton Bern","domain":"steffisburg.ch","mx":["mail.steffisburg.ch"],"spf":"v=spf1 mx ip4:192.168.36.0/24 ip4:192.162.205.155/32 ip4:192.162.205.152/32 ip4:62.2.126.112/28 ip4:31.10.206.136/29 ip4:212.71.120.144/28 include:_spf.talus.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.steffisburg.ch CNAME → selector1-steffisburg-ch._domainkey.steffisburg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.steffisburg.ch CNAME → selector2-steffisburg-ch._domainkey.steffisburg.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"940":{"name":"Teuffenthal (BE)","canton":"Kanton Bern","domain":"teuffenthal.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"941":{"name":"Thierachern","canton":"Kanton Bern","domain":"thierachern.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"942":{"name":"Thun","canton":"Kanton Bern","domain":"thun.ch","mx":["mx1.thun.ch","mx2.thun.ch"],"spf":"v=spf1 ip4:82.220.26.128/26 include:spf.internetgalerie.ch mx include:spf.cloudrexx.com include:_spf.i-web.ch include:_spf.sui-inter.net include:spf.protection.outlook.com a:c.spf.service-now.com a:mail.codx.ch include:spf.mandrillapp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.thun.ch CNAME → selector1-thun-ch._domainkey.stadtthun.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.thun.ch CNAME → selector2-thun-ch._domainkey.stadtthun.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"943":{"name":"Uebeschi","canton":"Kanton Bern","domain":"uebeschi.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a a:owa.itze.ch include:spf.mail.balzcloud.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"}]},"944":{"name":"Uetendorf","canton":"Kanton Bern","domain":"uetendorf.ch","mx":["uetendorf-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:83.173.216.104/29 ip4:193.135.56.6 ip4:194.56.218.181 include:_spf.ch.seppmail.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"945":{"name":"Unterlangenegg","canton":"Kanton Bern","domain":"unterlangenegg.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 ip4:80.74.155.167 include:_spf.pcetera.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"946":{"name":"Wachseldorn","canton":"Kanton Bern","domain":"wachseldorn.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":60.0,"classification_signals":[],"gateway":"hornetsecurity"},"948":{"name":"Forst-Längenbühl","canton":"Kanton Bern","domain":"3636.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 include:_spf.pcetera.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"951":{"name":"Affoltern im Emmental","canton":"Kanton Bern","domain":"affolternimemmental.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a:owa.itze.ch include:itds-net.ch include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"}]},"952":{"name":"Dürrenroth","canton":"Kanton Bern","domain":"duerrenroth.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"953":{"name":"Eriswil","canton":"Kanton Bern","domain":"eriswil.ch","mx":["eriswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:remote.eriswil.ch ip4:213.200.243.187 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eriswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"954":{"name":"Huttwil","canton":"Kanton Bern","domain":"huttwil.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a a:owa.huttwil.ch ip4:193.135.56.6 include:_spf.i-web.ch include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"955":{"name":"Lützelflüh","canton":"Kanton Bern","domain":"luetzelflueh.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"956":{"name":"Rüegsau","canton":"Kanton Bern","domain":"ruegsau.ch","mx":["ruegsau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ruegsau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ruegsau.ch CNAME → selector1-ruegsau-ch._domainkey.gemeinderueegsau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ruegsau.ch CNAME → selector2-ruegsau-ch._domainkey.gemeinderueegsau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"957":{"name":"Sumiswald","canton":"Kanton Bern","domain":"sumiswald.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a:owa.sumiswald.ch mx:talus.ch ip4:134.119.224.42 include:spf.mail.balzcloud.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"958":{"name":"Trachselwald","canton":"Kanton Bern","domain":"trachselwald.ch","mx":["trachselwald-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.mail.balzcloud.ch include:spf.zic-network.ch include:spf.protection.outlook.com include:spf1.egeko.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX trachselwald-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.trachselwald.ch CNAME → selector1-trachselwald-ch._domainkey.trachselwald.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.trachselwald.ch CNAME → selector2-trachselwald-ch._domainkey.trachselwald.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"959":{"name":"Walterswil (BE)","canton":"Kanton Bern","domain":"walterswil-be.ch","mx":["walterswilbe-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX walterswilbe-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"960":{"name":"Wyssachen","canton":"Kanton Bern","domain":"wyssachen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 a mx a:mail-gateway-shared01.cyon.net ip4:194.126.4.84 include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"971":{"name":"Attiswil","canton":"Kanton Bern","domain":"attiswil.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.sui-inter.net -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"972":{"name":"Berken","canton":"Kanton Bern","domain":"inkwil.ch","mx":["inkwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX inkwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.inkwil.ch CNAME → selector1-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.inkwil.ch CNAME → selector2-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"973":{"name":"Bettenhausen","canton":"Kanton Bern","domain":"bettenhausen.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 a mx include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"975":{"name":"Farnern","canton":"Kanton Bern","domain":"farnern.ch","mx":["farnern-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX farnern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.farnern.ch CNAME → selector1-farnern-ch._domainkey.gemeindefarnernch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.farnern.ch CNAME → selector2-farnern-ch._domainkey.gemeindefarnernch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"976":{"name":"Graben","canton":"Kanton Bern","domain":"graben.ch","mx":["graben-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:relay.mailchannels.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX graben-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"977":{"name":"Heimenhausen","canton":"Kanton Bern","domain":"heimenhausen.ch","mx":["heimenhausen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX heimenhausen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"979":{"name":"Herzogenbuchsee","canton":"Kanton Bern","domain":"herzogenbuchsee.ch","mx":["herzogenbuchsee-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a Include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud a:mail.obt-services.ch ip4:213.221.253.83 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX herzogenbuchsee-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.herzogenbuchsee.ch CNAME → selector1-herzogenbuchsee-ch._domainkey.herzogenbuchseecloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.herzogenbuchsee.ch CNAME → selector2-herzogenbuchsee-ch._domainkey.herzogenbuchseecloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"980":{"name":"Inkwil","canton":"Kanton Bern","domain":"inkwil.ch","mx":["inkwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX inkwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.inkwil.ch CNAME → selector1-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.inkwil.ch CNAME → selector2-inkwil-ch._domainkey.gemeindeinkwilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"981":{"name":"Niederbipp","canton":"Kanton Bern","domain":"niederbipp.ch","mx":["niederbipp-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX niederbipp-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.niederbipp.ch CNAME → selector1-niederbipp-ch._domainkey.gemeindeniederbippch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.niederbipp.ch CNAME → selector2-niederbipp-ch._domainkey.gemeindeniederbippch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"982":{"name":"Niederönz","canton":"Kanton Bern","domain":"niederoenz.ch","mx":["niederoenz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX niederoenz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"983":{"name":"Oberbipp","canton":"Kanton Bern","domain":"oberbipp.ch","mx":["oberbipp-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com IP4:213.221.250.130 include:_spf.sui-inter.net include:_spf.talus.ch +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberbipp-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"985":{"name":"Ochlenberg","canton":"Kanton Bern","domain":"ochlenberg.ch","mx":["mailgate.zic-network.ch"],"spf":"v=spf1 a mx a:owa.itze.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"}]},"987":{"name":"Rumisberg","canton":"Kanton Bern","domain":"rumisberg.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 ip4:193.135.56.6 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"988":{"name":"Seeberg","canton":"Kanton Bern","domain":"seeberg.ch","mx":["seeberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX seeberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"989":{"name":"Thörigen","canton":"Kanton Bern","domain":"thoerigen.ch","mx":["thoerigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX thoerigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"990":{"name":"Walliswil bei Niederbipp","canton":"Kanton Bern","domain":"walliswil-bipp.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":62.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"991":{"name":"Walliswil bei Wangen","canton":"Kanton Bern","domain":"walliswil.ch","mx":["walliswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch include:rzmail.hi-ag.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX walliswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.walliswil.ch CNAME → selector1-walliswil-ch._domainkey.gemeindewalliswilbwch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.walliswil.ch CNAME → selector2-walliswil-ch._domainkey.gemeindewalliswilbwch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"992":{"name":"Wangen an der Aare","canton":"Kanton Bern","domain":"wangen-a-a.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"995":{"name":"Wiedlisbach","canton":"Kanton Bern","domain":"wiedlisbach.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"1001":{"name":"Doppleschwand","canton":"","domain":"doppleschwand.ch","mx":["doppleschwand-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:wan-ip101.schule-doppleschwand.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX doppleschwand-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1002":{"name":"Entlebuch","canton":"","domain":"entlebuch.ch","mx":["entlebuch-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 ip4:185.80.66.250/29 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX entlebuch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.entlebuch.ch CNAME → selector1-entlebuch-ch._domainkey.entlebuch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.entlebuch.ch CNAME → selector2-entlebuch-ch._domainkey.entlebuch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1004":{"name":"Flühli","canton":"","domain":"fluehli.ch","mx":["fluehli-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:217.26.53.175 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fluehli-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1005":{"name":"Hasle (LU)","canton":"","domain":"hasle-lu.ch","mx":["haslelu-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 a:wan-ip101.hasle-lu.ch include:spf.protection.outlook.com include:_spf.mail.hostpoint.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX haslelu-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1007":{"name":"Romoos","canton":"","domain":"romoos.ch","mx":["romoos-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:wan-ip101.romoos.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX romoos-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1008":{"name":"Schüpfheim","canton":"","domain":"schuepfheim.ch","mx":["schuepfheim-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:217.26.52.10 ip4:164.128.132.128/29 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch include:spf.customer.swiss-egov.cloud a:webmail.schuepfheim.ch include:spf.protection.cyon.net ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schuepfheim-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1009":{"name":"Werthenstein","canton":"","domain":"werthenstein.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch include:_spf.psm.knowbe4.com include:spf.mail.hostpoint.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1010":{"name":"Escholzmatt-Marbach","canton":"","domain":"escholzmatt-marbach.ch","mx":["escholzmattmarbach-ch02i.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:tkcloud.ch include:spf.protection.outlook.com include:_spf.mail.hostpoint.ch include:spf.protection.cyon.net ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX escholzmattmarbach-ch02i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1021":{"name":"Aesch (LU)","canton":"Kanton Luzern","domain":"aesch-lu.ch","mx":["aeschlu-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX aeschlu-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1023":{"name":"Ballwil","canton":"Kanton Luzern","domain":"ballwil.ch","mx":["mail.ballwil.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1024":{"name":"Emmen","canton":"Kanton Luzern","domain":"emmen.ch","mx":["mail.emmen.ch"],"spf":"v=spf1 mx include:_spf.i-web.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1025":{"name":"Ermensee","canton":"Kanton Luzern","domain":"ermensee.ch","mx":["mail.ermensee.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1026":{"name":"Eschenbach (LU)","canton":"Kanton Luzern","domain":"eschenbach-luzern.ch","mx":["mail.eschenbach-luzern.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1030":{"name":"Hitzkirch","canton":"Kanton Luzern","domain":"hitzkirch.ch","mx":["hitzkirch-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:mail.ostendis.ch include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX hitzkirch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1031":{"name":"Hochdorf","canton":"Kanton Luzern","domain":"hochdorf.ch","mx":["mail.hochdorf.ch"],"spf":"v=spf1 mx +ip4:193.135.56.6 +ip4:172.211.79.21 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1032":{"name":"Hohenrain","canton":"Kanton Luzern","domain":"hohenrain.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"1033":{"name":"Inwil","canton":"Kanton Luzern","domain":"inwil.ch","mx":["mail.inwil.ch"],"spf":"v=spf1 mx ip4:80.74.136.182 ip4:194.124.233.150 include:spf.cloudrexx.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1037":{"name":"Rain","canton":"Kanton Luzern","domain":"rain.ch","mx":["rain-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abacuscity.ch a:slu-w0ssf1.stadtluzern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rain-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rain.ch CNAME → selector1-rain-ch._domainkey.rainlucloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rain.ch CNAME → selector2-rain-ch._domainkey.rainlucloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1039":{"name":"Römerswil","canton":"Kanton Luzern","domain":"roemerswil.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"1040":{"name":"Rothenburg","canton":"Kanton Luzern","domain":"rothenburg.ch","mx":["mail.rothenburg.ch"],"spf":"v=spf1 mx include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1041":{"name":"Schongau","canton":"Kanton Luzern","domain":"schongau.ch","mx":["mx1.seabix.cloud","mx2.seabix.cloud"],"spf":"v=spf1 mx include:spf.sendinblue.com include:spf.smtp2go.com -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1051":{"name":"Adligenswil","canton":"Kanton Luzern","domain":"adligenswil.ch","mx":["adligenswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:ews45.everyware.ch include:tkcloud.ch ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX adligenswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.adligenswil.ch CNAME → selector1-adligenswil-ch._domainkey.gdeverwaltungadligenswil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.adligenswil.ch CNAME → selector2-adligenswil-ch._domainkey.gdeverwaltungadligenswil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1052":{"name":"Buchrain","canton":"Kanton Luzern","domain":"buchrain.ch","mx":["buchrain-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buchrain-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buchrain.ch CNAME → selector1-buchrain-ch._domainkey.buchrain.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buchrain.ch CNAME → selector2-buchrain-ch._domainkey.buchrain.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1053":{"name":"Dierikon","canton":"Kanton Luzern","domain":"dierikon.ch","mx":["dierikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX dierikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1054":{"name":"Ebikon","canton":"Kanton Luzern","domain":"ebikon.ch","mx":["ebikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:81.62.185.142 ip4:46.227.226.108 ip4:146.4.16.26 ip4:212.80.96.0/21 ip4:91.194.196.10 ip4:87.117.127.202 ip6:2a01:7480:1:100::/64 include:servers.mcsv.net include:spf.protection.outlook.com redirect=spf.mail.hostpoint.ch","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ebikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ebikon.ch CNAME → selector1-ebikon-ch._domainkey.ebikongemeinde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ebikon.ch CNAME → selector2-ebikon-ch._domainkey.ebikongemeinde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1055":{"name":"Gisikon","canton":"Kanton Luzern","domain":"gisikon.ch","mx":["mail.gisikon.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:spf.vtx.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1056":{"name":"Greppen","canton":"Kanton Luzern","domain":"greppen.ch","mx":["greppen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX greppen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1058":{"name":"Horw","canton":"Kanton Luzern","domain":"horw.ch","mx":["mailqueue01.horw.ch"],"spf":"v=spf1 a mx:horw.ch mx:schulen-horw.ch ip4:195.49.6.49 ip4:212.59.163.3 a:mail.i-web.ch include:_spf.i-web.ch include:servers.mcsv.net include:spf.abacuscity.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1059":{"name":"Kriens","canton":"Kanton Luzern","domain":"kriens.ch","mx":["mail.kriens.ch"],"spf":"v=spf1 mx +ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1061":{"name":"Luzern","canton":"Kanton Luzern","domain":"stadtluzern.ch","mx":["mail.stadtluzern.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:spf.privasphere.com include:spf.umantis.com ip4:194.209.100.10 ip4:5.102.147.208 a:mail.i-web.ch +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.stadtluzern.ch CNAME → selector1-stadtluzern-ch._domainkey.stadtluzern.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.stadtluzern.ch CNAME → selector2-stadtluzern-ch._domainkey.stadtluzern.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1062":{"name":"Malters","canton":"Kanton Luzern","domain":"malters.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1063":{"name":"Meggen","canton":"Kanton Luzern","domain":"meggen.ch","mx":["meggen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX meggen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1064":{"name":"Meierskappel","canton":"Kanton Luzern","domain":"meierskappel.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx ip4:193.135.56.6 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"1065":{"name":"Root","canton":"Kanton Luzern","domain":"gemeinde-root.ch","mx":["gemeinderoot-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeinderoot-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gemeinde-root.ch CNAME → selector1-gemeinderoot-ch02b._domainkey.gemeindeverwaltungroot.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gemeinde-root.ch CNAME → selector2-gemeinderoot-ch02b._domainkey.gemeindeverwaltungroot.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1066":{"name":"Schwarzenberg","canton":"Kanton Luzern","domain":"schwarzenberg.ch","mx":["alt1.aspmx.l.google.com","alt2.aspmx.l.google.com","aspmx.l.google.com"],"spf":"v=spf1 ip4:91.194.196.10 mx mx:admin.ch/16 include:_spf.google.com ~all","provider":"google","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"mx","detail":"MX alt1.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX alt2.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX aspmx.l.google.com matches google"},{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1067":{"name":"Udligenswil","canton":"Kanton Luzern","domain":"udligenswil.ch","mx":["udligenswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX udligenswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.udligenswil.ch CNAME → selector1-udligenswil-ch._domainkey.gemeindeudligenswil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.udligenswil.ch CNAME → selector2-udligenswil-ch._domainkey.gemeindeudligenswil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1068":{"name":"Vitznau","canton":"Kanton Luzern","domain":"vitznau.ch","mx":["vitznau-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.140.160.21 ip4:46.140.160.22 ip4:46.14.27.218 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vitznau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1069":{"name":"Weggis","canton":"Kanton Luzern","domain":"weggis.ch","mx":["weggis-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf.abacuscity.ch +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX weggis-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1081":{"name":"Beromünster","canton":"","domain":"beromuenster.ch","mx":["beromuenster-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:37.128.180.154 ip4:195.48.205.132 include:_spf.talus.ch include:_spf.i-web.ch include:spf.protection.outlook.com include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX beromuenster-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.beromuenster.ch CNAME → selector1-beromuenster-ch._domainkey.gemeindeberomuenster.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.beromuenster.ch CNAME → selector2-beromuenster-ch._domainkey.gemeindeberomuenster.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1082":{"name":"Büron","canton":"","domain":"bueron.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1083":{"name":"Buttisholz","canton":"","domain":"buttisholz.ch","mx":["mail.buttisholz.ch"],"spf":"v=spf1 mx include:_spf.i-web.ch +ip4:195.65.10.26 +ip4:194.40.156.100 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1084":{"name":"Eich","canton":"","domain":"eich.ch","mx":["eich-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eich-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.eich.ch CNAME → selector1-eich-ch._domainkey.gemeindeeich.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.eich.ch CNAME → selector2-eich-ch._domainkey.gemeindeeich.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1085":{"name":"Geuensee","canton":"","domain":"geuensee.ch","mx":["mail.geuensee.ch"],"spf":"v=spf1 mx include:spf.creanet.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1086":{"name":"Grosswangen","canton":"","domain":"grosswangen.ch","mx":["mail.grosswangen.ch"],"spf":"v=spf1 mx include:spf.creanet.ch include:cemsc.net ip4:185.142.212.13 ip4:185.32.222.15 ip4:176.10.104.21 ip4:185.32.222.64 ip4:149.126.4.40 ip4:194.126.200.54 ip4:194.126.200.0/24 ip4:194.126.0.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1088":{"name":"Hildisrieden","canton":"","domain":"hildisrieden.ch","mx":["hildisrieden-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +a:rlx2.loginserver.ch include:spf.protection.outlook.com include:spf1.egeko.ch include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hildisrieden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hildisrieden.ch CNAME → selector1-hildisrieden-ch._domainkey.gemeindehildisrieden.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hildisrieden.ch CNAME → selector2-hildisrieden-ch._domainkey.gemeindehildisrieden.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1089":{"name":"Knutwil","canton":"","domain":"knutwil.ch","mx":["mail.knutwil.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1091":{"name":"Mauensee","canton":"","domain":"mauensee.ch","mx":["mauensee-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.cyon.net ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mauensee-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1093":{"name":"Neuenkirch","canton":"","domain":"neuenkirch.ch","mx":["neuenkirch-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:194.124.233.150 ip4:193.135.56.6 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX neuenkirch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1094":{"name":"Nottwil","canton":"","domain":"nottwil.ch","mx":["mail.nottwil.ch"],"spf":"v=spf1 mx a:sbb-ch.mail.protection.outlook.com a:mail.format-ag.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}]},"1095":{"name":"Oberkirch","canton":"","domain":"oberkirch.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:_spf.rzobt.ch include:_spf.i-web.ch include:spf.abacuscity.ch include:_spf.psm.knowbe4.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1097":{"name":"Rickenbach (LU)","canton":"","domain":"rickenbach.ch","mx":["rickenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX rickenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1098":{"name":"Ruswil","canton":"","domain":"ruswil.ch","mx":["mail.ruswil.ch"],"spf":"v=spf1 mx ip4:185.35.28.13 ip4:185.35.28.162 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1099":{"name":"Schenkon","canton":"","domain":"schenkon.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:spf.mail.hostpoint.ch include:_spf.rzobt.ch include:communication.backslash.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1100":{"name":"Schlierbach","canton":"","domain":"schlierbach.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1102":{"name":"Sempach","canton":"","domain":"sempach.ch","mx":["sempach-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:151.248.208.106 ip4:80.254.162.137 include:spf.protection.outlook.com include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sempach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.sempach.ch CNAME → selector1-sempach-ch._domainkey.sempachcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.sempach.ch CNAME → selector2-sempach-ch._domainkey.sempachcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1103":{"name":"Sursee","canton":"","domain":"stadtsursee.ch","mx":["stadtsursee-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.mail.hostpoint.ch include:_spf.i-web.ch include:spf.protection.outlook.com ip4:37.128.181.146 include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stadtsursee-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.stadtsursee.ch CNAME → selector1-stadtsursee-ch._domainkey.stadtsurseech.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.stadtsursee.ch CNAME → selector2-stadtsursee-ch._domainkey.stadtsurseech.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1104":{"name":"Triengen","canton":"","domain":"triengen.ch","mx":["mail.triengen.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1107":{"name":"Wolhusen","canton":"","domain":"wolhusen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:_spf.rzobt.ch include:spf.abacuscity.ch a:slu-w0ssf1.stadtluzern.ch ip4:185.35.28.13 include:_spf.psm.knowbe4.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1121":{"name":"Alberswil","canton":"Kanton Luzern","domain":"alberswil.ch","mx":["alberswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX alberswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1122":{"name":"Altbüron","canton":"Kanton Luzern","domain":"altbueron.ch","mx":["altbueron-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX altbueron-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1123":{"name":"Altishofen","canton":"Kanton Luzern","domain":"altishofen.ch","mx":["mail.altishofen.ch"],"spf":"v=spf1 mx a +ip4:149.126.4.40 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1125":{"name":"Dagmersellen","canton":"Kanton Luzern","domain":"dagmersellen.ch","mx":["dagmersellen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a ip4:193.135.58.21 ip4:80.254.191.149 ip4:151.248.145.24 include:spf.protection.outlook.com include:spf.sendinblue.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dagmersellen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.dagmersellen.ch CNAME → selector1-dagmersellen-ch._domainkey.gemeindedagmersellen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.dagmersellen.ch CNAME → selector2-dagmersellen-ch._domainkey.gemeindedagmersellen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1127":{"name":"Egolzwil","canton":"Kanton Luzern","domain":"egolzwil.ch","mx":["egolzwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:195.65.10.24 ip4:195.65.10.12 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX egolzwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.egolzwil.ch CNAME → selector1-egolzwil-ch._domainkey.gemeindeegolzwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.egolzwil.ch CNAME → selector2-egolzwil-ch._domainkey.gemeindeegolzwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1128":{"name":"Ettiswil","canton":"Kanton Luzern","domain":"ettiswil.ch","mx":["mail.ettiswil.ch"],"spf":"v=spf1 mx include:spf.protection.cyon.net include:spf.customer.swiss-egov.cloud ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1129":{"name":"Fischbach","canton":"Kanton Luzern","domain":"fischbach-lu.ch","mx":["fischbachlu-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX fischbachlu-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1131":{"name":"Grossdietwil","canton":"Kanton Luzern","domain":"grossdietwil.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.exenti.ch ip4:185.35.28.128 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"1132":{"name":"Hergiswil bei Willisau","canton":"Kanton Luzern","domain":"hergiswil-lu.ch","mx":["mail.hergiswil-lu.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1135":{"name":"Luthern","canton":"Kanton Luzern","domain":"luthern.ch","mx":["luthern-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX luthern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1136":{"name":"Menznau","canton":"Kanton Luzern","domain":"menznau.ch","mx":["menznau-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +a:rlx2.loginserver.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX menznau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.menznau.ch CNAME → selector1-menznau-ch._domainkey.gdemenznau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.menznau.ch CNAME → selector2-menznau-ch._domainkey.gdemenznau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1137":{"name":"Nebikon","canton":"Kanton Luzern","domain":"nebikon.ch","mx":["nebikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.3.53.198 ip4:86.119.9.6 ip4:193.135.56.6 include:spf.protection.outlook.com include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nebikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.nebikon.ch CNAME → selector1-nebikon-ch._domainkey.gemeindenebikon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.nebikon.ch CNAME → selector2-nebikon-ch._domainkey.gemeindenebikon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"1139":{"name":"Pfaffnau","canton":"Kanton Luzern","domain":"pfaffnau.ch","mx":["pfaffnau-ch.mail.protection.outlook.com"],"spf":"v=spf1 a ip4:91.194.196.10 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX pfaffnau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1140":{"name":"Reiden","canton":"Kanton Luzern","domain":"reiden.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1142":{"name":"Roggliswil","canton":"Kanton Luzern","domain":"roggliswil.ch","mx":["roggliswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:mail1.rzobt.ch a:mail2.rzobt.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX roggliswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1143":{"name":"Schötz","canton":"Kanton Luzern","domain":"schoetz.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1145":{"name":"Ufhusen","canton":"Kanton Luzern","domain":"ufhusen.ch","mx":["mail.ufhusen.ch"],"spf":"v=spf1 mx ip4:185.35.28.68 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1146":{"name":"Wauwil","canton":"Kanton Luzern","domain":"wauwil.ch","mx":["wauwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.150.248.38 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +ip4:193.135.56.6 +include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":89.0,"classification_signals":[{"kind":"mx","detail":"MX wauwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1147":{"name":"Wikon","canton":"Kanton Luzern","domain":"wikon.ch","mx":["mail.wikon.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1150":{"name":"Zell (LU)","canton":"Kanton Luzern","domain":"zell-lu.ch","mx":["mail.zell-lu.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1151":{"name":"Willisau","canton":"Kanton Luzern","domain":"willisau.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 a include:_spf.rzobt.ch ip4:185.35.28.16 ip4:185.35.28.13 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1201":{"name":"Altdorf (UR)","canton":"Kanton Uri","domain":"altdorf.ch","mx":["mail.rz-altdorf.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1202":{"name":"Andermatt","canton":"Kanton Uri","domain":"andermatt.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx a:mail.ur.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1203":{"name":"Attinghausen","canton":"Kanton Uri","domain":"attinghausen.ch","mx":["mail.attinghausen.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1205":{"name":"Bürglen (UR)","canton":"Kanton Uri","domain":"buerglen.ch","mx":["mail.buerglen.ch"],"spf":"v=spf1 mx include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1206":{"name":"Erstfeld","canton":"Kanton Uri","domain":"erstfeld.ch","mx":["mx1.erstfeld.ch","mx2.erstfeld.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1207":{"name":"Flüelen","canton":"Kanton Uri","domain":"flueelen.ch","mx":["mail.flueelen.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1208":{"name":"Göschenen","canton":"Kanton Uri","domain":"goeschenen.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1209":{"name":"Gurtnellen","canton":"Kanton Uri","domain":"gurtnellen.ch","mx":["mx1.gurtnellen.ch","mx2.gurtnellen.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1210":{"name":"Hospental","canton":"Kanton Uri","domain":"andermatt.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx a:mail.ur.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1211":{"name":"Isenthal","canton":"Kanton Uri","domain":"isenthal.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1212":{"name":"Realp","canton":"Kanton Uri","domain":"realp.ch","mx":["realp-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX realp-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1213":{"name":"Schattdorf","canton":"Kanton Uri","domain":"schattdorf.ch","mx":["mail.rz-altdorf.ch"],"spf":"v=spf1 +mx -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1214":{"name":"Seedorf (UR)","canton":"Kanton Uri","domain":"seedorf-uri.ch","mx":["mail.seedorf-uri.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1215":{"name":"Seelisberg","canton":"Kanton Uri","domain":"seelisberg.ch","mx":["seelisberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:agenturserver.de -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX seelisberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1216":{"name":"Silenen","canton":"Kanton Uri","domain":"silenen.ch","mx":["silenen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:mx.cmd.activeguard.cloud ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:146.4.12.134 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX silenen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1217":{"name":"Sisikon","canton":"Kanton Uri","domain":"sisikon.ch","mx":["mail.sisikon.ch"],"spf":"v=spf1 mx include:_spf.blk.ymc.swiss include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1218":{"name":"Spiringen","canton":"Kanton Uri","domain":"spiringen.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1219":{"name":"Unterschächen","canton":"Kanton Uri","domain":"unterschaechen.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1220":{"name":"Wassen","canton":"Kanton Uri","domain":"wassen.ch","mx":["mail1.ur.ch","mail2.ur.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.sui-inter.net a:mail.ur.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1301":{"name":"Einsiedeln","canton":"Kanton Schwyz","domain":"bezirkeinsiedeln.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1311":{"name":"Gersau","canton":"Kanton Schwyz","domain":"gersau.ch","mx":["gersau-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.101.10.158 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gersau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gersau.ch CNAME → selector1-gersau-ch._domainkey.bvgersau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gersau.ch CNAME → selector2-gersau-ch._domainkey.bvgersau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"1321":{"name":"Feusisberg","canton":"Kanton Schwyz","domain":"feusisberg.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:193.135.56.6 ip4:62.65.133.1/24 include:spf.iway.ch include:spf.entex.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1322":{"name":"Freienbach","canton":"Kanton Schwyz","domain":"freienbach.ch","mx":["freienbach1.cleanmail.ch","freienbach2.cleanmail.ch"],"spf":"v=spf1 a mx ip4:52.157.149.216 mx mx:hin.ch include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.mailjet.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}],"gateway":"cleanmail"},"1323":{"name":"Wollerau","canton":"Kanton Schwyz","domain":"wollerau.ch","mx":["wollerau1.cleanmail.ch","wollerau2.cleanmail.ch"],"spf":"v=spf1 a mx ip4:195.130.218.0/24 ip4:195.141.81.67 ip4:185.41.76.99/27 include:_spf.i-web.ch include:_cmspf.cleanmail.ch include:turbo-smtp.com include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"cleanmail"},"1331":{"name":"Küssnacht (SZ)","canton":"Kanton Schwyz","domain":"kuessnacht.ch","mx":["kuessnacht-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:mail.ostendis.ch ip4:82.136.86.149 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf.sz.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kuessnacht-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kuessnacht.ch CNAME → elector1-kuessnacht-ch._domainkey.kuessnacht.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kuessnacht.ch CNAME → elector2-kuessnacht-ch._domainkey.kuessnacht.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"1341":{"name":"Altendorf","canton":"Kanton Schwyz","domain":"altendorf.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf.abacuscity.ch include:communication.backslash.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"1342":{"name":"Galgenen","canton":"Kanton Schwyz","domain":"galgenen.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx include:asmtp.mail.hostpoint.ch include:mailomat.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1343":{"name":"Innerthal","canton":"Kanton Schwyz","domain":"innerthal.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1344":{"name":"Lachen","canton":"Kanton Schwyz","domain":"lachen.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1345":{"name":"Reichenburg","canton":"Kanton Schwyz","domain":"reichenburg.ch","mx":["gemeindereichenburg.in.tmes.trendmicro.eu"],"spf":"v=spf1 a mx ip4:93.174.184.0/21 ~a","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"1346":{"name":"Schübelbach","canton":"Kanton Schwyz","domain":"schuebelbach.ch","mx":["schuebelbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schuebelbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1347":{"name":"Tuggen","canton":"Kanton Schwyz","domain":"tuggen.ch","mx":["tuggen.in.tmes.trendmicro.eu"],"spf":"v=spf1 a mx ip4:93.174.184.0/21 include:spf1.egeko.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"1348":{"name":"Vorderthal","canton":"Kanton Schwyz","domain":"vorderthal.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1349":{"name":"Wangen (SZ)","canton":"Kanton Schwyz","domain":"wangensz.ch","mx":["wangensz.in.tmes.trendmicro.eu"],"spf":"v=spf1 include:spf.abacuscity.ch a mx ptr ip4:93.174.184.0/21 ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"1361":{"name":"Alpthal","canton":"Kanton Schwyz","domain":"alpthal.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1362":{"name":"Arth","canton":"Kanton Schwyz","domain":"arth.ch","mx":["mr01.arth.ch"],"spf":"v=spf1 mx ip4:185.244.253.254/32 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"1363":{"name":"Illgau","canton":"Kanton Schwyz","domain":"illgau.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx include:mailomat.cloud include:spf.mailpro.com -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1364":{"name":"Ingenbohl","canton":"Kanton Schwyz","domain":"ingenbohl.ch","mx":["mail.ingenbohl.ch"],"spf":"v=spf1 +a +mx include:relay.mailchannels.net include:spf.privasphere.com include:agenturserver.de include:_spf.google.com ~all","provider":"google","category":"us-cloud","classification_confidence":52.0,"classification_signals":[{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1365":{"name":"Lauerz","canton":"Kanton Schwyz","domain":"lauerz.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1366":{"name":"Morschach","canton":"Kanton Schwyz","domain":"morschach.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1367":{"name":"Muotathal","canton":"Kanton Schwyz","domain":"muotathal.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1368":{"name":"Oberiberg","canton":"Kanton Schwyz","domain":"oberiberg.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1369":{"name":"Riemenstalden","canton":"Kanton Schwyz","domain":"riemenstalden.ch","mx":["mail.riemenstalden.ch"],"spf":"v=spf1 include:spf.mail.webland.ch include:_spf.blk.ymc.swiss -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1370":{"name":"Rothenthurm","canton":"Kanton Schwyz","domain":"rothenthurm.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1371":{"name":"Sattel","canton":"Kanton Schwyz","domain":"sattel.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1372":{"name":"Schwyz","canton":"Kanton Schwyz","domain":"gemeindeschwyz.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1373":{"name":"Steinen","canton":"Kanton Schwyz","domain":"steinen.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1374":{"name":"Steinerberg","canton":"Kanton Schwyz","domain":"steinerberg.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1375":{"name":"Unteriberg","canton":"Kanton Schwyz","domain":"unteriberg.ch","mx":["mr01a.rzeins.ch","mr02b.rzeins.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"1401":{"name":"Alpnach","canton":"Kanton Obwalden","domain":"alpnach.ow.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1402":{"name":"Engelberg","canton":"Kanton Obwalden","domain":"gde-engelberg.ch","mx":["gdeengelberg-ch0i.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:mx.cmd.activeguard.cloud include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gdeengelberg-ch0i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}]},"1403":{"name":"Giswil","canton":"Kanton Obwalden","domain":"giswil.ow.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1404":{"name":"Kerns","canton":"Kanton Obwalden","domain":"kerns.ow.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1405":{"name":"Lungern","canton":"Kanton Obwalden","domain":"lungern.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1406":{"name":"Sachseln","canton":"Kanton Obwalden","domain":"sachseln.ow.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1407":{"name":"Sarnen","canton":"Kanton Obwalden","domain":"sarnen.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1501":{"name":"Beckenried","canton":"Kanton Nidwalden","domain":"gv.beckenried.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1502":{"name":"Buochs","canton":"Kanton Nidwalden","domain":"buochs.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1503":{"name":"Dallenwil","canton":"Kanton Nidwalden","domain":"nw.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:185.7.213.20 ip4:62.12.130.234 a:smtp.trainingplus.ch include:_spfgroupa.admin.ch include:_spf.tivian.com include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1504":{"name":"Emmetten","canton":"Kanton Nidwalden","domain":"emmetten.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1505":{"name":"Ennetbürgen","canton":"Kanton Nidwalden","domain":"ennetbuergen.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1506":{"name":"Ennetmoos","canton":"Kanton Nidwalden","domain":"ennetmoos.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1507":{"name":"Hergiswil (NW)","canton":"Kanton Nidwalden","domain":"hergiswil.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:185.7.213.20 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1508":{"name":"Oberdorf (NW)","canton":"Kanton Nidwalden","domain":"nw.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:185.7.213.20 ip4:62.12.130.234 a:smtp.trainingplus.ch include:_spfgroupa.admin.ch include:_spf.tivian.com include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"1509":{"name":"Stans","canton":"Kanton Nidwalden","domain":"stans.nw.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1510":{"name":"Stansstad","canton":"Kanton Nidwalden","domain":"stansstad.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch ipv4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1511":{"name":"Wolfenschiessen","canton":"Kanton Nidwalden","domain":"wolfenschiessen.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_spfgroupa.admin.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1630":{"name":"Glarus Nord","canton":"Kanton Glarus","domain":"glarus-nord.ch","mx":["ip17.gl.ch","ip18.gl.ch"],"spf":"v=spf1 include:spf.smtp2go.com include:_spf.i-web.ch include:spf.abacuscity.ch ip4:217.192.170.97 ip4:217.192.170.98 -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1631":{"name":"Glarus Süd","canton":"Kanton Glarus","domain":"glarus-sued.ch","mx":["ip17.gl.ch","ip18.gl.ch"],"spf":"v=spf1 include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.smtp2go.com include:spf.nl2go.com ip4:193.135.56.6 ip4:217.192.170.97 ip4:217.192.170.98 -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1632":{"name":"Glarus","canton":"Kanton Glarus","domain":"glarus.ch","mx":["ip17.gl.ch","ip18.gl.ch"],"spf":"v=spf1 include:_cmspf.cleanmail.ch include:_spf.i-web.ch include:spf.smtp2go.com ip4:217.192.170.97 ip4:217.192.170.98 -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"1701":{"name":"Baar","canton":"Kanton Zug","domain":"baar.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.protection.outlook.com include:spf.zg.ch include:_spf.i-web.ch include:privasphere.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1702":{"name":"Cham","canton":"Kanton Zug","domain":"cham.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"1703":{"name":"Hünenberg","canton":"Kanton Zug","domain":"huenenberg.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 include:_spf.i-web.ch include:spf.zg.ch include:_spf.senders.scnem.com include:_spf.tophost.ch a ip4:94.130.72.240 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1704":{"name":"Menzingen","canton":"Kanton Zug","domain":"menzingen.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1705":{"name":"Neuheim","canton":"Kanton Zug","domain":"neuheim.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"1706":{"name":"Oberägeri","canton":"Kanton Zug","domain":"oberaegeri.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.server-he.de -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1707":{"name":"Risch","canton":"Kanton Zug","domain":"rischrotkreuz.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 a mx include:spf.taginet.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"1708":{"name":"Steinhausen","canton":"Kanton Zug","domain":"steinhausen.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 ip4:193.134.13.61 include:spf.zg.ch include:spf.protection.outlook.com include:privasphere.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"1709":{"name":"Unterägeri","canton":"Kanton Zug","domain":"unteraegeri.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx ip4:193.134.12.15 ip4:193.134.26.182 ip4:193.134.26.181 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"1710":{"name":"Walchwil","canton":"Kanton Zug","domain":"walchwil.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 a:mail.zg.ch a:mail1.zg.ch a:mail2.zg.ch ip4:193.134.12.15 ip4:193.134.26.182 ip6:2a10:8244:1000:1800::5002 ip6:2a10:8244:1000:1800::5001 ip4:193.134.26.181 include:spf.zg.ch include:privasphere.com -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"1711":{"name":"Zug","canton":"Kanton Zug","domain":"stadtzug.ch","mx":["mail1.zg.ch","mail2.zg.ch"],"spf":"v=spf1 mx mx:admin.ch/24 mx:ag.ch/24 ip4:193.134.12.15 ip4:193.134.13.61 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf.zg.ch include:_spf.senders.scnem.com include:privasphere.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"2008":{"name":"Châtillon (FR)","canton":"Kanton Freiburg","domain":"chatillon-broye.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2011":{"name":"Cugy (FR)","canton":"Kanton Freiburg","domain":"hemmer.ch","mx":["mx1.spamvor.com","mx2.spamvor.com"],"spf":"v=spf1 include:_spf.ch-dns.net ip4:185.151.164.55 +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"spamvor"},"2022":{"name":"Gletterens","canton":"Kanton Freiburg","domain":"gletterens.ch","mx":["gletterens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gletterens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2025":{"name":"Lully (FR)","canton":"Kanton Freiburg","domain":"lully-fr.ch","mx":["lullyfr-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lullyfr-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2029":{"name":"Montagny (FR)","canton":"Kanton Freiburg","domain":"montagny-fr.ch","mx":["montagnyfr-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:evok.ch include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX montagnyfr-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.montagny-fr.ch CNAME → selector1-montagnyfr-ch02b._domainkey.communedemontagnyfr.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.montagny-fr.ch CNAME → selector2-montagnyfr-ch02b._domainkey.communedemontagnyfr.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2035":{"name":"Nuvilly","canton":"Kanton Freiburg","domain":"nuvilly.ch","mx":["nuvilly-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nuvilly-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.nuvilly.ch CNAME → selector1-nuvilly-ch._domainkey.nuvilly.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.nuvilly.ch CNAME → selector2-nuvilly-ch._domainkey.nuvilly.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2038":{"name":"Prévondavaux","canton":"Kanton Freiburg","domain":"prevondavaux.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"2041":{"name":"Saint-Aubin (FR)","canton":"Kanton Freiburg","domain":"saint-aubin.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx ip4:193.108.54.58 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2043":{"name":"Sévaz","canton":"Kanton Freiburg","domain":"sevaz.ch","mx":["mx1.spamvor.com","mx2.spamvor.com"],"spf":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"spamvor"},"2044":{"name":"Surpierre","canton":"Kanton Freiburg","domain":"surpierre-fr.ch","mx":["surpierrefr-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX surpierrefr-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2045":{"name":"Vallon","canton":"Kanton Freiburg","domain":"vallon.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"2050":{"name":"Les Montets","canton":"Kanton Freiburg","domain":"les-montets.ch","mx":["mx1.spamvor.com","mx2.spamvor.com"],"spf":"v=spf1 include:_spf.ch-dns.net ip4:212.71.120.144/28 +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"spamvor"},"2051":{"name":"Delley-Portalban","canton":"Kanton Freiburg","domain":"delley-portalban.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch include:_spf.ch-dns.net -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2053":{"name":"Belmont-Broye","canton":"Kanton Freiburg","domain":"belmont-broye.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch include:_spf.ch-dns.net -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2054":{"name":"Estavayer","canton":"Kanton Freiburg","domain":"estavayer.ch","mx":["mps.telecomservices.ch"],"spf":"v=spf1 ip4:94.126.16.46 ip4:84.253.32.226 ip4:94.126.16.47 ip4:94.126.16.48 ip4:212.71.120.144/28 a:mail.estavayer.ch a:mps.telecomservices.ch include:spf.protection.outlook.com include:smtproutes.com include:smtpout.com include:_spf.ch-dns.net include:spf.brevo.com mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2055":{"name":"Cheyres-Châbles","canton":"Kanton Freiburg","domain":"cheyres-chables.ch","mx":["cheyreschables-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cheyreschables-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cheyres-chables.ch CNAME → selector1-cheyreschables-ch01i._domainkey.cheyreschablesfr.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cheyres-chables.ch CNAME → selector2-cheyreschables-ch01i._domainkey.cheyreschablesfr.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2056":{"name":"Fétigny-Ménières","canton":"Kanton Freiburg","domain":"fetigny-menieres.ch","mx":["fetignymenieres-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fetignymenieres-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2063":{"name":"Billens-Hennens","canton":"Kanton Freiburg","domain":"billens-hennens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2067":{"name":"Le Châtelard","canton":"Kanton Freiburg","domain":"le-chatelard.ch","mx":["lechatelard-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lechatelard-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2068":{"name":"Châtonnaye","canton":"Kanton Freiburg","domain":"chatonnaye.ch","mx":["chatonnaye-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chatonnaye-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2079":{"name":"Grangettes","canton":"Kanton Freiburg","domain":"grangettes-pres-romont.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"2086":{"name":"Massonnens","canton":"Kanton Freiburg","domain":"massonnens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"2087":{"name":"Mézières (FR)","canton":"Kanton Freiburg","domain":"mezieres-fr.ch","mx":["mezieresfr-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com mx a a:mail.senselan.ch a:mailcustom.infosynergie.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mezieresfr-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2096":{"name":"Romont (FR)","canton":"Kanton Freiburg","domain":"romont.ch","mx":["romont-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.62.202.194 ip4:46.16.202.90 include:spf.infomaniak.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX romont-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2097":{"name":"Rue","canton":"Kanton Freiburg","domain":"rue.ch","mx":["rue-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:212.71.120.144/28 ip4:128.65.195.91/32 include:communederue.roomingit.fr include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rue-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rue.ch CNAME → selector1-rue-ch._domainkey.communerue.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rue.ch CNAME → selector2-rue-ch._domainkey.communerue.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2099":{"name":"Siviriez","canton":"Kanton Freiburg","domain":"siviriez.ch","mx":["siviriez-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 ip4:212.90.219.210 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX siviriez-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.siviriez.ch CNAME → selector1-siviriez-ch._domainkey.siviriez.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.siviriez.ch CNAME → selector2-siviriez-ch._domainkey.siviriez.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2102":{"name":"Ursy","canton":"Kanton Freiburg","domain":"ursy.ch","mx":["ursy-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ursy-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ursy.ch CNAME → selector1-ursy-ch._domainkey.ursyfr.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ursy.ch CNAME → selector2-ursy-ch._domainkey.ursyfr.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2113":{"name":"Vuisternens-devant-Romont","canton":"Kanton Freiburg","domain":"vuisternens-devant-romont.ch","mx":["vuisternens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vuisternens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2114":{"name":"Villorsonnens","canton":"Kanton Freiburg","domain":"villorsonnens.ch","mx":["villorsonnens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX villorsonnens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2115":{"name":"Torny","canton":"Kanton Freiburg","domain":"torny.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 ip4:80.74.154.186 ip4:80.74.153.24 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2117":{"name":"Villaz","canton":"Kanton Freiburg","domain":"communevillaz.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch include:_spf.i-web.ch a:mailgate2.ti-informatique.com ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2121":{"name":"Haut-Intyamon","canton":"Kanton Freiburg","domain":"haut-intyamon.ch","mx":["hautintyamon-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hautintyamon-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2122":{"name":"Pont-en-Ogoz","canton":"Kanton Freiburg","domain":"pont-en-ogoz.ch","mx":["pontenogoz-ch01j.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.62.149.214 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pontenogoz-ch01j.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.pont-en-ogoz.ch CNAME → selector1-pontenogoz-ch01j._domainkey.communepeo.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.pont-en-ogoz.ch CNAME → selector2-pontenogoz-ch01j._domainkey.communepeo.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2123":{"name":"Botterens","canton":"Kanton Freiburg","domain":"botterens.ch","mx":["botterens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX botterens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2124":{"name":"Broc","canton":"Kanton Freiburg","domain":"broc.ch","mx":["broc-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX broc-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.broc.ch CNAME → selector1-broc-ch._domainkey.brocch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.broc.ch CNAME → selector2-broc-ch._domainkey.brocch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2125":{"name":"Bulle","canton":"Kanton Freiburg","domain":"bulle.ch","mx":["bulle-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch ip4:85.90.3.67 ip4:195.65.10.12 ip4:128.65.195.12 ip4:194.56.218.154 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bulle-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bulle.ch CNAME → selector1-bulle-ch._domainkey.communebulle.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bulle.ch CNAME → selector2-bulle-ch._domainkey.communebulle.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2128":{"name":"Châtel-sur-Montsalvens","canton":"Kanton Freiburg","domain":"chatel-montsalvens.ch","mx":["chatelmontsalvens-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chatelmontsalvens-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2129":{"name":"Corbières","canton":"Kanton Freiburg","domain":"corbieres.ch","mx":["corbieres-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX corbieres-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2130":{"name":"Crésuz","canton":"Kanton Freiburg","domain":"cresuz.ch","mx":["cresuz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.147.132 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cresuz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2131":{"name":"Echarlens","canton":"Kanton Freiburg","domain":"echarlens.ch","mx":["echarlens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.google.com include:spf.infomaniak.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX echarlens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2134":{"name":"Grandvillard","canton":"Kanton Freiburg","domain":"grandvillard.ch","mx":["grandvillard-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.customer.swiss-egov.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grandvillard-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2135":{"name":"Gruyères","canton":"Kanton Freiburg","domain":"gruyeres.ch","mx":["gruyeres-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gruyeres-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2137":{"name":"Hauteville","canton":"Kanton Freiburg","domain":"hauteville.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"2138":{"name":"Jaun","canton":"Kanton Freiburg","domain":"jaun.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2140":{"name":"Marsens","canton":"Kanton Freiburg","domain":"marsens.ch","mx":["mps.telecomservices.ch"],"spf":"v=spf1 a:email.marsens.ch a:mps.telecomservices.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2143":{"name":"Morlon","canton":"Kanton Freiburg","domain":"morlon.ch","mx":["morlon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX morlon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2145":{"name":"Le Pâquier (FR)","canton":"Kanton Freiburg","domain":"lepaquier.ch","mx":["lepaquier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lepaquier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2147":{"name":"Pont-la-Ville","canton":"Kanton Freiburg","domain":"pont-la-ville.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2148":{"name":"Riaz","canton":"Kanton Freiburg","domain":"riaz.ch","mx":["riaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX riaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2149":{"name":"La Roche","canton":"Kanton Freiburg","domain":"la-roche.ch","mx":["laroche-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX laroche-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2152":{"name":"Sâles","canton":"Kanton Freiburg","domain":"sales.ch","mx":["sales-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX sales-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2153":{"name":"Sorens","canton":"Kanton Freiburg","domain":"sorens.ch","mx":["sorens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.ch-dns.net include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sorens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.sorens.ch CNAME → selector1-sorens-ch._domainkey.communesorens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.sorens.ch CNAME → selector2-sorens-ch._domainkey.communesorens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2155":{"name":"Vaulruz","canton":"Kanton Freiburg","domain":"vaulruz.ch","mx":["vaulruz-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:185.48.146.23 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vaulruz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2160":{"name":"Vuadens","canton":"Kanton Freiburg","domain":"vuadens.ch","mx":["vuadens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vuadens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2162":{"name":"Bas-Intyamon","canton":"Kanton Freiburg","domain":"bas-intyamon.ch","mx":["basintyamon-ch0i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX basintyamon-ch0i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2163":{"name":"Val-de-Charmey","canton":"Kanton Freiburg","domain":"val-de-charmey.ch","mx":["cleanmail.safecenter.ch","valdecharmey-ch0ie.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.62.232.242/32 a:val-de-charmey.ch a:cleanmail.safecenter.ch include:_spf.i-web.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX valdecharmey-ch0ie.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.val-de-charmey.ch CNAME → selector1-valdecharmey-ch0ie._domainkey.valdecharmey.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.val-de-charmey.ch CNAME → selector2-valdecharmey-ch0ie._domainkey.valdecharmey.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"cleanmail"},"2173":{"name":"Autigny","canton":"Kanton Freiburg","domain":"autigny.ch","mx":["autigny-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.14.34.46 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX autigny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2174":{"name":"Avry","canton":"Kanton Freiburg","domain":"avry.ch","mx":["mps.telecomservices.ch"],"spf":"v=spf1 a:email.avry.ch a:mps.telecomservices.ch include:telecomservices.ch include:_spf.i-web.ch include:spf.protection.outlook.com ipv4:46.14.47.178 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2175":{"name":"Belfaux","canton":"Kanton Freiburg","domain":"belfaux.ch","mx":["belfaux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX belfaux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2177":{"name":"Chénens","canton":"Kanton Freiburg","domain":"chenens.ch","mx":["chenens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net include:ti-informatique.com +mx +a ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX chenens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2183":{"name":"Corminboeuf","canton":"Kanton Freiburg","domain":"corminboeuf.ch","mx":["corminboeuf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:94.126.17.132 ip4:46.14.29.162 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX corminboeuf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.corminboeuf.ch CNAME → selector1-corminboeuf-ch._domainkey.corminboeufcommune.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.corminboeuf.ch CNAME → selector2-corminboeuf-ch._domainkey.corminboeufcommune.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2186":{"name":"Cottens (FR)","canton":"Kanton Freiburg","domain":"cottens-fr.ch","mx":["cottensfr-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cottensfr-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cottens-fr.ch CNAME → selector1-cottensfr-ch01i._domainkey.admincottens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cottens-fr.ch CNAME → selector2-cottensfr-ch01i._domainkey.admincottens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2194":{"name":"Ferpicloz","canton":"Kanton Freiburg","domain":"ferpicloz.ch","mx":["mail.ferpicloz.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch include:_spf.blk.ymc.swiss ip4:212.71.120.144/28 ip4:212.71.120.28 +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2196":{"name":"Fribourg","canton":"Kanton Freiburg","domain":"ville-fr.ch","mx":["mail.ville-fr.ch"],"spf":"v=spf1 mx ip4:217.193.211.0/24 ip4:156.25.4.0/24 include:spf1.ne.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2197":{"name":"Givisiez","canton":"Kanton Freiburg","domain":"givisiez.ch","mx":["givisiez-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX givisiez-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2198":{"name":"Granges-Paccot","canton":"Kanton Freiburg","domain":"granges-paccot.ch","mx":["grangespaccot-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX grangespaccot-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2206":{"name":"Marly","canton":"Kanton Freiburg","domain":"marly.ch","mx":["marly-ch-1.fortimailcloud.com","marly-ch-2.fortimailcloud.com"],"spf":"v=spf1 include:_spf.fortimailcloud.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2208":{"name":"Matran","canton":"Kanton Freiburg","domain":"matran.ch","mx":["matran-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net include:icarus2.ch-dns.net ip4:80.74.159.66 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX matran-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2211":{"name":"Neyruz (FR)","canton":"Kanton Freiburg","domain":"neyruz.ch","mx":["neyruz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com ip4:62.202.1.53 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX neyruz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2216":{"name":"Pierrafortscha","canton":"Kanton Freiburg","domain":"pierrafortscha.ch","mx":["pierrafortscha-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pierrafortscha-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2220":{"name":"Le Mouret","canton":"Kanton Freiburg","domain":"le-mouret.ch","mx":["lemouret-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.ch-dns.net include:spf.protection.outlook.com ip4:83.222.141.163 ip4:83.173.228.17 +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lemouret-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.le-mouret.ch CNAME → selector1-lemouret-ch0e._domainkey.gdelemouret.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.le-mouret.ch CNAME → selector2-lemouret-ch0e._domainkey.gdelemouret.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2226":{"name":"Treyvaux","canton":"Kanton Freiburg","domain":"treyvaux.ch","mx":["mps.telecomservices.ch"],"spf":"v=spf1 a:mail.treyvaux.ch a:mps.telecomservices.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2228":{"name":"Villars-sur-Glâne","canton":"Kanton Freiburg","domain":"villars-sur-glane.ch","mx":["villarssurglane-ch01ii.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:mail.villars-sur-glane.ch a:mps.telecomservices.ch a:smtpzh.witecom.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX villarssurglane-ch01ii.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.villars-sur-glane.ch CNAME → selector1-villarssurglane-ch01ii._domainkey.adminvillarssurglane.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.villars-sur-glane.ch CNAME → selector2-villarssurglane-ch01ii._domainkey.adminvillarssurglane.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2230":{"name":"Villarsel-sur-Marly","canton":"Kanton Freiburg","domain":"villarsel-sur-marly.ch","mx":["mx01.senselan.ch","mx02.senselan.ch","mx03.senselan.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":60.0,"classification_signals":[]},"2233":{"name":"Hauterive (FR)","canton":"Kanton Freiburg","domain":"hauterivefr.ch","mx":["hauterivefr-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hauterivefr-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hauterivefr.ch CNAME → selector1-hauterivefr-ch._domainkey.communehauterive.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hauterivefr.ch CNAME → selector2-hauterivefr-ch._domainkey.communehauterive.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2234":{"name":"La Brillaz","canton":"Kanton Freiburg","domain":"labrillaz.ch","mx":["cleanmail.safecenter.ch"],"spf":"v=spf1 ip4:195.186.136.1/24 include:spf.protection.outlook.com include:spf.infomaniak.ch a:cleanmail.safecenter.ch ip4:83.222.130.150 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"cleanmail"},"2235":{"name":"La Sonnaz","canton":"Kanton Freiburg","domain":"lasonnaz.ch","mx":["lasonnaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lasonnaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2236":{"name":"Gibloux","canton":"Kanton Freiburg","domain":"commune-gibloux.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2237":{"name":"Prez","canton":"Kanton Freiburg","domain":"prez.ch","mx":["prez-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.159.65 ip4:213.180.180.30 +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX prez-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2238":{"name":"Bois-d'Amont","canton":"Kanton Freiburg","domain":"bois-damont.ch","mx":["boisdamont-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spfcloud.letsignit.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX boisdamont-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2239":{"name":"Grolley-Ponthaux","canton":"Kanton Freiburg","domain":"grolley-ponthaux.ch","mx":["grolleyponthaux-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grolleyponthaux-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.grolley-ponthaux.ch CNAME → selector1-grolleyponthaux-ch01i._domainkey.communedegrolley.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.grolley-ponthaux.ch CNAME → selector2-grolleyponthaux-ch01i._domainkey.communedegrolley.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2250":{"name":"Courgevaux","canton":"Kanton Freiburg","domain":"courgevaux.ch","mx":["courgevaux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX courgevaux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.courgevaux.ch CNAME → selector1-courgevaux-ch._domainkey.courgevauxfr.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.courgevaux.ch CNAME → selector2-courgevaux-ch._domainkey.courgevauxfr.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2254":{"name":"Courtepin","canton":"Kanton Freiburg","domain":"courtepin.ch","mx":["courtepin-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:s064.cyon.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX courtepin-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2257":{"name":"Cressier (FR)","canton":"Kanton Freiburg","domain":"cressier.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2258":{"name":"Fräschels","canton":"Kanton Freiburg","domain":"fraeschels.ch","mx":["fraeschels-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fraeschels-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2261":{"name":"Greng","canton":"Kanton Freiburg","domain":"greng.ch","mx":["greng-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:spf.sesamnet.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX greng-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.greng.ch CNAME → selector1-greng-ch._domainkey.gemeindegreng.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.greng.ch CNAME → selector2-greng-ch._domainkey.gemeindegreng.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2262":{"name":"Gurmels","canton":"Kanton Freiburg","domain":"gurmels.ch","mx":["gurmels-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gurmels-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2265":{"name":"Kerzers","canton":"Kanton Freiburg","domain":"kerzers.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx ip4:77.59.194.34 ip4:194.126.200.0/24 ip4:149.126.0.0/21 include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2266":{"name":"Kleinbösingen","canton":"Kanton Freiburg","domain":"kleinboesingen.ch","mx":["kleinboesingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kleinboesingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2271":{"name":"Meyriez","canton":"Kanton Freiburg","domain":"meyriez.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2272":{"name":"Misery-Courtion","canton":"Kanton Freiburg","domain":"misery-courtion.ch","mx":["miserycourtion-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX miserycourtion-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2274":{"name":"Muntelier","canton":"Kanton Freiburg","domain":"muntelier.ch","mx":["muntelier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX muntelier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2275":{"name":"Murten","canton":"Kanton Freiburg","domain":"murten-morat.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2276":{"name":"Ried bei Kerzers","canton":"Kanton Freiburg","domain":"ried.ch","mx":["ried-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ried-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2284":{"name":"Mont-Vully","canton":"Kanton Freiburg","domain":"mont-vully.ch","mx":["montvully-ch01b.mail.protection.outlook.com","montvully.onmicrosoft.com","montvully.onmicrosoft.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:80.74.149.192 +mx +a ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX montvully-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2292":{"name":"Brünisried","canton":"Kanton Freiburg","domain":"bruenisried.ch","mx":["mx01.senselan.ch","mx02.senselan.ch","mx03.senselan.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":62.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2293":{"name":"Düdingen","canton":"Kanton Freiburg","domain":"duedingen.ch","mx":["duedingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX duedingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2294":{"name":"Giffers","canton":"Kanton Freiburg","domain":"giffers.ch","mx":["giffers-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX giffers-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2295":{"name":"Bösingen","canton":"Kanton Freiburg","domain":"boesingen.ch","mx":["boesingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:mx.dvbern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX boesingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2296":{"name":"Heitenried","canton":"Kanton Freiburg","domain":"heitenried.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2299":{"name":"Plaffeien","canton":"Kanton Freiburg","domain":"plaffeien.ch","mx":["plaffeien-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX plaffeien-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2300":{"name":"Plasselb","canton":"Kanton Freiburg","domain":"plasselb.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2301":{"name":"Rechthalten","canton":"Kanton Freiburg","domain":"rechthalten.ch","mx":["rechthalten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX rechthalten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2303":{"name":"St. Silvester","canton":"Kanton Freiburg","domain":"stsilvester.ch","mx":["stsilvester-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX stsilvester-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2304":{"name":"St. Ursen","canton":"Kanton Freiburg","domain":"stursen.ch","mx":["stursen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX stursen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2305":{"name":"Schmitten (FR)","canton":"Kanton Freiburg","domain":"schmitten.ch","mx":["schmitten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX schmitten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2306":{"name":"Tafers","canton":"Kanton Freiburg","domain":"tafers.ch","mx":["tafers-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX tafers-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2307":{"name":"Tentlingen","canton":"Kanton Freiburg","domain":"tentlingen.ch","mx":["tentlingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX tentlingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2308":{"name":"Ueberstorf","canton":"Kanton Freiburg","domain":"ueberstorf.ch","mx":["ueberstorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ueberstorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2309":{"name":"Wünnewil-Flamatt","canton":"Kanton Freiburg","domain":"wuennewil-flamatt.ch","mx":["wuennewilflamatt-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wuennewilflamatt-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2321":{"name":"Attalens","canton":"Kanton Freiburg","domain":"attalens.ch","mx":["attalens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX attalens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2323":{"name":"Bossonnens","canton":"Kanton Freiburg","domain":"bossonnens.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2325":{"name":"Châtel-Saint-Denis","canton":"Kanton Freiburg","domain":"chatel-st-denis.ch","mx":["chatelstdenis-ch01ec.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf1.ne.ch ip4:81.63.156.66 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"mx","detail":"MX chatelstdenis-ch01ec.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2328":{"name":"Granges (Veveyse)","canton":"Kanton Freiburg","domain":"granges-veveyse.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2333":{"name":"Remaufens","canton":"Kanton Freiburg","domain":"remaufens.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 include:evok.ch include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"2335":{"name":"Saint-Martin (FR)","canton":"Kanton Freiburg","domain":"saint-martin-fr.ch","mx":["saintmartinfr-ch01c1b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX saintmartinfr-ch01c1b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2336":{"name":"Semsales","canton":"Kanton Freiburg","domain":"semsales.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 ip4:80.74.159.118/32 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2337":{"name":"Le Flon","canton":"Kanton Freiburg","domain":"leflon.ch","mx":["leflon-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.108.54.58 include:spf.protection.outlook.com include:_spf.ch-dns.net ip4:212.71.120.144/28 +a +mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leflon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2338":{"name":"La Verrerie","canton":"Kanton Freiburg","domain":"la-verrerie.ch","mx":["laverrerie-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX laverrerie-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2401":{"name":"Egerkingen","canton":"Kanton Solothurn","domain":"egerkingen.ch","mx":["egerkingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:46.14.41.126 include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX egerkingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.egerkingen.ch CNAME → selector1-egerkingen-ch._domainkey.gemeindeegerkingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.egerkingen.ch CNAME → selector2-egerkingen-ch._domainkey.gemeindeegerkingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2402":{"name":"Härkingen","canton":"Kanton Solothurn","domain":"haerkingen.ch","mx":["haerkingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX haerkingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2403":{"name":"Kestenholz","canton":"Kanton Solothurn","domain":"kestenholz.ch","mx":["kestenholz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX kestenholz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2404":{"name":"Neuendorf","canton":"Kanton Solothurn","domain":"neuendorf.ch","mx":["neuendorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.it64.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX neuendorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2405":{"name":"Niederbuchsiten","canton":"Kanton Solothurn","domain":"niederbuchsiten.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a mx include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2406":{"name":"Oberbuchsiten","canton":"Kanton Solothurn","domain":"oberbuchsiten.ch","mx":["oberbuchsiten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberbuchsiten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2407":{"name":"Oensingen","canton":"Kanton Solothurn","domain":"oensingen.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 mx a include:spf.protection.outlook.com include:spf.hornetsecurity.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"}],"gateway":"hornetsecurity"},"2408":{"name":"Wolfwil","canton":"Kanton Solothurn","domain":"wolfwil.ch","mx":["wolfwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX wolfwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2421":{"name":"Aedermannsdorf","canton":"Kanton Solothurn","domain":"aedermannsdorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2422":{"name":"Balsthal","canton":"Kanton Solothurn","domain":"balsthal.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2424":{"name":"Herbetswil","canton":"Kanton Solothurn","domain":"herbetswil.ch","mx":["herbetswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX herbetswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.herbetswil.ch CNAME → selector1-herbetswil-ch._domainkey.herbetswil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.herbetswil.ch CNAME → selector2-herbetswil-ch._domainkey.herbetswil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2425":{"name":"Holderbank (SO)","canton":"Kanton Solothurn","domain":"holderbank-so.ch","mx":["holderbankso-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX holderbankso-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2426":{"name":"Laupersdorf","canton":"Kanton Solothurn","domain":"laupersdorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2427":{"name":"Matzendorf","canton":"Kanton Solothurn","domain":"matzendorf.ch","mx":["matzendorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX matzendorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2428":{"name":"Mümliswil-Ramiswil","canton":"Kanton Solothurn","domain":"muemliswil-ramiswil.ch","mx":["muemliswilramiswil-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muemliswilramiswil-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.muemliswil-ramiswil.ch CNAME → selector1-muemliswilramiswil-ch02e._domainkey.gemeindemuemliswil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.muemliswil-ramiswil.ch CNAME → selector2-muemliswilramiswil-ch02e._domainkey.gemeindemuemliswil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2430":{"name":"Welschenrohr-Gänsbrunnen","canton":"Kanton Solothurn","domain":"welschenrohr.ch","mx":["welschenrohr-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.221.233.0/23 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX welschenrohr-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"2445":{"name":"Biezwil","canton":"Kanton Solothurn","domain":"biezwil.ch","mx":["mx1.jimdo.com","mx2.jimdo.com"],"spf":"v=spf1 include:sendgrid.net include:emailsrvr.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2455":{"name":"Lüterkofen-Ichertswil","canton":"Kanton Solothurn","domain":"lueterkofen-ichertswil.ch","mx":["lueterkofenichertswil-ch02i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lueterkofenichertswil-ch02i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2457":{"name":"Messen","canton":"Kanton Solothurn","domain":"messen.ch","mx":["messen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:mail.tcnet.ch ip4:195.48.58.75 ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:_spf.talus.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX messen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.messen.ch CNAME → selector1-messen-ch._domainkey.messen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.messen.ch CNAME → selector2-messen-ch._domainkey.messen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2461":{"name":"Schnottwil","canton":"Kanton Solothurn","domain":"schnottwil.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2463":{"name":"Unterramsern","canton":"Kanton Solothurn","domain":"unterramsern.ch","mx":["mail.unterramsern.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2464":{"name":"Lüsslingen-Nennigkofen","canton":"Kanton Solothurn","domain":"luesslingen-nennigkofen.ch","mx":["luesslingennennigkofen-ch02i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX luesslingennennigkofen-ch02i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2465":{"name":"Buchegg","canton":"Kanton Solothurn","domain":"buchegg-so.ch","mx":["bucheggso-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bucheggso-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2471":{"name":"Bättwil","canton":"Kanton Solothurn","domain":"baettwil.ch","mx":["mail.baettwil.ch"],"spf":"v=spf1 a mx a:msscript1.webland.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2472":{"name":"Büren (SO)","canton":"Kanton Solothurn","domain":"bueren-so.ch","mx":["buerenso-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 mx a:tiberius2.sui-inter.net a:tiberius.sui-inter.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX buerenso-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2473":{"name":"Dornach","canton":"Kanton Solothurn","domain":"dornach.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2474":{"name":"Gempen","canton":"Kanton Solothurn","domain":"gempen.ch","mx":["gempen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gempen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2475":{"name":"Hochwald","canton":"Kanton Solothurn","domain":"hochwald.ch","mx":["hochwald-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud a:genf.alixon.ch a:goldau.alixon.ch include:rzmail.hi-ag.ch include:spf.iway.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hochwald-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch"}]},"2476":{"name":"Hofstetten-Flüh","canton":"Kanton Solothurn","domain":"hofstetten-flueh.ch","mx":["mail.hofstetten-flueh.ch","mail2.hofstetten-flueh.ch"],"spf":"v=spf1 mx include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2477":{"name":"Metzerlen-Mariastein","canton":"Kanton Solothurn","domain":"metzerlen.ch","mx":["metzerlen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud include:_spf.blk.ymc.swiss -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX metzerlen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2478":{"name":"Nuglar-St. Pantaleon","canton":"Kanton Solothurn","domain":"nuglar.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2479":{"name":"Rodersdorf","canton":"Kanton Solothurn","domain":"rodersdorf.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.blk.ymc.swiss include:_spf.kreativmedia.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2480":{"name":"Seewen","canton":"Kanton Solothurn","domain":"seewen.ch","mx":["seewen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:mail.asp.ruf.ch a:mta1.asp.ruf.ch a:mta2.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX seewen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2481":{"name":"Witterswil","canton":"Kanton Solothurn","domain":"witterswil.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2491":{"name":"Hauenstein-Ifenthal","canton":"Kanton Solothurn","domain":"hauenstein-ifenthal.ch","mx":["hauensteinifenthal-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hauensteinifenthal-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2492":{"name":"Kienberg","canton":"Kanton Solothurn","domain":"kienberg.ch","mx":["mail.kienberg.ch"],"spf":"v=spf1 include:spf.mail.webland.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2493":{"name":"Lostorf","canton":"Kanton Solothurn","domain":"lostorf.ch","mx":["lostorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lostorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.lostorf.ch CNAME → selector1-lostorf-ch._domainkey.einwohnergemeindelostorf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.lostorf.ch CNAME → selector2-lostorf-ch._domainkey.einwohnergemeindelostorf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2495":{"name":"Niedergösgen","canton":"Kanton Solothurn","domain":"niedergoesgen.ch","mx":["niedergoesgen-ch.mail.eo.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.niedergoesgen.ch CNAME → selector1-niedergoesgen-ch._domainkey.niedergoesgench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.niedergoesgen.ch CNAME → selector2-niedergoesgen-ch._domainkey.niedergoesgench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2497":{"name":"Obergösgen","canton":"Kanton Solothurn","domain":"obergoesgen.ch","mx":["obergoesgen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX obergoesgen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2499":{"name":"Stüsslingen","canton":"Kanton Solothurn","domain":"stuesslingen.ch","mx":["stuesslingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stuesslingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2500":{"name":"Trimbach","canton":"Kanton Solothurn","domain":"trimbach.ch","mx":["trimbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX trimbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.trimbach.ch CNAME → selector1-trimbach-ch._domainkey.gemeindetrimbach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.trimbach.ch CNAME → selector2-trimbach-ch._domainkey.gemeindetrimbach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2501":{"name":"Winznau","canton":"Kanton Solothurn","domain":"winznau.ch","mx":["winznau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:mail.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX winznau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.winznau.ch CNAME → selector1-winznau-ch._domainkey.winznau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.winznau.ch CNAME → selector2-winznau-ch._domainkey.winznau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2502":{"name":"Wisen (SO)","canton":"Kanton Solothurn","domain":"wisen.ch","mx":["mx.cloudfor.ch"],"spf":"v=spf1 +a +mx +a:node7.nhost.ch include:spf.lanpool.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2503":{"name":"Erlinsbach (SO)","canton":"Kanton Solothurn","domain":"erlinsbach-so.ch","mx":["erlinsbach-so.ch.1.0001.arsmtp.com","erlinsbach-so.ch.2.0001.arsmtp.com"],"spf":"v=spf1 include:edgepilot.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2511":{"name":"Aeschi (SO)","canton":"Kanton Solothurn","domain":"aeschi-so.ch","mx":["aeschiso-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX aeschiso-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2513":{"name":"Biberist","canton":"Kanton Solothurn","domain":"biberist.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2514":{"name":"Bolken","canton":"Kanton Solothurn","domain":"bolken.ch","mx":["mail.bolken.ch"],"spf":"v=spf1 a mx ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2516":{"name":"Deitingen","canton":"Kanton Solothurn","domain":"deitingen.ch","mx":["deitingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:93.174.18.97 include:spf.hstex.comp-sys.net include:spf.nl2go.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX deitingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2517":{"name":"Derendingen","canton":"Kanton Solothurn","domain":"derendingen.ch","mx":["derendingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:turbo-smtp.com include:_spf.talus.ch include:_spf.sui-inter.net ip4:199.187.173.138 ip4:185.227.39.122 ip4:212.60.62.49 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX derendingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.derendingen.ch CNAME → selector1-derendingen-ch._domainkey.derendingench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.derendingen.ch CNAME → selector2-derendingen-ch._domainkey.derendingench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"2518":{"name":"Etziken","canton":"Kanton Solothurn","domain":"etziken.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2519":{"name":"Gerlafingen","canton":"Kanton Solothurn","domain":"gerlafingen.ch","mx":["gerlafingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gerlafingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2523":{"name":"Horriwil","canton":"Kanton Solothurn","domain":"horriwil.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2524":{"name":"Hüniken","canton":"Kanton Solothurn","domain":"hueniken.ch","mx":["elara.kreativmedia.ch"],"spf":"v=spf1 +mx +a include:_spf.mail.hostserv.eu include:_spf.kreativmedia.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2525":{"name":"Kriegstetten","canton":"Kanton Solothurn","domain":"kriegstetten.ch","mx":["kriegstetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX kriegstetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2526":{"name":"Lohn-Ammannsegg","canton":"Kanton Solothurn","domain":"lohn-ammannsegg.ch","mx":["lohnammannsegg-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lohnammannsegg-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2527":{"name":"Luterbach","canton":"Kanton Solothurn","domain":"luterbach.ch","mx":["luterbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX luterbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2528":{"name":"Obergerlafingen","canton":"Kanton Solothurn","domain":"obergerlafingen.ch","mx":["obergerlafingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX obergerlafingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2530":{"name":"Recherswil","canton":"Kanton Solothurn","domain":"recherswil.ch","mx":["recherswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX recherswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2532":{"name":"Subingen","canton":"Kanton Solothurn","domain":"subingen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch a:webcms.ruf.ch include:spf.cloudrexx.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2534":{"name":"Zuchwil","canton":"Kanton Solothurn","domain":"zuchwil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:146483490.spf03.hubspotemail.net -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2535":{"name":"Drei Höfe","canton":"Kanton Solothurn","domain":"dreihoefe.ch","mx":["dreihoefe-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dreihoefe-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2541":{"name":"Balm bei Günsberg","canton":"Kanton Solothurn","domain":"balm-balmberg.ch","mx":["mx03.solnet.ch","mx04.solnet.ch"],"spf":"v=spf1 include:solnet.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2542":{"name":"Bellach","canton":"Kanton Solothurn","domain":"bellach.ch","mx":["bellach-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +a:mailsrv.dynabyte.ch +ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bellach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2543":{"name":"Bettlach","canton":"Kanton Solothurn","domain":"bettlach.ch","mx":["bettlach.ch.1.0001.arsmtp.com","bettlach.ch.2.0001.arsmtp.com"],"spf":"v=spf1 include:exghost.com include:appriver.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2544":{"name":"Feldbrunnen-St. Niklaus","canton":"Kanton Solothurn","domain":"feldbrunnen.ch","mx":["feldbrunnen-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:93.174.20.41 include:spf.protection.outlook.com include:spf.hstex.comp-sys.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX feldbrunnen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2545":{"name":"Flumenthal","canton":"Kanton Solothurn","domain":"flumenthal.ch","mx":["flumenthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX flumenthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2546":{"name":"Grenchen","canton":"Kanton Solothurn","domain":"grenchen.ch","mx":["grenchen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grenchen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.grenchen.ch CNAME → selector1-grenchen-ch._domainkey.stadtgrenchen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.grenchen.ch CNAME → selector2-grenchen-ch._domainkey.stadtgrenchen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2547":{"name":"Günsberg","canton":"Kanton Solothurn","domain":"guensberg.ch","mx":["guensberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX guensberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2548":{"name":"Hubersdorf","canton":"Kanton Solothurn","domain":"hubersdorf.ch","mx":["hubersdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:87.237.169.20 ip4:80.243.212.149 ip4:87.237.172.253 ip4:195.65.26.110 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hubersdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hubersdorf.ch CNAME → selector1-hubersdorf-ch._domainkey.hubersdorf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hubersdorf.ch CNAME → selector2-hubersdorf-ch._domainkey.hubersdorf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2549":{"name":"Kammersrohr","canton":"Kanton Solothurn","domain":"bluewin.ch","mx":["mx01.p.bluenet.ch","mx02.p.bluenet.ch"],"spf":"v=spf1 redirect=_spf.bluewin.ch","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2550":{"name":"Langendorf","canton":"Kanton Solothurn","domain":"langendorf-so.ch","mx":["langendorfso-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:78.46.6.166 ip6:2a01:4f8:d0a:309a::2 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX langendorfso-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2551":{"name":"Lommiswil","canton":"Kanton Solothurn","domain":"lommiswil.ch","mx":["lommiswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:_spf.sui-inter.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lommiswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2553":{"name":"Oberdorf (SO)","canton":"Kanton Solothurn","domain":"oberdorf.ch","mx":["oberdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX oberdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2554":{"name":"Riedholz","canton":"Kanton Solothurn","domain":"riedholz.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2555":{"name":"Rüttenen","canton":"Kanton Solothurn","domain":"ruettenen.ch","mx":["ruettenen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:141207667.spf10.hubspotemail.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ruettenen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ruettenen.ch CNAME → selector1-ruettenen-ch._domainkey.ruettenench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ruettenen.ch CNAME → selector2-ruettenen-ch._domainkey.ruettenench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2556":{"name":"Selzach","canton":"Kanton Solothurn","domain":"selzach.ch","mx":["selzach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX selzach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.selzach.ch CNAME → selector1-selzach-ch._domainkey.selzach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.selzach.ch CNAME → selector2-selzach-ch._domainkey.selzach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2571":{"name":"Boningen","canton":"Kanton Solothurn","domain":"boningen.ch","mx":["boningen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boningen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.boningen.ch CNAME → selector1-boningen-ch._domainkey.gemeindeboningen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.boningen.ch CNAME → selector2-boningen-ch._domainkey.gemeindeboningen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2572":{"name":"Däniken","canton":"Kanton Solothurn","domain":"daeniken.ch","mx":["daeniken-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.exclaimer.net include:_spf.talus.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX daeniken-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2573":{"name":"Dulliken","canton":"Kanton Solothurn","domain":"dulliken.ch","mx":["dulliken-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX dulliken-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2574":{"name":"Eppenberg-Wöschnau","canton":"Kanton Solothurn","domain":"eppenberg-woeschnau.ch","mx":["eppenbergwoeschnau-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eppenbergwoeschnau-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2575":{"name":"Fulenbach","canton":"Kanton Solothurn","domain":"fulenbach.ch","mx":["fulenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fulenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2576":{"name":"Gretzenbach","canton":"Kanton Solothurn","domain":"gretzenbach.ch","mx":["gretzenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gretzenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2578":{"name":"Gunzgen","canton":"Kanton Solothurn","domain":"gunzgen.ch","mx":["gunzgen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gunzgen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2579":{"name":"Hägendorf","canton":"Kanton Solothurn","domain":"haegendorf.ch","mx":["haegendorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.tophost.ch include:_spf.tophost.ch include:relay.mailchannels.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX haegendorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2580":{"name":"Kappel (SO)","canton":"Kanton Solothurn","domain":"kappel-so.ch","mx":["kappelso-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.smtp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kappelso-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kappel-so.ch CNAME → selector1-kappelso-ch01e._domainkey.gemeindekappel.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kappel-so.ch CNAME → selector2-kappelso-ch01e._domainkey.gemeindekappel.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2581":{"name":"Olten","canton":"Kanton Solothurn","domain":"olten.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 mx ip4:164.128.174.20 ip4:193.135.131.203 a:dispatch-eu.ppe-hosted.com include:_spf.i-web.ch include:spf1.egeko.ch include:spf.protection.outlook.com include:psm.knowbe4.com include:mx.dvbern.ch include:spf.omcomputer.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"proofpoint"},"2582":{"name":"Rickenbach (SO)","canton":"Kanton Solothurn","domain":"rickenbachso.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2583":{"name":"Schönenwerd","canton":"Kanton Solothurn","domain":"schoenenwerd.ch","mx":["schoenenwerd-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schoenenwerd-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.schoenenwerd.ch CNAME → selector1-schoenenwerd-ch._domainkey.gemeindeschoenenwerd.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.schoenenwerd.ch CNAME → selector2-schoenenwerd-ch._domainkey.gemeindeschoenenwerd.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2584":{"name":"Starrkirch-Wil","canton":"Kanton Solothurn","domain":"starrkirch-wil.ch","mx":["starrkirchwil-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 ip4:217.148.4.244 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX starrkirchwil-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.starrkirch-wil.ch CNAME → selector1-starrkirchwil-ch02e._domainkey.starrkirchwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.starrkirch-wil.ch CNAME → selector2-starrkirchwil-ch02e._domainkey.starrkirchwilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2585":{"name":"Walterswil (SO)","canton":"Kanton Solothurn","domain":"walterswil.ch","mx":["mx01.servicehoster.ch","mx02.servicehoster.ch"],"spf":"v=spf1 include:servicehoster.ch a ip4:193.135.56.6 mx ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2586":{"name":"Wangen bei Olten","canton":"Kanton Solothurn","domain":"wangenbo.ch","mx":["wangenbo-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.mail.hostpoint.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wangenbo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2601":{"name":"Solothurn","canton":"Kanton Solothurn","domain":"solothurn.ch","mx":["solothurn-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx a include:_spf.ch.seppmail.cloud include:spf.nl2go.com include:_spf.i-web.ch include:_spf.zimpel.de include:spf.umantis.com ip4:194.48.244.4 ip4:185.73.240.214 -all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"2611":{"name":"Bärschwil","canton":"Kanton Solothurn","domain":"baerschwil.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 redirect=spf-permissive.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2612":{"name":"Beinwil (SO)","canton":"Kanton Solothurn","domain":"beinwil-so.ch","mx":["mail.beinwil-so.ch"],"spf":"v=spf1 +a +mx +a:rlx1.loginserver.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2613":{"name":"Breitenbach","canton":"Kanton Solothurn","domain":"breitenbach.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2614":{"name":"Büsserach","canton":"Kanton Solothurn","domain":"buesserach.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2615":{"name":"Erschwil","canton":"Kanton Solothurn","domain":"erschwil.ch","mx":["erschwil.ch.1.0001.arsmtp.com","erschwil.ch.2.0001.arsmtp.com"],"spf":"v=spf1 a:erschwil.ch mx include:exghost.com include:appriver.com include:edgepilot.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2616":{"name":"Fehren","canton":"Kanton Solothurn","domain":"fehren.ch","mx":["fehren-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.66.108.55 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fehren-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.fehren.ch CNAME → selector1-fehren-ch._domainkey.fehren.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.fehren.ch CNAME → selector2-fehren-ch._domainkey.fehren.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2617":{"name":"Grindel","canton":"Kanton Solothurn","domain":"grindel.ch","mx":["grindel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grindel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2618":{"name":"Himmelried","canton":"Kanton Solothurn","domain":"himmelried.ch","mx":["himmelried-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX himmelried-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.himmelried.ch CNAME → selector1-himmelried-ch._domainkey.himmelried.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.himmelried.ch CNAME → selector2-himmelried-ch._domainkey.himmelried.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2619":{"name":"Kleinlützel","canton":"Kanton Solothurn","domain":"kleinluetzel.ch","mx":["kleinluetzel-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.48.58.75 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kleinluetzel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2620":{"name":"Meltingen","canton":"Kanton Solothurn","domain":"meltingen.ch","mx":["meltingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX meltingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2621":{"name":"Nunningen","canton":"Kanton Solothurn","domain":"nunningen.ch","mx":["nunningen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nunningen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2622":{"name":"Zullwil","canton":"Kanton Solothurn","domain":"zullwil.ch","mx":["zullwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zullwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2701":{"name":"Basel","canton":"Kanton Basel-Stadt","domain":"bs.ch","mx":["mail.swisscom.com","mail10.swisscom.com","mail20.swisscom.com"],"spf":"v=spf1 a:mx.kundenserver.de a:spf.bs.ch include:spf.swisscom.com include:spf.crsend.com include:spf.appmail.swisscom.com include:servers.mcsv.net include:spf.nextron.ch include:_spf.jpberlin.de include:newsmailservice.de include:_spfip.oriented.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2702":{"name":"Bettingen","canton":"Kanton Basel-Stadt","domain":"bettingen.ch","mx":["mail.swisscom.com","mail10.swisscom.com","mail20.swisscom.com"],"spf":"v=spf1 a mx include:spf.swisscom.com ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2703":{"name":"Riehen","canton":"Kanton Basel-Stadt","domain":"riehen.ch","mx":["mail.swisscom.com","mail10.swisscom.com","mail20.swisscom.com"],"spf":"v=spf1 include:spf.swisscom.com include:spf.abacus.ch include:spf.amazee.io ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2761":{"name":"Aesch (BL)","canton":"Kanton Basel-Landschaft","domain":"aesch.bl.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf.protection.outlook.com include:spf.abacuscity.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2762":{"name":"Allschwil","canton":"Kanton Basel-Landschaft","domain":"allschwil.bl.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:_spf.talus.ch ip4:178.174.17.194 a:smtp-inca.allschwil.bl.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2763":{"name":"Arlesheim","canton":"Kanton Basel-Landschaft","domain":"arlesheim.ch","mx":["\\032nt.datacomm.ch","arlesheim-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX arlesheim-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2764":{"name":"Biel-Benken","canton":"Kanton Basel-Landschaft","domain":"biel-benken.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 include:_spf.talus.ch ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2765":{"name":"Binningen","canton":"Kanton Basel-Landschaft","domain":"binningen.ch","mx":["smtp.backslash.ch"],"spf":"v=spf1 ip4:193.135.56.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2766":{"name":"Birsfelden","canton":"Kanton Basel-Landschaft","domain":"birsfelden.ch","mx":["mx1.naveum.services","mx2.naveum.services"],"spf":"v=spf1 mx a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services ip4:194.56.218.181 include:spf.abacuscity.ch include:_spf.talus.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"2767":{"name":"Bottmingen","canton":"Kanton Basel-Landschaft","domain":"bottmingen.ch","mx":["bottmingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a include:spf.protection.outlook.com include:_spf.talus.ch include:spf.etermin.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bottmingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bottmingen.ch CNAME → selector1-bottmingen-ch._domainkey.ms365bottmingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bottmingen.ch CNAME → selector2-bottmingen-ch._domainkey.ms365bottmingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2768":{"name":"Ettingen","canton":"Kanton Basel-Landschaft","domain":"ettingen.ch","mx":["ettingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:web23.internezzo.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ettingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2769":{"name":"Münchenstein","canton":"Kanton Basel-Landschaft","domain":"muenchenstein.ch","mx":["mstein.in.tmes.trendmicro.eu"],"spf":"v=spf1 a mx a:mail.muenchenstein.ch ip4:212.120.52.22 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_netblocks1.admin.ch include:_netblocks3.admin.ch include:_spf.talus.ch include:spf.abacuscity.ch include:spf.tmes.trendmicro.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"2770":{"name":"Muttenz","canton":"Kanton Basel-Landschaft","domain":"muttenz.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch a:mail.i-web.ch ip4:87.102.253.202 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2771":{"name":"Oberwil (BL)","canton":"Kanton Basel-Landschaft","domain":"oberwil.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 include:_spfmx.rizag.ch mx include:_spf.i-web.ch include:spf.protection.outlook.com ip4:212.103.71.210 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"2772":{"name":"Pfeffingen","canton":"Kanton Basel-Landschaft","domain":"pfeffingen.ch","mx":["pfeffingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pfeffingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2773":{"name":"Reinach (BL)","canton":"Kanton Basel-Landschaft","domain":"reinach-bl.ch","mx":["reinach-bl-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx a:mail.format-ag.ch a:eu1.smtp.exclaimer.net a:eu2.smtp.exclaimer.net include:spf.protection.outlook.com include:spf.umantis.com include:_spf.ch.seppmail.cloud ip4:162.12.200.200 ip4:162.12.202.20 ip4:162.12.202.6 ip4:162.12.203.214 -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"2774":{"name":"Schönenbuch","canton":"Kanton Basel-Landschaft","domain":"schoenenbuch.ch","mx":["schoenenbuch-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schoenenbuch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2775":{"name":"Therwil","canton":"Kanton Basel-Landschaft","domain":"therwil.ch","mx":["therwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:146.4.42.27 ip4:212.120.37.100 a:mail.ostendis.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX therwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.therwil.ch CNAME → selector1-therwil-ch._domainkey.therwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.therwil.ch CNAME → selector2-therwil-ch._domainkey.therwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2781":{"name":"Blauen","canton":"Kanton Basel-Landschaft","domain":"blauen.ch","mx":["blauen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX blauen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2782":{"name":"Brislach","canton":"Kanton Basel-Landschaft","domain":"brislach.ch","mx":["brislach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brislach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2783":{"name":"Burg im Leimental","canton":"Kanton Basel-Landschaft","domain":"burg-il.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2784":{"name":"Dittingen","canton":"Kanton Basel-Landschaft","domain":"dittingen.ch","mx":["dittingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dittingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.dittingen.ch CNAME → selector1-dittingen-ch._domainkey.gemeindedittingench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.dittingen.ch CNAME → selector2-dittingen-ch._domainkey.gemeindedittingench.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2785":{"name":"Duggingen","canton":"Kanton Basel-Landschaft","domain":"duggingen.ch","mx":["duggingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX duggingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2786":{"name":"Grellingen","canton":"Kanton Basel-Landschaft","domain":"grellingen.ch","mx":["grellingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch a:svce-mail.softec.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grellingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2787":{"name":"Laufen","canton":"Kanton Basel-Landschaft","domain":"laufen-bl.ch","mx":["laufenbl-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX laufenbl-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2788":{"name":"Liesberg","canton":"Kanton Basel-Landschaft","domain":"liesberg.ch","mx":["liesberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX liesberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2789":{"name":"Nenzlingen","canton":"Kanton Basel-Landschaft","domain":"nenzlingen.ch","mx":["nenzlingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nenzlingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2790":{"name":"Roggenburg","canton":"Kanton Basel-Landschaft","domain":"roggenburg.ch","mx":["roggenburg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX roggenburg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2791":{"name":"Röschenz","canton":"Kanton Basel-Landschaft","domain":"roeschenz.ch","mx":["roeschenz-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:85.4.210.100 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX roeschenz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2792":{"name":"Wahlen","canton":"Kanton Basel-Landschaft","domain":"gemeinde-wahlen.ch","mx":["gemeindewahlen-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindewahlen-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2793":{"name":"Zwingen","canton":"Kanton Basel-Landschaft","domain":"zwingen.ch","mx":["zwingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX zwingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2821":{"name":"Arisdorf","canton":"Kanton Basel-Landschaft","domain":"arisdorf.ch","mx":["arisdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX arisdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.arisdorf.ch CNAME → selector1-arisdorf-ch._domainkey.gemeindearisdorfch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.arisdorf.ch CNAME → selector2-arisdorf-ch._domainkey.gemeindearisdorfch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2822":{"name":"Augst","canton":"Kanton Basel-Landschaft","domain":"augst.ch","mx":["augst-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX augst-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.augst.ch CNAME → selector1-augst-ch._domainkey.gemeindeaugstch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.augst.ch CNAME → selector2-augst-ch._domainkey.gemeindeaugstch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2823":{"name":"Bubendorf","canton":"Kanton Basel-Landschaft","domain":"bubendorf.swiss","mx":["bubendorf-swiss.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.talus.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bubendorf-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2824":{"name":"Frenkendorf","canton":"Kanton Basel-Landschaft","domain":"frenkendorf.ch","mx":["frenkendorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:communication.backslash.ch +a:psm.knowbe4.com +a:de.knowbe4.com +A -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX frenkendorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.frenkendorf.ch CNAME → selector1-frenkendorf-ch._domainkey.frenkendorfch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.frenkendorf.ch CNAME → selector2-frenkendorf-ch._domainkey.frenkendorfch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2825":{"name":"Füllinsdorf","canton":"Kanton Basel-Landschaft","domain":"fuellinsdorf.ch","mx":["fuellinsdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 include:_netblocks1.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX fuellinsdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2826":{"name":"Giebenach","canton":"Kanton Basel-Landschaft","domain":"giebenach.ch","mx":["giebenach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX giebenach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2827":{"name":"Hersberg","canton":"Kanton Basel-Landschaft","domain":"hersberg.ch","mx":["hersberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hersberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hersberg.ch CNAME → selector1-hersberg-ch._domainkey.gemeindearisdorfch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hersberg.ch CNAME → selector2-hersberg-ch._domainkey.gemeindearisdorfch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2828":{"name":"Lausen","canton":"Kanton Basel-Landschaft","domain":"lausen.ch","mx":["lausen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.talus.ch ip4:46.140.120.238 ip4:194.56.218.181 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lausen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2829":{"name":"Liestal","canton":"Kanton Basel-Landschaft","domain":"liestal.ch","mx":["mx3.armacom.ch"],"spf":"v=spf1 mx include:spf.armacom.ch a:mail.liestal.ch include:_spf.i-web.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2830":{"name":"Lupsingen","canton":"Kanton Basel-Landschaft","domain":"lupsingen.ch","mx":["lupsingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lupsingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2831":{"name":"Pratteln","canton":"Kanton Basel-Landschaft","domain":"pratteln.ch","mx":["mx3.armacom.ch"],"spf":"v=spf1 a:mail01.refline.ch a:mail02.refline.ch ip4:162.23.32.0/27 ip4:162.23.37.176 ip4:162.23.37.177 ip4:162.23.97.167 ip4:162.23.97.166 ip4:213.188.248.154 include:spf.armacom.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2832":{"name":"Ramlinsburg","canton":"Kanton Basel-Landschaft","domain":"ramlinsburg.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2833":{"name":"Seltisberg","canton":"Kanton Basel-Landschaft","domain":"seltisberg.ch","mx":["seltisberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:77.59.226.194 ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX seltisberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"2834":{"name":"Ziefen","canton":"Kanton Basel-Landschaft","domain":"ziefen.ch","mx":["ziefen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:194.0.212.0/24 ip4:193.135.56.6 ip4:195.48.58.75 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ziefen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ziefen.ch CNAME → selector1-ziefen-ch._domainkey.gemeindeziefench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ziefen.ch CNAME → selector2-ziefen-ch._domainkey.gemeindeziefench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2841":{"name":"Anwil","canton":"Kanton Basel-Landschaft","domain":"anwil.ch","mx":["anwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX anwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2842":{"name":"Böckten","canton":"Kanton Basel-Landschaft","domain":"boeckten.ch","mx":["mx01.servicehoster.ch","mx02.servicehoster.ch"],"spf":"v=spf1 include:servicehoster.ch a mx ip4:195.48.58.75 ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2843":{"name":"Buckten","canton":"Kanton Basel-Landschaft","domain":"buckten.ch","mx":["buckten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.tmes.trendmicro.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buckten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buckten.ch CNAME → selector1-buckten-ch._domainkey.gemeindebucktench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buckten.ch CNAME → selector2-buckten-ch._domainkey.gemeindebucktench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2844":{"name":"Buus","canton":"Kanton Basel-Landschaft","domain":"buus.ch","mx":["buus-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:62.202.29.62 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buus-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buus.ch CNAME → selector1-buus-ch._domainkey.gemeindebuusch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buus.ch CNAME → selector2-buus-ch._domainkey.gemeindebuusch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2845":{"name":"Diepflingen","canton":"Kanton Basel-Landschaft","domain":"diepflingen.ch","mx":["diepflingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX diepflingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.diepflingen.ch CNAME → selector1-diepflingen-ch._domainkey.gemeindediepflingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.diepflingen.ch CNAME → selector2-diepflingen-ch._domainkey.gemeindediepflingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2846":{"name":"Gelterkinden","canton":"Kanton Basel-Landschaft","domain":"gelterkinden.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 mx a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2847":{"name":"Häfelfingen","canton":"Kanton Basel-Landschaft","domain":"haefelfingen.ch","mx":["haefelfingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX haefelfingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.haefelfingen.ch CNAME → selector1-haefelfingen-ch._domainkey.gemeindehaefelfingench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.haefelfingen.ch CNAME → selector2-haefelfingen-ch._domainkey.gemeindehaefelfingench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2848":{"name":"Hemmiken","canton":"Kanton Basel-Landschaft","domain":"hemmiken.ch","mx":["rrmx.imp.ch"],"spf":"v=spf1 include:_mailspf.imp.ch include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2849":{"name":"Itingen","canton":"Kanton Basel-Landschaft","domain":"itingen.ch","mx":["itingen-ch.mail.protection.outlook.com","mail.itingen.ch"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX itingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2850":{"name":"Känerkinden","canton":"Kanton Basel-Landschaft","domain":"kaenerkinden.ch","mx":["kaenerkinden-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kaenerkinden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2851":{"name":"Kilchberg (BL)","canton":"Kanton Basel-Landschaft","domain":"verbund-schafmatt.ch","mx":["verbundschafmatt-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2852":{"name":"Läufelfingen","canton":"Kanton Basel-Landschaft","domain":"laeufelfingen.ch","mx":["laeufelfingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch +include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX laeufelfingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2853":{"name":"Maisprach","canton":"Kanton Basel-Landschaft","domain":"maisprach.ch","mx":["maisprach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX maisprach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.maisprach.ch CNAME → selector1-maisprach-ch._domainkey.gemeindemaisprachch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.maisprach.ch CNAME → selector2-maisprach-ch._domainkey.gemeindemaisprachch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2854":{"name":"Nusshof","canton":"Kanton Basel-Landschaft","domain":"nusshof.ch","mx":["nusshof-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nusshof-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.nusshof.ch CNAME → selector1-nusshof-ch._domainkey.gemeindenusshofch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.nusshof.ch CNAME → selector2-nusshof-ch._domainkey.gemeindenusshofch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2855":{"name":"Oltingen","canton":"Kanton Basel-Landschaft","domain":"verbund-schafmatt.ch","mx":["verbundschafmatt-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2856":{"name":"Ormalingen","canton":"Kanton Basel-Landschaft","domain":"ormalingen.ch","mx":["ormalingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ormalingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ormalingen.ch CNAME → selector1-ormalingen-ch._domainkey.gemeindeormalingench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ormalingen.ch CNAME → selector2-ormalingen-ch._domainkey.gemeindeormalingench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2857":{"name":"Rickenbach (BL)","canton":"Kanton Basel-Landschaft","domain":"rickenbach-bl.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 a mx ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:195.48.58.75 include:egeko.ch include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2858":{"name":"Rothenfluh","canton":"Kanton Basel-Landschaft","domain":"rothenfluh.ch","mx":["rothenfluh-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:195.48.58.75 include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rothenfluh-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rothenfluh.ch CNAME → selector1-rothenfluh-ch._domainkey.gemeinderothenfluhch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rothenfluh.ch CNAME → selector2-rothenfluh-ch._domainkey.gemeinderothenfluhch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2859":{"name":"Rümlingen","canton":"Kanton Basel-Landschaft","domain":"ruemlingen.ch","mx":["mail.ruemlingen.ch"],"spf":"v=spf1 a mx +include:spf1.egeko.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2860":{"name":"Rünenberg","canton":"Kanton Basel-Landschaft","domain":"verbund-schafmatt.ch","mx":["verbundschafmatt-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2861":{"name":"Sissach","canton":"Kanton Basel-Landschaft","domain":"sissach.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 mx a:mail.ostendis.ch include:_spf.talus.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2862":{"name":"Tecknau","canton":"Kanton Basel-Landschaft","domain":"tecknau.ch","mx":["tecknau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:193.135.56.22 include:smtp.backslash.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tecknau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2863":{"name":"Tenniken","canton":"Kanton Basel-Landschaft","domain":"tenniken.ch","mx":["tenniken-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tenniken-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.tenniken.ch CNAME → selector1-tenniken-ch._domainkey.gemeindetennikench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.tenniken.ch CNAME → selector2-tenniken-ch._domainkey.gemeindetennikench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2864":{"name":"Thürnen","canton":"Kanton Basel-Landschaft","domain":"thuernen.ch","mx":["thuernen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX thuernen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.thuernen.ch CNAME → selector1-thuernen-ch._domainkey.thuernen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.thuernen.ch CNAME → selector2-thuernen-ch._domainkey.thuernen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2865":{"name":"Wenslingen","canton":"Kanton Basel-Landschaft","domain":"verbund-schafmatt.ch","mx":["verbundschafmatt-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2866":{"name":"Wintersingen","canton":"Kanton Basel-Landschaft","domain":"wintersingen.ch","mx":["wintersingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wintersingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wintersingen.ch CNAME → selector1-wintersingen-ch._domainkey.gemeindewintersingench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wintersingen.ch CNAME → selector2-wintersingen-ch._domainkey.gemeindewintersingench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2867":{"name":"Wittinsburg","canton":"Kanton Basel-Landschaft","domain":"wittinsburg.ch","mx":["wittinsburg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wittinsburg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2868":{"name":"Zeglingen","canton":"Kanton Basel-Landschaft","domain":"verbund-schafmatt.ch","mx":["verbundschafmatt-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verbundschafmatt-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.verbund-schafmatt.ch CNAME → selector1-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.verbund-schafmatt.ch CNAME → selector2-verbundschafmatt-ch01i._domainkey.gemeindeverbundschafmatt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2869":{"name":"Zunzgen","canton":"Kanton Basel-Landschaft","domain":"zunzgen.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 ip4:193.33.128.160 include:_spf.tophost.ch +a +mx include:relay.mailchannels.net +ip4:62.202.27.236 +ip4:162.23.37.176 +ip4:162.23.37.177 +ip4:162.23.97.167 +ip4:162.23.97.166 +include:_netblocks1.admin.ch +include:_netblocks3.admin.ch +include:_netblocks4.admin.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2881":{"name":"Arboldswil","canton":"Kanton Basel-Landschaft","domain":"arboldswil.ch","mx":["arboldswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.150.248.121 include:_spf.tophost.ch include:relay.mailchannels.net mx a ip4:194.150.248.30 ip4:194.150.248.92 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX arboldswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.arboldswil.ch CNAME → selector1-arboldswil-ch._domainkey.gemeindearboldswilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.arboldswil.ch CNAME → selector2-arboldswil-ch._domainkey.gemeindearboldswilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2882":{"name":"Bennwil","canton":"Kanton Basel-Landschaft","domain":"bennwil.ch","mx":["bennwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bennwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bennwil.ch CNAME → selector1-bennwil-ch._domainkey.gemeindebennwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bennwil.ch CNAME → selector2-bennwil-ch._domainkey.gemeindebennwilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2883":{"name":"Bretzwil","canton":"Kanton Basel-Landschaft","domain":"bretzwil.ch","mx":["mx01.tophost.ch","mx02.tophost.ch"],"spf":"v=spf1 a mx ip4:193.33.128.146 include:_spf.tophost.ch include:relay.mailchannels.net -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2884":{"name":"Diegten","canton":"Kanton Basel-Landschaft","domain":"diegten.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2885":{"name":"Eptingen","canton":"Kanton Basel-Landschaft","domain":"eptingen.ch","mx":["mail.eptingen.ch"],"spf":"v=spf1 ip4:149.126.4.35 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2886":{"name":"Hölstein","canton":"Kanton Basel-Landschaft","domain":"hoelstein.ch","mx":["hoelstein-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hoelstein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hoelstein.ch CNAME → selector1-hoelstein-ch._domainkey.gemeindehoelsteinch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hoelstein.ch CNAME → selector2-hoelstein-ch._domainkey.gemeindehoelsteinch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2887":{"name":"Lampenberg","canton":"Kanton Basel-Landschaft","domain":"lampenberg.ch","mx":["lampenberg.in.tmes.trendmicro.eu"],"spf":"v=spf1 include:spf.tmes.trendmicro.com include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"}],"gateway":"trendmicro"},"2888":{"name":"Langenbruck","canton":"Kanton Basel-Landschaft","domain":"langenbruck.ch","mx":["langenbruck-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:149.126.4.36 +a +mx +ip4:195.48.58.75 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX langenbruck-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.langenbruck.ch CNAME → selector1-langenbruck-ch._domainkey.gemeindelangenbruckch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.langenbruck.ch CNAME → selector2-langenbruck-ch._domainkey.gemeindelangenbruckch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2889":{"name":"Lauwil","canton":"Kanton Basel-Landschaft","domain":"lauwil.ch","mx":["lauwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.150.248.81 include:_spf.tophost.ch include:relay.mailchannels.net +mx +a +ip4:194.150.248.139 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lauwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2890":{"name":"Liedertswil","canton":"Kanton Basel-Landschaft","domain":"liedertswil.ch","mx":["mx01.servicehoster.ch","mx02.servicehoster.ch"],"spf":"v=spf1 include:servicehoster.ch a mx ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2891":{"name":"Niederdorf","canton":"Kanton Basel-Landschaft","domain":"niederdorf.ch","mx":["niederdorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf.vtx.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX niederdorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2892":{"name":"Oberdorf (BL)","canton":"Kanton Basel-Landschaft","domain":"bl.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 ip4:193.47.168.33 ip4:178.209.55.12 ip4:93.187.192.135 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch include:spf.umantis.com include:spf.appmail.swisscom.com include:spf.mail.webland.ch include:spf.mail.hostpoint.ch include:spf.sendinblue.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch"}]},"2893":{"name":"Reigoldswil","canton":"Kanton Basel-Landschaft","domain":"gde-reigoldswil.ch","mx":["gdereigoldswil-ch0i.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gdereigoldswil-ch0i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gde-reigoldswil.ch CNAME → selector1-gdereigoldswil-ch0i._domainkey.gemeindereigoldswilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gde-reigoldswil.ch CNAME → selector2-gdereigoldswil-ch0i._domainkey.gemeindereigoldswilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2894":{"name":"Titterten","canton":"Kanton Basel-Landschaft","domain":"titterten.ch","mx":["mx01.tophost.ch","mx02.tophost.ch"],"spf":"v=spf1 ip4:194.150.248.81 include:_spf.tophost.ch include:relay.mailchannels.net ip4:194.150.248.139 +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2895":{"name":"Waldenburg","canton":"Kanton Basel-Landschaft","domain":"waldenburg.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.blk.ymc.swiss include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2901":{"name":"Gächlingen","canton":"Kanton Schaffhausen","domain":"gaechlingen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx a mx:triwdata.ch/27 include:spf.umantis.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2903":{"name":"Löhningen","canton":"Kanton Schaffhausen","domain":"loehningen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 ip4:195.246.245.125 ip4:195.246.245.126 include:spf.protection.outlook.com include:spf.mail.webland.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"2904":{"name":"Neunkirch","canton":"Kanton Schaffhausen","domain":"neunkirch.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2914":{"name":"Büttenhardt","canton":"Kanton Schaffhausen","domain":"buettenhardt.ch","mx":["buettenhardt-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buettenhardt-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2915":{"name":"Dörflingen","canton":"Kanton Schaffhausen","domain":"doerflingen.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 ip4:193.135.56.6 redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2917":{"name":"Lohn (SH)","canton":"Kanton Schaffhausen","domain":"lohn.ch","mx":["lohn.ch"],"spf":"v=spf1 include:spf.protection.cyon.net -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"2919":{"name":"Stetten (SH)","canton":"Kanton Schaffhausen","domain":"stetten.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com ip4:178.250.24.196 -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2920":{"name":"Thayngen","canton":"Kanton Schaffhausen","domain":"thayngen.ch","mx":["mx1.mtfcloud.ch","mx2.mtfcloud.ch"],"spf":"v=spf1 ip4:195.226.6.102 include:spf.mtfweb.ch include:_spf.sui-inter.net -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2931":{"name":"Bargen (SH)","canton":"Kanton Schaffhausen","domain":"bargen.ch","mx":["mx.bargen.ch"],"spf":"v=spf1 mx ip4:178.250.24.196 include:spf.protection.cyon.net -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2932":{"name":"Beringen","canton":"Kanton Schaffhausen","domain":"beringen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf.mandrillapp.com include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2933":{"name":"Buchberg","canton":"Kanton Schaffhausen","domain":"buchberg.ch","mx":["buchberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.245.188.35 ip4:193.135.58.35 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buchberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buchberg.ch CNAME → selector1-buchberg-ch._domainkey.buchbergsh.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buchberg.ch CNAME → selector2-buchberg-ch._domainkey.buchbergsh.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2936":{"name":"Merishausen","canton":"Kanton Schaffhausen","domain":"merishausen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2937":{"name":"Neuhausen am Rheinfall","canton":"Kanton Schaffhausen","domain":"neuhausen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx mx:hin.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2938":{"name":"Rüdlingen","canton":"Kanton Schaffhausen","domain":"ruedlingen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx ip4:178.250.24.196 ip4:159.144.81.1 a:mail.codx.ch include:spf.umantis.com include:spf.privasphere.com ip4:212.80.96.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2939":{"name":"Schaffhausen","canton":"Kanton Schaffhausen","domain":"stsh.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx include:_spf.mailersend.net ip4:178.250.24.196 mx:hin.ch include:_spf.taywa.ch include:spf.umantis.com include:spf.protection.outlook.com a:mx1.mtfweb.ch a:mx2.mtfweb.ch ip4:212.80.96.0/21 ip6:2a01:7480:1:100::/64 -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2951":{"name":"Beggingen","canton":"Kanton Schaffhausen","domain":"beggingen.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 include:spf1.egeko.ch redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"2952":{"name":"Schleitheim","canton":"Kanton Schaffhausen","domain":"schleitheim.ch","mx":["mx1.mtfcloud.ch","mx2.mtfcloud.ch","mx3.mtfcloud.ch"],"spf":"v=spf1 include:spf.mtfcloud.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2953":{"name":"Siblingen","canton":"Kanton Schaffhausen","domain":"siblingen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2961":{"name":"Buch (SH)","canton":"Kanton Schaffhausen","domain":"buch-sh.ch","mx":["mail.buch-sh.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2962":{"name":"Hemishofen","canton":"Kanton Schaffhausen","domain":"hemishofen.ch","mx":["mail.hemishofen.ch"],"spf":"v=spf1 +include:_spf.sui-inter.net +include:spf1.egeko.ch +a +mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"2963":{"name":"Ramsen","canton":"Kanton Schaffhausen","domain":"ramsen.ch","mx":["ramsen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ramsen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ramsen.ch CNAME → selector1-ramsen-ch._domainkey.gemeinderamsen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ramsen.ch CNAME → selector2-ramsen-ch._domainkey.gemeinderamsen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2964":{"name":"Stein am Rhein","canton":"Kanton Schaffhausen","domain":"steinamrhein.ch","mx":["steinamrhein-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.mailjet.com include:_spf.rzobt.ch ip4:194.6.176.0/24 ip4:164.128.36.0/24 ip4:193.135.56.6/32 ip4:46.231.200.190/32 ip4:46.231.200.191/32 include:spf.protection.outlook.com mx include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX steinamrhein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"2971":{"name":"Hallau","canton":"Kanton Schaffhausen","domain":"hallau.ch","mx":["hallau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.rzobt.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hallau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2972":{"name":"Oberhallau","canton":"Kanton Schaffhausen","domain":"oberhallau.ch","mx":["oberhallau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX oberhallau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"2973":{"name":"Trasadingen","canton":"Kanton Schaffhausen","domain":"ktsh.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx ip4:178.250.24.196 a:carmx01.bedag.ch a:mail.codx.ch include:spf.umantis.com include:spf.abxsec.com include:spf.privasphere.com mx:mtfweb.ch include:_spf.senders.scnem.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"2974":{"name":"Wilchingen","canton":"Kanton Schaffhausen","domain":"wilchingen.ch","mx":["miraculix1.ksd.ch","miraculix2.ksd.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3001":{"name":"Herisau","canton":"Kanton Appenzell Ausserrhoden","domain":"herisau.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch include:_spf.i-web.ch ip4:212.4.70.139 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3002":{"name":"Hundwil","canton":"Kanton Appenzell Ausserrhoden","domain":"hundwil.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3003":{"name":"Schönengrund","canton":"Kanton Appenzell Ausserrhoden","domain":"schoenengrund.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3004":{"name":"Schwellbrunn","canton":"Kanton Appenzell Ausserrhoden","domain":"schwellbrunn.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3005":{"name":"Stein (AR)","canton":"Kanton Appenzell Ausserrhoden","domain":"stein.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3006":{"name":"Urnäsch","canton":"Kanton Appenzell Ausserrhoden","domain":"ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch a:ar03.snowflakehosting.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3007":{"name":"Waldstatt","canton":"Kanton Appenzell Ausserrhoden","domain":"waldstatt.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3021":{"name":"Bühler","canton":"Kanton Appenzell Ausserrhoden","domain":"buehler.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch ip4:80.74.151.156 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3022":{"name":"Gais","canton":"Kanton Appenzell Ausserrhoden","domain":"ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch a:ar03.snowflakehosting.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3023":{"name":"Speicher","canton":"Kanton Appenzell Ausserrhoden","domain":"speicher.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3024":{"name":"Teufen (AR)","canton":"Kanton Appenzell Ausserrhoden","domain":"teufen.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3025":{"name":"Trogen","canton":"Kanton Appenzell Ausserrhoden","domain":"trogen.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3031":{"name":"Grub (AR)","canton":"Kanton Appenzell Ausserrhoden","domain":"grub.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3032":{"name":"Heiden","canton":"Kanton Appenzell Ausserrhoden","domain":"heiden.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3033":{"name":"Lutzenberg","canton":"Kanton Appenzell Ausserrhoden","domain":"lutzenberg.ch","mx":["dmzfml0001-swi.ari-ag.ch","dmzfml0001.ari-ag.ch","dmzfml0002-swi.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":60.0,"classification_signals":[]},"3034":{"name":"Rehetobel","canton":"Kanton Appenzell Ausserrhoden","domain":"rehetobel.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.223 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3035":{"name":"Reute (AR)","canton":"Kanton Appenzell Ausserrhoden","domain":"reute.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3036":{"name":"Wald (AR)","canton":"Kanton Appenzell Ausserrhoden","domain":"wald.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3037":{"name":"Walzenhausen","canton":"Kanton Appenzell Ausserrhoden","domain":"walzenhausen.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3038":{"name":"Wolfhalden","canton":"Kanton Appenzell Ausserrhoden","domain":"wolfhalden.ar.ch","mx":["dmzfml0001.ari-ag.ch","dmzfml0002.ari-ag.ch"],"spf":"v=spf1 include:_spf.ari-ag.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"}]},"3101":{"name":"Appenzell","canton":"Kanton Appenzell Innerrhoden","domain":"appenzell.ai.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ip4:194.147.134.3 -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3102":{"name":"Gonten","canton":"Kanton Appenzell Innerrhoden","domain":"gonten.ch","mx":["mg04.newday.ch","mg05.newday.ch"],"spf":"v=spf1 a a:mg02.newday.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"asn","detail":"ASN 15576 is Swiss ISP: NTS"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15576 is Swiss ISP: NTS"}]},"3104":{"name":"Schlatt-Haslen","canton":"Kanton Appenzell Innerrhoden","domain":"schlatt-haslen.ch","mx":["mail.schlatt-haslen.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3111":{"name":"Oberegg","canton":"Kanton Appenzell Innerrhoden","domain":"oberegg.ai.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ip4:194.147.134.3 -all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3112":{"name":"Schwende-Rüte","canton":"Kanton Appenzell Innerrhoden","domain":"schwende-ruete.ai.ch","mx":["ktvmx01.mail.admin.ch","ktvmx02.mail.admin.ch","ktvmx03.mail.admin.ch","ktvmx04.mail.admin.ch"],"spf":"v=spf1 include:_netblocks1.admin.ch include:_netblocks2.admin.ch include:_netblocks3.admin.ch include:_netblocks4.admin.ch ip4:159.100.252.16 ip4:194.147.134.3 -all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3201":{"name":"Häggenschwil","canton":"Kanton St. Gallen","domain":"haeggenschwil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"3202":{"name":"Muolen","canton":"Kanton St. Gallen","domain":"muolen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3203":{"name":"St. Gallen","canton":"Kanton St. Gallen","domain":"stadt.sg.ch","mx":["stadt-sg-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:spf.abxsec.com include:ict-sicherheit.stadt.sg.ch include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud include:mailgun.org ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"autodiscover","detail":"autodiscover SRV → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"seppmail"},"3204":{"name":"Wittenbach","canton":"Kanton St. Gallen","domain":"wittenbach.ch","mx":["wittenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:146.185.79.58 include:spf.abxsec.com include:spf.protection.outlook.com include:abx-net.net +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wittenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wittenbach.ch CNAME → selector1-wittenbach-ch._domainkey.gemeindewittenbach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wittenbach.ch CNAME → selector2-wittenbach-ch._domainkey.gemeindewittenbach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3211":{"name":"Berg (SG)","canton":"Kanton St. Gallen","domain":"bergsg.ch","mx":["bergsg-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:83.173.233.138 include:_spf.abxsec.com include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"3212":{"name":"Eggersriet","canton":"Kanton St. Gallen","domain":"eggersriet.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3213":{"name":"Goldach","canton":"Kanton St. Gallen","domain":"goldach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.abacuscity.ch include:spf1.refline.ch include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3214":{"name":"Mörschwil","canton":"Kanton St. Gallen","domain":"moerschwil.ch","mx":["moerschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX moerschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3215":{"name":"Rorschach","canton":"Kanton St. Gallen","domain":"rorschach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 ip4:217.162.10.22 include:_spf.abxsec.com include:spf.protection.outlook.com include:agenturserver.de include:_spf.i-web.ch include:spf.postal.e9li.io ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"abxsec"},"3216":{"name":"Rorschacherberg","canton":"Kanton St. Gallen","domain":"rorschacherberg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:217.162.10.22 include:_spf.abxsec.com include:_spf.i-web.ch include:spf.protection.outlook.com redirect=spf.mail.hostpoint.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rorschacherberg.ch CNAME → selector1-rorschacherberg-ch._domainkey.rorschacherbergch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rorschacherberg.ch CNAME → selector2-rorschacherberg-ch._domainkey.rorschacherbergch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"abxsec"},"3217":{"name":"Steinach","canton":"Kanton St. Gallen","domain":"steinach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 include:_spf.mlsend.com mx include:_spf.abxsec.com include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3218":{"name":"Tübach","canton":"Kanton St. Gallen","domain":"tuebach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com","smtagb02.abxsec.com","smtasg01.abxsec.com","smtazh01.abxsec.com","smtazh02.abxsec.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.mlsend.com mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.tuebach.ch CNAME → selector1-tuebach-ch._domainkey.gemeindetuebach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.tuebach.ch CNAME → selector2-tuebach-ch._domainkey.gemeindetuebach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"abxsec"},"3219":{"name":"Untereggen","canton":"Kanton St. Gallen","domain":"untereggen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3231":{"name":"Au (SG)","canton":"Kanton St. Gallen","domain":"au.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3232":{"name":"Balgach","canton":"Kanton St. Gallen","domain":"balgach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3233":{"name":"Berneck","canton":"Kanton St. Gallen","domain":"berneck.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3234":{"name":"Diepoldsau","canton":"Kanton St. Gallen","domain":"diepoldsau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.6 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3235":{"name":"Rheineck","canton":"Kanton St. Gallen","domain":"rheineck.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 ip4:81.62.128.114 include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"abxsec"},"3236":{"name":"St. Margrethen","canton":"Kanton St. Gallen","domain":"stmargrethen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3237":{"name":"Thal","canton":"Kanton St. Gallen","domain":"thal.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 ip4:146.185.76.0/29 ip4:213.167.225.80 ip4:157.173.127.37 a:mail01.axc.biz include:_spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.thal.ch CNAME → selector1-thal-ch._domainkey.thalch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.thal.ch CNAME → selector2-thal-ch._domainkey.thalch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}],"gateway":"abxsec"},"3238":{"name":"Widnau","canton":"Kanton St. Gallen","domain":"widnau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 ip4:194.11.218.40 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.i-web.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3251":{"name":"Altstätten","canton":"Kanton St. Gallen","domain":"altstaetten.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:217.67.134.194 include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3252":{"name":"Eichberg","canton":"Kanton St. Gallen","domain":"eichberg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.ch-dns.net include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3253":{"name":"Marbach (SG)","canton":"Kanton St. Gallen","domain":"marbach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"3254":{"name":"Oberriet (SG)","canton":"Kanton St. Gallen","domain":"oberriet.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3255":{"name":"Rebstein","canton":"Kanton St. Gallen","domain":"rebstein.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3256":{"name":"Rüthi (SG)","canton":"Kanton St. Gallen","domain":"ruethi.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3271":{"name":"Buchs (SG)","canton":"Kanton St. Gallen","domain":"buchs-sg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 a mx include:_spf.abxsec.com include:spf.postal.e9li.io include:spf.protection.outlook.com ip4:146.185.0.80/29 -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buchs-sg.ch CNAME → selector1-buchssg-ch01c._domainkey.buchssg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buchs-sg.ch CNAME → selector2-buchssg-ch01c._domainkey.buchssg.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3272":{"name":"Gams","canton":"Kanton St. Gallen","domain":"gams.ch","mx":["gams-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.abxsec.com ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gams-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gams.ch CNAME → selector1-gams-ch._domainkey.gamsgemeinde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gams.ch CNAME → selector2-gams-ch._domainkey.gamsgemeinde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3273":{"name":"Grabs","canton":"Kanton St. Gallen","domain":"grabs.sg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3274":{"name":"Sennwald","canton":"Kanton St. Gallen","domain":"sennwald.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3275":{"name":"Sevelen","canton":"Kanton St. Gallen","domain":"sevelen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com a include:spf.crsend.com a:mail01.refline.ch a:mail02.refline.ch include:spf.protection.outlook.com include:mail.kidesia.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3276":{"name":"Wartau","canton":"Kanton St. Gallen","domain":"wartau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3291":{"name":"Bad Ragaz","canton":"Kanton St. Gallen","domain":"badragaz.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3292":{"name":"Flums","canton":"Kanton St. Gallen","domain":"flums.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3293":{"name":"Mels","canton":"Kanton St. Gallen","domain":"mels.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.i-web.ch include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}],"gateway":"abxsec"},"3294":{"name":"Pfäfers","canton":"Kanton St. Gallen","domain":"pfaefers.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3295":{"name":"Quarten","canton":"Kanton St. Gallen","domain":"quarten.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3296":{"name":"Sargans","canton":"Kanton St. Gallen","domain":"sargans.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3297":{"name":"Vilters-Wangs","canton":"Kanton St. Gallen","domain":"vilters-wangs.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3298":{"name":"Walenstadt","canton":"Kanton St. Gallen","domain":"walenstadt.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3311":{"name":"Amden","canton":"Kanton St. Gallen","domain":"amden.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:spf.sendinblue.com include:spf.mailjet.com include:_spf.abxsec.com include:_spf.bexio.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3312":{"name":"Benken (SG)","canton":"Kanton St. Gallen","domain":"benken.sg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3313":{"name":"Kaltbrunn","canton":"Kanton St. Gallen","domain":"kaltbrunn.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3315":{"name":"Schänis","canton":"Kanton St. Gallen","domain":"schaenis.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3316":{"name":"Weesen","canton":"Kanton St. Gallen","domain":"weesen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"3338":{"name":"Schmerikon","canton":"Kanton St. Gallen","domain":"schmerikon.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3339":{"name":"Uznach","canton":"Kanton St. Gallen","domain":"uznach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.i-web.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3340":{"name":"Rapperswil-Jona","canton":"Kanton St. Gallen","domain":"rapperswil-jona.ch","mx":["secmail.rapperswil-jona.ch"],"spf":"v=spf1 include:spf.protection.outlook.com include:mail.rapperswil-jona.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rapperswil-jona.ch CNAME → selector1-rapperswiljona-ch02e._domainkey.rjsgch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rapperswil-jona.ch CNAME → selector2-rapperswiljona-ch02e._domainkey.rjsgch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3341":{"name":"Gommiswald","canton":"Kanton St. Gallen","domain":"gommiswald.ch","mx":["smtagb02.abxsec.com","smtasg01.abxsec.com","smtazh01.abxsec.com","smtazh02.abxsec.com"],"spf":"v=spf1 mx a:www.gommiswald.ch a:mail2.schule.gommiswald.ch include:spf.protection.outlook.com include:spf.abxsec.com redirect=spf.mail.hostpoint.ch","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gommiswald.ch CNAME → selector1-gommiswald-ch._domainkey.gmdgommiswald.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gommiswald.ch CNAME → selector2-gommiswald-ch._domainkey.gmdgommiswald.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"abxsec"},"3342":{"name":"Eschenbach (SG)","canton":"Kanton St. Gallen","domain":"eschenbach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3352":{"name":"Ebnat-Kappel","canton":"Kanton St. Gallen","domain":"ebnat-kappel.ch","mx":["ebnatkappel-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 a:mail.wattwil.ch include:spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ebnatkappel-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ebnat-kappel.ch CNAME → selector1-ebnatkappel-ch01c._domainkey.gemeindeebnatkappel.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ebnat-kappel.ch CNAME → selector2-ebnatkappel-ch01c._domainkey.gemeindeebnatkappel.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3359":{"name":"Wildhaus-Alt St. Johann","canton":"Kanton St. Gallen","domain":"wildhaus-altstjohann.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3360":{"name":"Nesslau","canton":"Kanton St. Gallen","domain":"nesslau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3374":{"name":"Lichtensteig","canton":"Kanton St. Gallen","domain":"lichtensteig.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3379":{"name":"Wattwil","canton":"Kanton St. Gallen","domain":"wattwil.ch","mx":["wattwil-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx a include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"3392":{"name":"Kirchberg (SG)","canton":"Kanton St. Gallen","domain":"kirchberg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.6 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3393":{"name":"Lütisburg","canton":"Kanton St. Gallen","domain":"luetisburg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3394":{"name":"Mosnang","canton":"Kanton St. Gallen","domain":"mosnang.ch","mx":["mosnang-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX mosnang-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3395":{"name":"Bütschwil-Ganterschwil","canton":"Kanton St. Gallen","domain":"buetschwil-ganterschwil.ch","mx":["smtasg01.abxsec.com","smtazh01.abxsec.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:spf.abxsec.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3396":{"name":"Neckertal","canton":"Kanton St. Gallen","domain":"neckertal.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 a mx include:_spf.abxsec.com include:_spf.sui-inter.net ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3401":{"name":"Degersheim","canton":"Kanton St. Gallen","domain":"degersheim.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3402":{"name":"Flawil","canton":"Kanton St. Gallen","domain":"flawil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 a mx include:spf.abxsec.com include:backslash.ch a:tesla2.sui-inter.net include:spf.abacuscity.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3405":{"name":"Jonschwil","canton":"Kanton St. Gallen","domain":"jonschwil.ch","mx":["jonschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX jonschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3407":{"name":"Oberuzwil","canton":"Kanton St. Gallen","domain":"oberuzwil.ch","mx":["oberuzwil-ch.gate.seppmail.cloud"],"spf":"v=spf1 a mx a:spam.geoinfo.ch a:mail.koelliker.ch a:mail.oberuzwil.ch ip4:62.12.163.0/27 ip4:185.63.67.18 include:spf.abxsec.com include:spf.protection.outlook.com include:_spf.i-web.ch include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oberuzwil.ch CNAME → selector1-oberuzwil-ch._domainkey.gou9242.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oberuzwil.ch CNAME → selector2-oberuzwil-ch._domainkey.gou9242.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"3408":{"name":"Uzwil","canton":"Kanton St. Gallen","domain":"uzwil.ch","mx":["uzwil-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:81.62.153.147 mx:hin.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.uzwil.ch CNAME → selector1-uzwil-ch._domainkey.gduzwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.uzwil.ch CNAME → selector2-uzwil-ch._domainkey.gduzwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"3422":{"name":"Niederbüren","canton":"Kanton St. Gallen","domain":"niederbueren.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 a mx include:_spf.abxsec.com include:relay.mailchannels.net include:spf.protection.outlook.com ip4:49.13.125.142 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3423":{"name":"Niederhelfenschwil","canton":"Kanton St. Gallen","domain":"niederhelfenschwil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"abxsec"},"3424":{"name":"Oberbüren","canton":"Kanton St. Gallen","domain":"oberbueren.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3426":{"name":"Zuzwil (SG)","canton":"Kanton St. Gallen","domain":"zuzwil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3427":{"name":"Wil (SG)","canton":"Kanton St. Gallen","domain":"stadtwil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com a:smtp.swil.ch a:bildung-web.ch include:spf.nl2go.com include:_spf.i-web.ch include:spf.abacuscity.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3441":{"name":"Andwil (SG)","canton":"Kanton St. Gallen","domain":"andwil.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3442":{"name":"Gaiserwald","canton":"Kanton St. Gallen","domain":"gaiserwald.ch","mx":["gaiserwald-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:212.80.96.0/21 ip4:213.196.176.25 ip6:2a01:7480:1:100::/64 include:_spf.abxsec.com include:spf.mtasv.net include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"3443":{"name":"Gossau (SG)","canton":"Kanton St. Gallen","domain":"stadtgossau.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:217.26.49.138 ip4:217.26.49.139 include:_spf.abxsec.com include:speedadmin.dk include:spf.nl2go.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3444":{"name":"Waldkirch","canton":"Kanton St. Gallen","domain":"waldkirch.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"abxsec"},"3506":{"name":"Vaz/Obervaz","canton":"Kanton Graubünden","domain":"vazobervaz.ch","mx":["vazobervaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf1.vazobervaz.ch include:spf2.vazobervaz.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":89.0,"classification_signals":[{"kind":"mx","detail":"MX vazobervaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3513":{"name":"Lantsch/Lenz","canton":"Kanton Graubünden","domain":"lantsch-lenz.ch","mx":["mx1.naveum.services","mx2.naveum.services"],"spf":"v=spf1 mx a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services include:_spf.tophost.ch","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"3514":{"name":"Schmitten (GR)","canton":"Kanton Graubünden","domain":"schmitten-gr.ch","mx":["mail.schmitten-gr.ch"],"spf":"v=spf1 +mx +a include:_spf.mail.hostserv.eu ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3542":{"name":"Albula/Alvra","canton":"Kanton Graubünden","domain":"albula-alvra.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3543":{"name":"Surses","canton":"Kanton Graubünden","domain":"surses.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"3544":{"name":"Bergün Filisur","canton":"Kanton Graubünden","domain":"berguenfilisur.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud a:webcms.ruf.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3551":{"name":"Brusio","canton":"Kanton Graubünden","domain":"brusio.ch","mx":["brusio-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.ddss.ch include:mailgun.org -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brusio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3561":{"name":"Poschiavo","canton":"Kanton Graubünden","domain":"poschiavo.ch","mx":["poschiavo-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:217.192.142.142 ip4:213.133.224.40 ip4:213.133.224.64 ip4:193.93.20.61 ip4:178.23.174.0/27 ip4:89.207.237.84 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX poschiavo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3572":{"name":"Falera","canton":"Kanton Graubünden","domain":"falera.net","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:193.93.20.0/26 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3575":{"name":"Laax","canton":"Kanton Graubünden","domain":"laax-gr.ch","mx":["laaxgr-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX laaxgr-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3581":{"name":"Sagogn","canton":"Kanton Graubünden","domain":"sagogn.ch","mx":["avas-in1.exigo.ch","avas-in2.exigo.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3582":{"name":"Schluein","canton":"Kanton Graubünden","domain":"schluein.ch","mx":["schluein-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:92.204.51.120 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schluein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.schluein.ch CNAME → selector1-schluein-ch._domainkey.schluein.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.schluein.ch CNAME → selector2-schluein-ch._domainkey.schluein.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3603":{"name":"Vals","canton":"Kanton Graubünden","domain":"vals.ch","mx":["vals-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:sendgrid.net include:_spf.mlsend.com include:egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vals-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vals.ch CNAME → selector1-vals-ch._domainkey.visitvals.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vals.ch CNAME → selector2-vals-ch._domainkey.visitvals.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"3618":{"name":"Lumnezia","canton":"Kanton Graubünden","domain":"lumnezia.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx ip4:193.93.20.0/26 include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"3619":{"name":"Ilanz/Glion","canton":"Kanton Graubünden","domain":"ilanz-glion.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx ip4:195.189.148.0/24 mx ip4:193.93.20.0/26 include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3633":{"name":"Fürstenau","canton":"Kanton Graubünden","domain":"fuerstenau.ch","mx":["mail.fuerstenau.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches google"}]},"3637":{"name":"Rothenbrunnen","canton":"Kanton Graubünden","domain":"rothenbrunnen.ch","mx":["mail.rothenbrunnen.ch"],"spf":"v=spf1 include:spf.protection.cyon.net -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3638":{"name":"Scharans","canton":"Kanton Graubünden","domain":"scharans.ch","mx":["mail.scharans.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches google"}]},"3640":{"name":"Sils im Domleschg","canton":"Kanton Graubünden","domain":"sils-id.ch","mx":["silsid-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.demicomp.ch include:_spf.i-web.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":91.0,"classification_signals":[{"kind":"mx","detail":"MX silsid-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3661":{"name":"Cazis","canton":"Kanton Graubünden","domain":"cazis.ch","mx":["cazis-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:81.62.176.126 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cazis-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cazis.ch CNAME → selector1-cazis-ch._domainkey.gemcazis.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cazis.ch CNAME → selector2-cazis-ch._domainkey.gemcazis.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"autodiscover","detail":"autodiscover SRV → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3662":{"name":"Flerden","canton":"Kanton Graubünden","domain":"flerden.ch","mx":["mail.flerden.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3663":{"name":"Masein","canton":"Kanton Graubünden","domain":"masein.ch","mx":["mail.masein.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3668":{"name":"Thusis","canton":"Kanton Graubünden","domain":"thusis.ch","mx":["thusis-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud include:spf.smtp2go.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX thusis-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3669":{"name":"Tschappina","canton":"Kanton Graubünden","domain":"tschappina.ch","mx":["mail.tschappina.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3670":{"name":"Urmein","canton":"Kanton Graubünden","domain":"urmein.ch","mx":["mail.urmein.ch"],"spf":"v=spf1 include:spf.protection.cyon.net -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"3672":{"name":"Safiental","canton":"Kanton Graubünden","domain":"safiental.ch","mx":["avas-in1.exigo.ch","avas-in2.exigo.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"3673":{"name":"Domleschg","canton":"Kanton Graubünden","domain":"domleschg.ch","mx":["domleschg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.mailjet.com ip4:146.4.102.214 include:spf.protection.outlook.com include:spf-repost-eu.tmcas.trendmicro.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX domleschg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3681":{"name":"Avers","canton":"Kanton Graubünden","domain":"avers.ch","mx":["mail.avers.ch"],"spf":"v=spf1 ip4:62.202.22.249 include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3695":{"name":"Sufers","canton":"Kanton Graubünden","domain":"sufers.ch","mx":["sufers-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sufers-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3701":{"name":"Andeer","canton":"Kanton Graubünden","domain":"andeer.ch","mx":["andeer-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX andeer-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3711":{"name":"Rongellen","canton":"Kanton Graubünden","domain":"rongellen.ch","mx":["rongellen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rongellen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rongellen.ch CNAME → selector1-rongellen-ch._domainkey.gemeinderongellench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rongellen.ch CNAME → selector2-rongellen-ch._domainkey.gemeinderongellench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3712":{"name":"Zillis-Reischen","canton":"Kanton Graubünden","domain":"zillis-reischen.ch","mx":["zillisreischen-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zillisreischen-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3713":{"name":"Ferrera","canton":"Kanton Graubünden","domain":"ferrera.ch","mx":["ferrera-ch.mail.protection.outlook.com"],"spf":"v=spf1 a ip4:80.74.145.75 ip4:80.74.145.111 include:spf.protection.outlook.com include:_spf.sui-inter.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ferrera-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3714":{"name":"Rheinwald","canton":"Kanton Graubünden","domain":"rheinwald.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx ip4:193.93.20.0/26 a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3715":{"name":"Muntogna da Schons","canton":"Kanton Graubünden","domain":"mdschons.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3721":{"name":"Bonaduz","canton":"","domain":"bonaduz.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx a:webcms.ruf.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3722":{"name":"Domat/Ems","canton":"","domain":"domat-ems.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 mx a:mail.alphacom.ch ip4:91.205.149.149 ip4:80.89.214.234 ip4:5.148.181.25 ip4:91.234.52.17 include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch"}],"gateway":"sophos"},"3723":{"name":"Rhäzüns","canton":"","domain":"rhaezuens.ch","mx":["rhaezuens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rhaezuens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3731":{"name":"Felsberg","canton":"","domain":"felsberg.ch","mx":["felsberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX felsberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3732":{"name":"Flims","canton":"","domain":"gemeindeflims.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:195.189.148.0/24 include:_spf.i-web.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3733":{"name":"Tamins","canton":"","domain":"tamins.ch","mx":["tamins-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.62.159.14 include:spf.protection.outlook.com include:_spf.i-web.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tamins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3734":{"name":"Trin","canton":"","domain":"gemeindetrin.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx ip4:195.189.148.0/24 ip4:146.159.132.15 ip4:146.159.132.25 ip4:195.65.10.12 ip4:91.234.52.10 ip4:91.234.52.17 include:spf.abacuscity.ch include:spf.protection.outlook.com include:spf.customer.swiss-egov.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3746":{"name":"Zernez","canton":"Kanton Graubünden","domain":"zernez.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 include:_spf.prod.hydra.sophos.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"}],"gateway":"sophos"},"3752":{"name":"Samnaun","canton":"Kanton Graubünden","domain":"samnaun.swiss","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"hornetsecurity"},"3762":{"name":"Scuol","canton":"Kanton Graubünden","domain":"scuol.net","mx":["scuol-net.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX scuol-net.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.scuol.net CNAME → selector1-scuol-net._domainkey.gemeindescuol.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.scuol.net CNAME → selector2-scuol-net._domainkey.gemeindescuol.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3764":{"name":"Valsot","canton":"Kanton Graubünden","domain":"valsot.ch","mx":["valsot-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX valsot-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3781":{"name":"Bever","canton":"Kanton Graubünden","domain":"gemeinde-bever.ch","mx":["gemeindebever-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindebever-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"3782":{"name":"Celerina/Schlarigna","canton":"Kanton Graubünden","domain":"celerina.ch","mx":["celerina-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.mailersend.net include:spf.engadin.cloud include:spf.spotwerbung.ch include:spf.protection.outlook.com a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX celerina-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.celerina.ch CNAME → selector1-celerina-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.celerina.ch CNAME → selector2-celerina-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3783":{"name":"Madulain","canton":"Kanton Graubünden","domain":"madulain.ch","mx":["madulain-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:6803279.spf01.hubspotemail.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX madulain-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"3784":{"name":"Pontresina","canton":"Kanton Graubünden","domain":"pontresina.ch","mx":["pontresina-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.mailersend.net include:spf.engadin.cloud ip4:78.46.166.37 ip6:2a01:4f8:d0a:61c2::2 include:spf.spotwerbung.ch include:spfhard.crsend.com include:spf.mailjet.com include:eu.zcsend.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":94.0,"classification_signals":[{"kind":"mx","detail":"MX pontresina-ch.mail.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.pontresina.ch CNAME → selector1-pontresina-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.pontresina.ch CNAME → selector2-pontresina-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"autodiscover","detail":"autodiscover SRV → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3785":{"name":"La Punt Chamues-ch","canton":"Kanton Graubünden","domain":"lapunt.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:193.93.0.0/16 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"3786":{"name":"Samedan","canton":"Kanton Graubünden","domain":"samedan.gr.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"3787":{"name":"St. Moritz","canton":"Kanton Graubünden","domain":"stmoritz.ch","mx":["stmoritz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.mailersend.net include:spf.engadin.cloud include:spf.crsend.com include:spf.spotwerbung.ch ip4:94.130.127.175 ip4:94.130.145.106 ip4:78.46.211.212 ip4:212.71.124.244 ip4:212.59.169.85 include:spf.protection.outlook.com a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stmoritz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.stmoritz.ch CNAME → selector1-moritz-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.stmoritz.ch CNAME → selector2-moritz-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3788":{"name":"S-chanf","canton":"Kanton Graubünden","domain":"s-chanf.ch","mx":["schanf-ch0c.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.210.99.3 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schanf-ch0c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.s-chanf.ch CNAME → selector1-schanf-ch0c._domainkey.schanf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.s-chanf.ch CNAME → selector2-schanf-ch0c._domainkey.schanf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3789":{"name":"Sils im Engadin/Segl","canton":"Kanton Graubünden","domain":"sils-segl.ch","mx":["silssegl-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 ip4:91.205.149.219 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX silssegl-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3790":{"name":"Silvaplana","canton":"Kanton Graubünden","domain":"silvaplana.ch","mx":["silvaplana-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.mailersend.net include:spf.protection.outlook.com include:spf.engadin.cloud ip4:78.46.196.81 include:spf.sendinblue.com include:spf.mailjet.com ip4:164.90.186.134 ip4:46.140.134.176/29 a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX silvaplana-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.silvaplana.ch CNAME → selector1-silvaplana-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.silvaplana.ch CNAME → selector2-silvaplana-ch._domainkey.oegde.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3791":{"name":"Zuoz","canton":"Kanton Graubünden","domain":"zuoz.ch","mx":["zuoz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.spotwerbung.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX zuoz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3792":{"name":"Bregaglia","canton":"Kanton Graubünden","domain":"bregaglia.ch","mx":["avas-in1.exigo.ch","avas-in2.exigo.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:212.243.100.184 a:pop.conet.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3804":{"name":"Buseno","canton":"Kanton Graubünden","domain":"buseno.ch","mx":["buseno-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buseno-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3805":{"name":"Castaneda","canton":"Kanton Graubünden","domain":"castaneda.ch","mx":["castaneda-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX castaneda-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3808":{"name":"Rossa","canton":"Kanton Graubünden","domain":"rossa.ch","mx":["rossa-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rossa-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3810":{"name":"Santa Maria in Calanca","canton":"Kanton Graubünden","domain":"santamariaic.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"}]},"3821":{"name":"Lostallo","canton":"Kanton Graubünden","domain":"lostallo.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 ip4:89.207.237.84 ip4:193.93.20.0/26 include:spf.mail.hostpoint.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3822":{"name":"Mesocco","canton":"Kanton Graubünden","domain":"mesocco.swiss","mx":["mesocco-swiss.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mesocco-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3823":{"name":"Soazza","canton":"Kanton Graubünden","domain":"soazza.ch","mx":["soazza-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX soazza-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3831":{"name":"Cama","canton":"Kanton Graubünden","domain":"cama.swiss","mx":["cama-swiss.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:193.93.20.0/26 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cama-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3832":{"name":"Grono","canton":"Kanton Graubünden","domain":"grono.ch","mx":["grono-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grono-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"3834":{"name":"Roveredo (GR)","canton":"Kanton Graubünden","domain":"roveredo.ch","mx":["roveredo-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.23.174.0/27 ip4:217.26.49.128/25 ip4:217.26.63.0/24 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX roveredo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3835":{"name":"San Vittore","canton":"Kanton Graubünden","domain":"sanvittore.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"}]},"3837":{"name":"Calanca","canton":"Kanton Graubünden","domain":"comunedicalanca.ch","mx":["comunedicalanca-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.93.20.0/26 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX comunedicalanca-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3847":{"name":"Val Müstair","canton":"Kanton Graubünden","domain":"cdvm.ch","mx":["cdvm-ch.mail.eo.outlook.com"],"spf":"v=spf1 ip4:195.65.44.100 include:spf.spotwerbung.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cdvm.ch CNAME → selector1-cdvm-ch._domainkey.pemenergiach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cdvm.ch CNAME → selector2-cdvm-ch._domainkey.pemenergiach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3851":{"name":"Davos","canton":"","domain":"davos.gr.ch","mx":["mail.davos.gr.ch"],"spf":"v=spf1 a mx a:mnc-mail.smsbox.ch ip4:193.247.16.137 ip4:78.47.83.228 ip6:2a01:4f8:d0a:4329::2 include:_spf.i-web.ch include:spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3861":{"name":"Fideris","canton":"","domain":"fideris.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3862":{"name":"Furna","canton":"","domain":"furna.ch","mx":["mail.furna.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"3863":{"name":"Jenaz","canton":"","domain":"jenaz.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx ip4:195.189.148.0/24 include:spf.protection.outlook.com include:_spf.sui-inter.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3871":{"name":"Klosters","canton":"","domain":"gemeindeklosters.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"3881":{"name":"Conters im Prättigau","canton":"","domain":"conters.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:_spf.i-web.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3882":{"name":"Küblis","canton":"","domain":"kueblis.ch","mx":["avas-in1.exigo.ch","avas-in2.exigo.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mx1.rufcloud.ch a:mx2.rufcloud.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3891":{"name":"Luzein","canton":"","domain":"luzein.ch","mx":["luzein-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.mail.hostpoint.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX luzein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3901":{"name":"Chur","canton":"Kanton Graubünden","domain":"chur.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx ip4:195.189.148.0/24 ip4:146.159.132.15 ip4:146.159.132.25 ip4:80.237.133.99 ip4:195.65.10.12 ip4:212.243.100.154 ip4:91.234.52.10 ip4:91.234.52.17 include:spf.abacuscity.ch include:spf.protection.outlook.com include:spf.omcomputer.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3911":{"name":"Churwalden","canton":"Kanton Graubünden","domain":"churwalden.ch","mx":["churwalden-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:109.164.250.201 ip4:217.11.36.180/30 ip4:217.151.113.161/32 a:spf.abacuscity.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX churwalden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3921":{"name":"Arosa","canton":"Kanton Graubünden","domain":"gemeindearosa.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 a mx ptr ip4:91.205.149.149 ip4:195.189.148.0/24 ip4:193.93.20.0/26 include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3945":{"name":"Trimmis","canton":"Kanton Graubünden","domain":"trimmis.ch","mx":["mail01.trimmis.ch","mail02.trimmis.ch"],"spf":"v=spf1 +mx +ip4:195.189.148.0/24 include:spf.protection.cyon.net +ip4:195.189.148.94 +ip4:195.189.148.97 include:spf.abacuscity.ch redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3946":{"name":"Untervaz","canton":"Kanton Graubünden","domain":"untervaz.ch","mx":["untervaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.eu.exclaimer.net include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX untervaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3947":{"name":"Zizers","canton":"Kanton Graubünden","domain":"zizers.ch","mx":["zizers-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zizers-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3951":{"name":"Fläsch","canton":"Kanton Graubünden","domain":"flaesch.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3952":{"name":"Jenins","canton":"Kanton Graubünden","domain":"jenins.ch","mx":["jenins-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 a:mx1.rufcloud.ch a:mx2.rufcloud.ch include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX jenins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3953":{"name":"Maienfeld","canton":"Kanton Graubünden","domain":"maienfeld.ch","mx":["avas-in1.exigo.ch","avas-in2.exigo.ch"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 a:mail.i-web.ch include:_spf.rzobt.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3954":{"name":"Malans","canton":"Kanton Graubünden","domain":"malans.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud ip4:198.2.139.11 include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3955":{"name":"Landquart","canton":"Kanton Graubünden","domain":"landquart.ch","mx":["landquart-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:mail.obt-services.ch ip4:185.27.7.120 ip4:193.93.20.0/26 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX landquart-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.landquart.ch CNAME → selector1-landquart-ch._domainkey.landquartgr.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.landquart.ch CNAME → selector2-landquart-ch._domainkey.landquartgr.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3961":{"name":"Grüsch","canton":"","domain":"gruesch.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx include:spf.customer.swiss-egov.cloud ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3962":{"name":"Schiers","canton":"","domain":"schiers.ch","mx":["schiers-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 ip4:162.23.32.11 ip4:162.23.32.12 ip4:162.23.32.13 ip4:162.23.32.14 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schiers-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3972":{"name":"Seewis im Prättigau","canton":"","domain":"seewis.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.iway.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"3981":{"name":"Breil/Brigels","canton":"Kanton Graubünden","domain":"breil.ch","mx":["breil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX breil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"3982":{"name":"Disentis/Mustér","canton":"Kanton Graubünden","domain":"disentis.ch","mx":["disentis-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ptr ip4:193.93.20.0/26 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX disentis-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"3983":{"name":"Medel (Lucmagn)","canton":"Kanton Graubünden","domain":"medel.ch","mx":["medel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX medel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3985":{"name":"Sumvitg","canton":"Kanton Graubünden","domain":"sumvitg.ch","mx":["sumvitg-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx a:mail-gateway-shared01.cyon.net ip4:194.126.4.84 ip4:80.74.128.22 include:_spf.sui-inter.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sumvitg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3986":{"name":"Tujetsch","canton":"Kanton Graubünden","domain":"tujetsch.ch","mx":["mx1.chur.ch","mx2.chur.ch"],"spf":"v=spf1 mx ip4:195.189.148.0/24 ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:146.159.132.15 ip4:146.159.132.25 ip4:80.237.133.99 ip4:195.65.10.12 ip4:212.243.100.154 ip4:91.234.52.10 ip4:91.234.52.17 ip4:193.93.20.0/26 include:spf.abacuscity.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"3987":{"name":"Trun","canton":"Kanton Graubünden","domain":"trun.ch","mx":["trun-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:80.74.128.22 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX trun-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.trun.ch CNAME → selector1-trun-ch._domainkey.gemeindetrun.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.trun.ch CNAME → selector2-trun-ch._domainkey.gemeindetrun.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"autodiscover","detail":"autodiscover SRV → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"3988":{"name":"Obersaxen Mundaun","canton":"Kanton Graubünden","domain":"obersaxenmundaun.swiss","mx":["obersaxenmundaun-swiss.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX obersaxenmundaun-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.obersaxenmundaun.swiss CNAME → selector1-obersaxenmundaun-swiss._domainkey.gvom.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.obersaxenmundaun.swiss CNAME → selector2-obersaxenmundaun-swiss._domainkey.gvom.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4001":{"name":"Aarau","canton":"Kanton Aargau","domain":"aarau.ch","mx":["aarau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:46.140.129.105 ip4:46.140.129.106 ip4:193.135.56.0/23 include:_spf.zimpel.de include:spf.abacuscity.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX aarau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.aarau.ch CNAME → selector1-aarau-ch._domainkey.aarauch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.aarau.ch CNAME → selector2-aarau-ch._domainkey.aarauch.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4002":{"name":"Biberstein","canton":"Kanton Aargau","domain":"biberstein-ag.ch","mx":["bibersteinag-ch02e.mail.eo.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4003":{"name":"Buchs (AG)","canton":"Kanton Aargau","domain":"buchs-aargau.ch","mx":["mx1.naveum.services","mx2.naveum.services"],"spf":"v=spf1 a:mail01.axc.biz a:securemail01.axc.biz a:securemail02.axc.biz a:mx1.naveum.services a:mx2.naveum.services a:srv-comet03.backslash.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"4004":{"name":"Densbüren","canton":"Kanton Aargau","domain":"densbueren.ch","mx":["densbueren-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:appriver.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX densbueren-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.densbueren.ch CNAME → selector1-densbueren-ch._domainkey.densbueren365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.densbueren.ch CNAME → selector2-densbueren-ch._domainkey.densbueren365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4005":{"name":"Erlinsbach (AG)","canton":"Kanton Aargau","domain":"erlinsbach.ch","mx":["mail.erlinsbach.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"4006":{"name":"Gränichen","canton":"Kanton Aargau","domain":"graenichen.ch","mx":["graenichen-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.graenichen.ch CNAME → selector1-graenichen-ch._domainkey.graenichench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.graenichen.ch CNAME → selector2-graenichen-ch._domainkey.graenichench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"4007":{"name":"Hirschthal","canton":"Kanton Aargau","domain":"hirschthal.ch","mx":["hirschthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.47.120.0/24 ip4:178.174.34.174 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hirschthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hirschthal.ch CNAME → selector1-hirschthal-ch._domainkey.gemeindehirschthalch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hirschthal.ch CNAME → selector2-hirschthal-ch._domainkey.gemeindehirschthalch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4008":{"name":"Küttigen","canton":"Kanton Aargau","domain":"kuettigen.ch","mx":["mail.kuettigen.ch"],"spf":"v=spf1 a mx include:spf.lanpool.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"4009":{"name":"Muhen","canton":"Kanton Aargau","domain":"muhen.ch","mx":["muhen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.netzone.ch ip4:213.221.225.126 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muhen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.muhen.ch CNAME → selector1-muhen-ch._domainkey.gemeindemuhenag.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.muhen.ch CNAME → selector2-muhen-ch._domainkey.gemeindemuhenag.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"4010":{"name":"Oberentfelden","canton":"Kanton Aargau","domain":"oberentfelden.ch","mx":["oberentfelden-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.0/24 a:mail.ostendis.ch include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberentfelden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oberentfelden.ch CNAME → selector1-oberentfelden-ch._domainkey.gemeindeoberentfeldench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oberentfelden.ch CNAME → selector2-oberentfelden-ch._domainkey.gemeindeoberentfeldench.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4012":{"name":"Suhr","canton":"Kanton Aargau","domain":"suhr.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 +a include:spf.protection.outlook.com include:fdspfeuc.freshemail.io include:sendgrid.net include:_spf_eucentral1.prod.hydra.sophos.com include:spf.netzone.ch include:spf.hausformat.net include:spf.abacuscity.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"sophos"},"4013":{"name":"Unterentfelden","canton":"Kanton Aargau","domain":"unterentfelden.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4021":{"name":"Baden","canton":"Kanton Aargau","domain":"baden.ch","mx":["baden-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:213.235.247.64/28 ip4:193.135.56.0/23 ip4:194.209.192.0/23 ip4:213.193.114.96/27 include:cmail1.com include:amazonses.com include:spf.umantis.com include:spf1.onax.ch include:spf2.onax.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX baden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:amazonses.com matches aws"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.baden.ch CNAME → selector1-baden-ch._domainkey.stadtbaden.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.baden.ch CNAME → selector2-baden-ch._domainkey.stadtbaden.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4022":{"name":"Bellikon","canton":"Kanton Aargau","domain":"bellikon.ch","mx":["bellikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:178.174.54.186 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bellikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bellikon.ch CNAME → selector1-bellikon-ch._domainkey.gemeindebellikonch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bellikon.ch CNAME → selector2-bellikon-ch._domainkey.gemeindebellikonch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4023":{"name":"Bergdietikon","canton":"Kanton Aargau","domain":"bergdietikon.ch","mx":["bergdietikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bergdietikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bergdietikon.ch CNAME → selector1-bergdietikon-ch._domainkey.gemeindebergdietikonch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bergdietikon.ch CNAME → selector2-bergdietikon-ch._domainkey.gemeindebergdietikonch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4024":{"name":"Birmenstorf (AG)","canton":"Kanton Aargau","domain":"birmenstorf.ch","mx":["birmenstorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com include:spf.lanpool.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX birmenstorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.birmenstorf.ch CNAME → selector1-birmenstorf-ch._domainkey.birmenstorf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.birmenstorf.ch CNAME → selector2-birmenstorf-ch._domainkey.birmenstorf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4026":{"name":"Ennetbaden","canton":"Kanton Aargau","domain":"ennetbaden.ch","mx":["antispam.nextron.ch"],"spf":"v=spf1 mx ip4:193.47.120.62/31 ip4:193.47.104.5 ip4:192.162.28.108 ip4:81.63.133.74 ip4:81.63.133.75 include:spf.nextron.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4027":{"name":"Fislisbach","canton":"Kanton Aargau","domain":"fislisbach.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4028":{"name":"Freienwil","canton":"Kanton Aargau","domain":"freienwil.ch","mx":["freienwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX freienwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4029":{"name":"Gebenstorf","canton":"Kanton Aargau","domain":"gebenstorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4030":{"name":"Killwangen","canton":"Kanton Aargau","domain":"killwangen.ch","mx":["killwangen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:mail.i-web.ch mx:mail.i-web.ch ip4:192.162.28.108 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX killwangen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4031":{"name":"Künten","canton":"Kanton Aargau","domain":"kuenten.ch","mx":["kuenten-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 ip4:193.135.56.0/24 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX kuenten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4032":{"name":"Mägenwil","canton":"Kanton Aargau","domain":"maegenwil.ch","mx":["maegenwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.webapps.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX maegenwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4033":{"name":"Mellingen","canton":"Kanton Aargau","domain":"mellingen.ch","mx":["cleanmail.1solution.ch"],"spf":"v=spf1 mx ip4:185.185.200.130 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"4034":{"name":"Neuenhof","canton":"Kanton Aargau","domain":"neuenhof.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 mx include:_spfmx.rizag.ch a:mist.com a:mail01.axc.biz a:mx1.naveum.services a:mx2.naveum.services include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 13030 is Swiss ISP: Init7"}]},"4035":{"name":"Niederrohrdorf","canton":"Kanton Aargau","domain":"niederrohrdorf.ch","mx":["cleanmail.1solution.ch"],"spf":"v=spf1 mx ip4:185.185.200.130 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"4037":{"name":"Oberrohrdorf","canton":"Kanton Aargau","domain":"oberrohrdorf.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4038":{"name":"Obersiggenthal","canton":"Kanton Aargau","domain":"obersiggenthal.ch","mx":["elba.iway.ch","malta.iway.ch"],"spf":"v=spf1 a include:spf.iway.ch include:spf.privasphere.com include:_spf.psm.knowbe4.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"4039":{"name":"Remetschwil","canton":"Kanton Aargau","domain":"remetschwil.ch","mx":["remetschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:146.4.17.22/30 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX remetschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.remetschwil.ch CNAME → selector1-remetschwil-ch._domainkey.remetschwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.remetschwil.ch CNAME → selector2-remetschwil-ch._domainkey.remetschwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4040":{"name":"Spreitenbach","canton":"Kanton Aargau","domain":"spreitenbach.ch","mx":["spreitenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.92.101.3/32 ip4:81.92.101.1/32 include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX spreitenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4041":{"name":"Stetten (AG)","canton":"Kanton Aargau","domain":"stetten-ag.ch","mx":["stettenag-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stettenag-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4044":{"name":"Untersiggenthal","canton":"Kanton Aargau","domain":"untersiggenthal.ch","mx":["untersiggenthal-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:_spf.ch.seppmail.cloud include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"4045":{"name":"Wettingen","canton":"Kanton Aargau","domain":"wettingen.ch","mx":["wettingen-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx a:wettingen-ch.relay.seppmail.cloud ip4:217.192.56.150 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"4046":{"name":"Wohlenschwil","canton":"Kanton Aargau","domain":"wohlenschwil.ch","mx":["wohlenschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wohlenschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wohlenschwil.ch CNAME → selector1-wohlenschwil-ch._domainkey.gemeindewohlenschwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wohlenschwil.ch CNAME → selector2-wohlenschwil-ch._domainkey.gemeindewohlenschwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4047":{"name":"Würenlingen","canton":"Kanton Aargau","domain":"wuerenlingen.ch","mx":["wuerenlingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.47.108.196 ip4:46.14.37.138 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wuerenlingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wuerenlingen.ch CNAME → selector1-wuerenlingen-ch._domainkey.gemwuer.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wuerenlingen.ch CNAME → selector2-wuerenlingen-ch._domainkey.gemwuer.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4048":{"name":"Würenlos","canton":"Kanton Aargau","domain":"wuerenlos.ch","mx":["wuerenlos-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:149.126.4.85 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wuerenlos-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wuerenlos.ch CNAME → selector1-wuerenlos-ch._domainkey.gemeindewuerenlosch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wuerenlos.ch CNAME → selector2-wuerenlos-ch._domainkey.gemeindewuerenlosch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4049":{"name":"Ehrendingen","canton":"Kanton Aargau","domain":"ehrendingen.ch","mx":["ehrendingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.22.71.80 ip4:63.35.86.4 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ehrendingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ehrendingen.ch CNAME → selector1-ehrendingen-ch._domainkey.ehrendingen365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ehrendingen.ch CNAME → selector2-ehrendingen-ch._domainkey.ehrendingen365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 16509 matches aws"}]},"4061":{"name":"Arni (AG)","canton":"Kanton Aargau","domain":"arni-ag.ch","mx":["arniag-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX arniag-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4062":{"name":"Berikon","canton":"Kanton Aargau","domain":"berikon.ch","mx":["berikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX berikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.berikon.ch CNAME → selector1-berikon-ch._domainkey.gemeindeberikonag.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.berikon.ch CNAME → selector2-berikon-ch._domainkey.gemeindeberikonag.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4063":{"name":"Bremgarten (AG)","canton":"Kanton Aargau","domain":"bremgarten.ch","mx":["bremgarten-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:83.144.243.114 include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bremgarten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bremgarten.ch CNAME → selector1-bremgarten-ch._domainkey.informatikbremgarten.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bremgarten.ch CNAME → selector2-bremgarten-ch._domainkey.informatikbremgarten.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4064":{"name":"Büttikon","canton":"Kanton Aargau","domain":"buettikon.ch","mx":["buettikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buettikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4065":{"name":"Dottikon","canton":"Kanton Aargau","domain":"dottikon.ch","mx":["dottikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:149.126.4.62 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dottikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.dottikon.ch CNAME → selector1-dottikon-ch._domainkey.vgdh.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.dottikon.ch CNAME → selector2-dottikon-ch._domainkey.vgdh.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4066":{"name":"Eggenwil","canton":"Kanton Aargau","domain":"eggenwil.ch","mx":["gateway.eggenwil.ch"],"spf":"v=spf1 mx ip4:195.64.138.0/23 ip4:46.14.246.188/30 ip4:212.25.16.23 ip4:193.135.56.0/23 a:gateway.eggenwil.ch a:mail.interdesk.ch a:idmx.interdesk.ch a:exmail.xauth.ch a:scan01.globalmx.ch a:scan02.globalmx.ch a:smtp.globalmx.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4067":{"name":"Fischbach-Göslikon","canton":"Kanton Aargau","domain":"fischbach-goeslikon.ch","mx":["fischbachgoeslikon-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:smtprelay.dialogcloud.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fischbachgoeslikon-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4068":{"name":"Hägglingen","canton":"Kanton Aargau","domain":"haegglingen.ch","mx":["haegglingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.16 ip4:89.28.153.227 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX haegglingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.haegglingen.ch CNAME → selector1-haegglingen-ch._domainkey.vgdh.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.haegglingen.ch CNAME → selector2-haegglingen-ch._domainkey.vgdh.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4071":{"name":"Jonen","canton":"Kanton Aargau","domain":"jonen.ch","mx":["jonen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.48.58.75 ip4:62.202.30.155 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX jonen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4072":{"name":"Niederwil (AG)","canton":"Kanton Aargau","domain":"niederwil.ch","mx":["niederwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX niederwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.niederwil.ch CNAME → selector1-niederwil-ch._domainkey.gemeindeniederwilag.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.niederwil.ch CNAME → selector2-niederwil-ch._domainkey.gemeindeniederwilag.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4073":{"name":"Oberlunkhofen","canton":"Kanton Aargau","domain":"oberlunkhofen.ch","mx":["oberlunkhofen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.4 ip4:193.135.56.5 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberlunkhofen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4074":{"name":"Oberwil-Lieli","canton":"Kanton Aargau","domain":"oberwil-lieli.ch","mx":["oberwillieli-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:195.48.58.75 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberwillieli-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4075":{"name":"Rudolfstetten-Friedlisberg","canton":"Kanton Aargau","domain":"rudolfstetten.ch","mx":["rudolfstetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rudolfstetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rudolfstetten.ch CNAME → selector1-rudolfstetten-ch._domainkey.rudolfstetten.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rudolfstetten.ch CNAME → selector2-rudolfstetten-ch._domainkey.rudolfstetten.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4076":{"name":"Sarmenstorf","canton":"Kanton Aargau","domain":"sarmenstorf.ch","mx":["sarmenstorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 +include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sarmenstorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.sarmenstorf.ch CNAME → selector1-sarmenstorf-ch._domainkey.sarmenstorf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.sarmenstorf.ch CNAME → selector2-sarmenstorf-ch._domainkey.sarmenstorf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4077":{"name":"Tägerig","canton":"Kanton Aargau","domain":"taegerig.ch","mx":["taegerig-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.0/24 a:mail.i-web.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX taegerig-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.taegerig.ch CNAME → selector1-taegerig-ch._domainkey.gdetaegerig.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.taegerig.ch CNAME → selector2-taegerig-ch._domainkey.gdetaegerig.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4078":{"name":"Uezwil","canton":"Kanton Aargau","domain":"uezwil.ch","mx":["uezwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX uezwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.uezwil.ch CNAME → selector1-uezwil-ch._domainkey.uezwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.uezwil.ch CNAME → selector2-uezwil-ch._domainkey.uezwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4079":{"name":"Unterlunkhofen","canton":"Kanton Aargau","domain":"unterlunkhofen.ch","mx":["unterlunkhofen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:195.48.58.76 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX unterlunkhofen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.unterlunkhofen.ch CNAME → selector1-unterlunkhofen-ch._domainkey.gemeindeunterlunkhofench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.unterlunkhofen.ch CNAME → selector2-unterlunkhofen-ch._domainkey.gemeindeunterlunkhofench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4080":{"name":"Villmergen","canton":"Kanton Aargau","domain":"villmergen.ch","mx":["villmergen-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:_spf.ch.seppmail.cloud include:_spf.i-web.ch mx:hin.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"4081":{"name":"Widen","canton":"Kanton Aargau","domain":"widen.ch","mx":["widen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.incamail.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX widen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.widen.ch CNAME → selector1-widen-ch._domainkey.widen365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.widen.ch CNAME → selector2-widen-ch._domainkey.widen365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4082":{"name":"Wohlen (AG)","canton":"Kanton Aargau","domain":"wohlen.ch","mx":["wohlen-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:_spf.i-web.ch ip4:194.209.188.212 ip4:10.4.254.50 include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"4083":{"name":"Zufikon","canton":"Kanton Aargau","domain":"zufikon.ch","mx":["zufikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:46.14.11.134 ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:80.74.128.222 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zufikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.zufikon.ch CNAME → selector1-zufikon-ch._domainkey.gemeindezufikon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.zufikon.ch CNAME → selector2-zufikon-ch._domainkey.gemeindezufikon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4084":{"name":"Islisberg","canton":"Kanton Aargau","domain":"islisberg.ch","mx":["islisberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.0/24 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX islisberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.islisberg.ch CNAME → selector1-islisberg-ch._domainkey.gemeindeislisbergch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.islisberg.ch CNAME → selector2-islisberg-ch._domainkey.gemeindeislisbergch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4091":{"name":"Auenstein","canton":"Kanton Aargau","domain":"auenstein.ch","mx":["auenstein-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX auenstein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.auenstein.ch CNAME → selector1-auenstein-ch._domainkey.auenstein.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.auenstein.ch CNAME → selector2-auenstein-ch._domainkey.auenstein.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4092":{"name":"Birr","canton":"Kanton Aargau","domain":"birr.ch","mx":["cleanmail.1solution.ch"],"spf":"v=spf1 mx a:relay.dtp.ch ip4:193.135.56.6 ip4:80.254.185.101 ip4:52.157.149.216 ip4:20.52.138.252 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}]},"4093":{"name":"Birrhard","canton":"Kanton Aargau","domain":"birrhard.ch","mx":["birrhard-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX birrhard-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4095":{"name":"Brugg","canton":"Kanton Aargau","domain":"brugg.ch","mx":["brugg-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.brugg.ch CNAME → selector1-brugg-ch._domainkey.bruggch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.brugg.ch CNAME → selector2-brugg-ch._domainkey.bruggch.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"4099":{"name":"Habsburg","canton":"Kanton Aargau","domain":"habsburg.ch","mx":["habsburg-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:193.135.56.6 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX habsburg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4100":{"name":"Hausen (AG)","canton":"Kanton Aargau","domain":"hausen.swiss","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4104":{"name":"Lupfig","canton":"Kanton Aargau","domain":"lupfig.ch","mx":["lupfig-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lupfig-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.lupfig.ch CNAME → selector1-lupfig-ch._domainkey.gemeindelupfigch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.lupfig.ch CNAME → selector2-lupfig-ch._domainkey.gemeindelupfigch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4105":{"name":"Mandach","canton":"Kanton Aargau","domain":"mandach.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"dkim","detail":"DKIM selector1._domainkey.mandach.ch CNAME → selector1-mandach-ch._domainkey.gemeindemandachch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.mandach.ch CNAME → selector2-mandach-ch._domainkey.gemeindemandachch.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4106":{"name":"Mönthal","canton":"Kanton Aargau","domain":"moenthal.ch","mx":["moenthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:193.47.104.5 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX moenthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.moenthal.ch CNAME → selector1-moenthal-ch._domainkey.gemeindemoenthalch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.moenthal.ch CNAME → selector2-moenthal-ch._domainkey.gemeindemoenthalch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4107":{"name":"Mülligen","canton":"Kanton Aargau","domain":"muelligen.ch","mx":["muelligen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 ip4:193.135.58.22 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muelligen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.muelligen.ch CNAME → selector1-muelligen-ch._domainkey.muelligen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.muelligen.ch CNAME → selector2-muelligen-ch._domainkey.muelligen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4110":{"name":"Remigen","canton":"Kanton Aargau","domain":"remigen.ch","mx":["remigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a a:remigen.ch include:spf.protection.outlook.com include:_spf.rzobt.ch include:spf.escapenet.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX remigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4111":{"name":"Riniken","canton":"Kanton Aargau","domain":"riniken.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4112":{"name":"Rüfenach","canton":"Kanton Aargau","domain":"ruefenach.ch","mx":["ruefenach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ruefenach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4117":{"name":"Thalheim (AG)","canton":"Kanton Aargau","domain":"gemeinde-thalheim.ch","mx":["gemeindethalheim-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindethalheim-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4120":{"name":"Veltheim (AG)","canton":"Kanton Aargau","domain":"veltheim.ch","mx":["veltheim-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX veltheim-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.veltheim.ch CNAME → selector1-veltheim-ch._domainkey.gemeindeveltheimch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.veltheim.ch CNAME → selector2-veltheim-ch._domainkey.gemeindeveltheimch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4121":{"name":"Villigen","canton":"Kanton Aargau","domain":"villigen.ch","mx":["villigen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com include:_spf.sui-inter.net include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX villigen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4123":{"name":"Windisch","canton":"Kanton Aargau","domain":"windisch.ch","mx":["windisch-ch.gate.seppmail.cloud"],"spf":"v=spf1 include:_spf.ch.seppmail.cloud ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"dkim","detail":"DKIM selector1._domainkey.windisch.ch CNAME → selector1-windisch-ch._domainkey.windischch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.windisch.ch CNAME → selector2-windisch-ch._domainkey.windischch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"seppmail"},"4124":{"name":"Bözberg","canton":"Kanton Aargau","domain":"boezberg.ch","mx":["boezberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:213.193.96.234 ip4:193.47.120.62 ip4:193.47.120.63 include:_spf.sui-inter.net include:spf.protection.outlook.com include:_spf.rzobt.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boezberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.boezberg.ch CNAME → selector1-boezberg-ch._domainkey.boezberg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.boezberg.ch CNAME → selector2-boezberg-ch._domainkey.boezberg.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4125":{"name":"Schinznach","canton":"Kanton Aargau","domain":"schinznach.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4131":{"name":"Beinwil am See","canton":"Kanton Aargau","domain":"beinwilamsee.ch","mx":["beinwilamsee-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX beinwilamsee-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.beinwilamsee.ch CNAME → selector1-beinwilamsee-ch._domainkey.beinwilamsee365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.beinwilamsee.ch CNAME → selector2-beinwilamsee-ch._domainkey.beinwilamsee365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4132":{"name":"Birrwil","canton":"Kanton Aargau","domain":"birrwil.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4134":{"name":"Dürrenäsch","canton":"Kanton Aargau","domain":"duerrenaesch.ch","mx":["duerrenaesch-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX duerrenaesch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4135":{"name":"Gontenschwil","canton":"Kanton Aargau","domain":"gontenschwil.ch","mx":["gontenschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.104.34.104 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gontenschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gontenschwil.ch CNAME → selector1-gontenschwil-ch._domainkey.gontenschwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gontenschwil.ch CNAME → selector2-gontenschwil-ch._domainkey.gontenschwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4136":{"name":"Holziken","canton":"Kanton Aargau","domain":"holziken.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx ip4:195.48.58.75 ip4:193.47.120.0/24 include:rzmail.hi-ag.ch include:egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4137":{"name":"Leimbach (AG)","canton":"Kanton Aargau","domain":"leimbach.swiss","mx":["leimbach-swiss.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:195.48.58.75 include:spf1.egeko.ch include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leimbach-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4138":{"name":"Leutwil","canton":"Kanton Aargau","domain":"leutwil.ch","mx":["leutwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX leutwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4139":{"name":"Menziken","canton":"Kanton Aargau","domain":"menziken.ch","mx":["menziken-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:securemail.menziken.ch include:spf.protection.outlook.com include:_spf-saas.rubicon.eu -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX menziken-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 8075 matches ms365"}]},"4140":{"name":"Oberkulm","canton":"Kanton Aargau","domain":"oberkulm.ch","mx":["oberkulm-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberkulm-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4141":{"name":"Reinach (AG)","canton":"Kanton Aargau","domain":"reinach.ch","mx":["reinach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.0/24 ip4:193.47.108.196 ip4:83.173.248.210 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX reinach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.reinach.ch CNAME → selector1-reinach-ch._domainkey.reinach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.reinach.ch CNAME → selector2-reinach-ch._domainkey.reinach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4142":{"name":"Schlossrued","canton":"Kanton Aargau","domain":"schlossrued.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:spf1.egeko.ch include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4143":{"name":"Schmiedrued","canton":"Kanton Aargau","domain":"schmiedrued-walde.ch","mx":["schmiedruedwalde-ch02i.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:195.48.58.75 ip4:193.47.120.0/24 ip4:80.74.146.136 include:rzmail.hi-ag.ch v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schmiedruedwalde-ch02i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4144":{"name":"Schöftland","canton":"Kanton Aargau","domain":"schoeftland.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4145":{"name":"Teufenthal (AG)","canton":"Kanton Aargau","domain":"teufenthal.ch","mx":["teufenthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com include:mail.rubicon.eu -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX teufenthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.teufenthal.ch CNAME → selector1-teufenthal-ch._domainkey.gemeindeteufenthal.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.teufenthal.ch CNAME → selector2-teufenthal-ch._domainkey.gemeindeteufenthal.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4146":{"name":"Unterkulm","canton":"Kanton Aargau","domain":"unterkulm.ch","mx":["unterkulm-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:81.62.141.146 include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":77.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"4147":{"name":"Zetzwil","canton":"Kanton Aargau","domain":"zetzwil.ch","mx":["zetzwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:84.75.1.7 ip4:193.135.56.6 include:_spf-saas.rubicon.eu -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zetzwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.zetzwil.ch CNAME → selector1-zetzwil-ch._domainkey.zetzwil.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.zetzwil.ch CNAME → selector2-zetzwil-ch._domainkey.zetzwil.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4161":{"name":"Eiken","canton":"Kanton Aargau","domain":"eiken.ch","mx":["eiken-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eiken-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.eiken.ch CNAME → selector1-eiken-ch._domainkey.eikench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.eiken.ch CNAME → selector2-eiken-ch._domainkey.eikench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4163":{"name":"Frick","canton":"Kanton Aargau","domain":"frick.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4164":{"name":"Gansingen","canton":"Kanton Aargau","domain":"gansingen.ch","mx":["gansingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.90.195.154 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gansingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gansingen.ch CNAME → selector1-gansingen-ch._domainkey.gemeindegansingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gansingen.ch CNAME → selector2-gansingen-ch._domainkey.gemeindegansingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4165":{"name":"Gipf-Oberfrick","canton":"Kanton Aargau","domain":"gipf-oberfrick.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:81.62.142.155 -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4169":{"name":"Kaisten","canton":"Kanton Aargau","domain":"kaisten.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4170":{"name":"Laufenburg","canton":"Kanton Aargau","domain":"laufenburg.ch","mx":["laufenburg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX laufenburg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.laufenburg.ch CNAME → selector1-laufenburg-ch._domainkey.laufenburgcloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.laufenburg.ch CNAME → selector2-laufenburg-ch._domainkey.laufenburgcloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"autodiscover","detail":"autodiscover SRV → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4172":{"name":"Münchwilen (AG)","canton":"Kanton Aargau","domain":"muenchwilen-ag.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf1.egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4173":{"name":"Oberhof","canton":"Kanton Aargau","domain":"oberhof.ch","mx":["oberhof-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberhof-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4175":{"name":"Oeschgen","canton":"Kanton Aargau","domain":"oeschgen.ch","mx":["oeschgen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oeschgen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oeschgen.ch CNAME → selector1-oeschgen-ch._domainkey.gemeindeoeschgench.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oeschgen.ch CNAME → selector2-oeschgen-ch._domainkey.gemeindeoeschgench.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4176":{"name":"Schwaderloch","canton":"Kanton Aargau","domain":"schwaderloch.ch","mx":["schwaderloch-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schwaderloch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4177":{"name":"Sisseln","canton":"Kanton Aargau","domain":"sisseln.ch","mx":["sisseln-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sisseln-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.sisseln.ch CNAME → selector1-sisseln-ch._domainkey.sisseln.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.sisseln.ch CNAME → selector2-sisseln-ch._domainkey.sisseln.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4181":{"name":"Wittnau","canton":"Kanton Aargau","domain":"wittnau.ch","mx":["wittnau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 ip4:146.4.71.186 include:rzmail.hi-ag.ch include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wittnau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4182":{"name":"Wölflinswil","canton":"Kanton Aargau","domain":"woelflinswil.ch","mx":["woelflinswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX woelflinswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.woelflinswil.ch CNAME → selector1-woelflinswil-ch._domainkey.gemeindewoelflinswilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.woelflinswil.ch CNAME → selector2-woelflinswil-ch._domainkey.gemeindewoelflinswilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4183":{"name":"Zeihen","canton":"Kanton Aargau","domain":"zeihen.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:_spf.talus.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4184":{"name":"Mettauertal","canton":"Kanton Aargau","domain":"mettauertal.ch","mx":["mettauertal-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:sui-inter.net ip4:46.140.27.106 include:_spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mettauertal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.mettauertal.ch CNAME → selector1-mettauertal-ch._domainkey.gemeindemettauertalch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.mettauertal.ch CNAME → selector2-mettauertal-ch._domainkey.gemeindemettauertalch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4185":{"name":"Böztal","canton":"Kanton Aargau","domain":"boeztal.ch","mx":["boeztal-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:80.74.144.28 ip4:81.62.247.42 ip4:83.173.200.124 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boeztal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.boeztal.ch CNAME → selector1-boeztal-ch._domainkey.boeztal.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.boeztal.ch CNAME → selector2-boeztal-ch._domainkey.boeztal.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4186":{"name":"Herznach-Ueken","canton":"Kanton Aargau","domain":"herznach-ueken.ch","mx":["herznachueken-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.47.120.62 ip4:193.47.120.63 ip4:195.48.58.75 include:spf.protection.outlook.com include:egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX herznachueken-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4191":{"name":"Ammerswil","canton":"Kanton Aargau","domain":"ammerswil.ch","mx":["ammerswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:91.118.154.96 ip4:62.99.130.28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ammerswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ammerswil.ch CNAME → selector1-ammerswil-ch._domainkey.seengen365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ammerswil.ch CNAME → selector2-ammerswil-ch._domainkey.seengen365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4192":{"name":"Boniswil","canton":"Kanton Aargau","domain":"boniswil.ch","mx":["boniswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boniswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.boniswil.ch CNAME → selector1-boniswil-ch._domainkey.boniswil365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.boniswil.ch CNAME → selector2-boniswil-ch._domainkey.boniswil365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4193":{"name":"Brunegg","canton":"Kanton Aargau","domain":"brunegg.ch","mx":["brunegg-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brunegg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4194":{"name":"Dintikon","canton":"Kanton Aargau","domain":"dintikon.ch","mx":["dintikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dintikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4195":{"name":"Egliswil","canton":"Kanton Aargau","domain":"egliswil.ch","mx":["egliswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.58.35 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX egliswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.egliswil.ch CNAME → selector1-egliswil-ch._domainkey.seengen365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.egliswil.ch CNAME → selector2-egliswil-ch._domainkey.seengen365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4196":{"name":"Fahrwangen","canton":"Kanton Aargau","domain":"fahrwangen.ch","mx":["fahrwangen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.47.104.5 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fahrwangen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.fahrwangen.ch CNAME → selector1-fahrwangen-ch._domainkey.fahrwangen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.fahrwangen.ch CNAME → selector2-fahrwangen-ch._domainkey.fahrwangen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4197":{"name":"Hallwil","canton":"Kanton Aargau","domain":"hallwil.ch","mx":["hallwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hallwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hallwil.ch CNAME → selector1-hallwil-ch._domainkey.gemeindehallwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hallwil.ch CNAME → selector2-hallwil-ch._domainkey.gemeindehallwilch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4198":{"name":"Hendschiken","canton":"Kanton Aargau","domain":"hendschiken.ch","mx":["hendschiken-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.62.190.74 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hendschiken-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4199":{"name":"Holderbank (AG)","canton":"Kanton Aargau","domain":"holderbank.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 mx include:_spf.holderbank.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4200":{"name":"Hunzenschwil","canton":"Kanton Aargau","domain":"hunzenschwil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4201":{"name":"Lenzburg","canton":"Kanton Aargau","domain":"lenzburg.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx a:mail1.mysign.ch include:_spf.abxsec.com include:spf.protection.outlook.com include:mx.dvbern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"abxsec"},"4202":{"name":"Meisterschwanden","canton":"Kanton Aargau","domain":"meisterschwanden.ch","mx":["meisterschwanden-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX meisterschwanden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4203":{"name":"Möriken-Wildegg","canton":"Kanton Aargau","domain":"moeriken-wildegg.ch","mx":["moerikenwildegg-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 ip4:194.56.218.181 include:spf.protection.outlook.com include:spf.talus.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX moerikenwildegg-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.moeriken-wildegg.ch CNAME → selector1-moerikenwildegg-ch02b._domainkey.moerikenwildeggch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.moeriken-wildegg.ch CNAME → selector2-moerikenwildegg-ch02b._domainkey.moerikenwildeggch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4204":{"name":"Niederlenz","canton":"Kanton Aargau","domain":"niederlenz.ch","mx":["niederlenz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX niederlenz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.niederlenz.ch CNAME → selector1-niederlenz-ch._domainkey.niederlenz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.niederlenz.ch CNAME → selector2-niederlenz-ch._domainkey.niederlenz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4205":{"name":"Othmarsingen","canton":"Kanton Aargau","domain":"othmarsingen.ch","mx":["othmarsingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.0/24 ip4:193.47.104.5 include:spf.abacuscity.ch include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX othmarsingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.othmarsingen.ch CNAME → selector1-othmarsingen-ch._domainkey.gemeindeothmarsingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.othmarsingen.ch CNAME → selector2-othmarsingen-ch._domainkey.gemeindeothmarsingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4206":{"name":"Rupperswil","canton":"Kanton Aargau","domain":"rupperswil.ch","mx":["mailrelay01.ascanius.ch"],"spf":"v=spf1 mx a include:_spf.i-web.ch a:mailrelay01.ascanius.ch a:mail.rupperswil.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"4207":{"name":"Schafisheim","canton":"Kanton Aargau","domain":"schafisheim.ch","mx":["schafisheim-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.65.10.12 ip4:195.65.10.15 ip4:193.47.120.0/24 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schafisheim-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.schafisheim.ch CNAME → selector1-schafisheim-ch._domainkey.schafisheim.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.schafisheim.ch CNAME → selector2-schafisheim-ch._domainkey.schafisheim.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4208":{"name":"Seengen","canton":"Kanton Aargau","domain":"seengen.ch","mx":["seengen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX seengen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.seengen.ch CNAME → selector1-seengen-ch._domainkey.seengen365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.seengen.ch CNAME → selector2-seengen-ch._domainkey.seengen365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4209":{"name":"Seon","canton":"Kanton Aargau","domain":"seon.ch","mx":["seon-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx ip4:83.173.217.10 ip4:193.47.120.62 ip4:193.47.120.63 include:spf.protection.outlook.com include:_spf.ch.seppmail.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"seppmail"},"4210":{"name":"Staufen","canton":"Kanton Aargau","domain":"staufen.ch","mx":["srv32.hli.ch","srv35.hli.ch"],"spf":"v=spf1 a mx ip4:81.62.225.254 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4221":{"name":"Abtwil","canton":"Kanton Aargau","domain":"abtwilag.ch","mx":["abtwilag-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX abtwilag-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.abtwilag.ch CNAME → selector1-abtwilag-ch._domainkey.gemeindeabtwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.abtwilag.ch CNAME → selector2-abtwilag-ch._domainkey.gemeindeabtwilch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4222":{"name":"Aristau","canton":"Kanton Aargau","domain":"aristau.ch","mx":["aristau-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:webcms.ruf.ch ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX aristau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4223":{"name":"Auw","canton":"Kanton Aargau","domain":"auw.ch","mx":["auw-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX auw-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4224":{"name":"Beinwil (Freiamt)","canton":"Kanton Aargau","domain":"beinwil.ch","mx":["beinwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX beinwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4226":{"name":"Besenbüren","canton":"Kanton Aargau","domain":"besenbueren.ch","mx":["besenbueren-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:rzmail.hi-ag.ch +include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX besenbueren-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.besenbueren.ch CNAME → selector1-besenbueren-ch._domainkey.gemeindebesenbueren.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.besenbueren.ch CNAME → selector2-besenbueren-ch._domainkey.gemeindebesenbueren.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4227":{"name":"Bettwil","canton":"Kanton Aargau","domain":"bettwil.ch","mx":["bettwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.0/24 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bettwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4228":{"name":"Boswil","canton":"Kanton Aargau","domain":"boswil.ch","mx":["boswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.boswil.ch CNAME → selector1-boswil-ch._domainkey.gemeindeboswilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.boswil.ch CNAME → selector2-boswil-ch._domainkey.gemeindeboswilch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4229":{"name":"Bünzen","canton":"Kanton Aargau","domain":"buenzen.ch","mx":["buenzen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.47.104.5 ip4:195.48.58.75 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buenzen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4230":{"name":"Buttwil","canton":"Kanton Aargau","domain":"buttwil.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4231":{"name":"Dietwil","canton":"Kanton Aargau","domain":"dietwil.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4232":{"name":"Geltwil","canton":"Kanton Aargau","domain":"geltwil.ch","mx":["geltwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX geltwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4233":{"name":"Kallern","canton":"Kanton Aargau","domain":"kallern.ch","mx":["kallern-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 ip4:146.4.3.166 include:rzmail.hi-ag.ch include:spf.protection.outlook.com a:spf.hostfactory.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kallern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kallern.ch CNAME → selector1-kallern-ch._domainkey.kallern365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kallern.ch CNAME → selector2-kallern-ch._domainkey.kallern365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 29691 is Swiss ISP: Hostpoint / Green.ch"}]},"4234":{"name":"Merenschwand","canton":"Kanton Aargau","domain":"merenschwand.ch","mx":["merenschwand-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:webcms.ruf.ch ip4:193.135.56.6 ip4:84.253.8.36 include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX merenschwand-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4235":{"name":"Mühlau","canton":"Kanton Aargau","domain":"muehlau.ch","mx":["muehlau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf1.egeko.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muehlau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4236":{"name":"Muri (AG)","canton":"Kanton Aargau","domain":"muri.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch include:spf.mail.digitalparking.ch include:_spf.psm.knowbe4.com include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4237":{"name":"Oberrüti","canton":"Kanton Aargau","domain":"oberrueti.ch","mx":["oberrueti-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com mx ip4:195.48.58.75 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oberrueti-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oberrueti.ch CNAME → selector1-oberrueti-ch._domainkey.oberruetich.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oberrueti.ch CNAME → selector2-oberrueti-ch._domainkey.oberruetich.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4238":{"name":"Rottenschwil","canton":"Kanton Aargau","domain":"rottenschwil.ch","mx":["rottenschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.48.58.75 include:servers.mcsv.net include:relay.mailchannels.net include:rzmail.hi-ag.ch include:spf1.egeko.ch include:spf.protection.outlook.com include:swisscrow.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rottenschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rottenschwil.ch CNAME → selector1-rottenschwil-ch._domainkey.gemeinderottenschwilch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rottenschwil.ch CNAME → selector2-rottenschwil-ch._domainkey.gemeinderottenschwilch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4239":{"name":"Sins","canton":"Kanton Aargau","domain":"sins.ch","mx":["sins-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.0/24 include:spf.protection.outlook.com include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4240":{"name":"Waltenschwil","canton":"Kanton Aargau","domain":"waltenschwil.ch","mx":["waltenschwil-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.243.197.0/24 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX waltenschwil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.waltenschwil.ch CNAME → selector1-waltenschwil-ch._domainkey.waltenschwil365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.waltenschwil.ch CNAME → selector2-waltenschwil-ch._domainkey.waltenschwil365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4251":{"name":"Hellikon","canton":"Kanton Aargau","domain":"hellikon.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a:delta.magicsystems.ch ip4:195.48.58.75 include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4252":{"name":"Kaiseraugst","canton":"Kanton Aargau","domain":"kaiseraugst.ch","mx":["feedback-smtp.eu-cenral-1.amazonses.com","kaiseraugst-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.47.104.5 ip4:193.47.108.198 include:spf.protection.outlook.com include:amazonses.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX kaiseraugst-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:amazonses.com matches aws"},{"kind":"dkim","detail":"DKIM selector1._domainkey.kaiseraugst.ch CNAME → selector1-kaiseraugst-ch._domainkey.kagst.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.kaiseraugst.ch CNAME → selector2-kaiseraugst-ch._domainkey.kagst.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4253":{"name":"Magden","canton":"Kanton Aargau","domain":"magden.ch","mx":["magden-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 a:mail.obt-services.ch ip4:193.47.104.5 include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX magden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.magden.ch CNAME → selector1-magden-ch._domainkey.magdencloud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.magden.ch CNAME → selector2-magden-ch._domainkey.magdencloud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4254":{"name":"Möhlin","canton":"Kanton Aargau","domain":"moehlin.ch","mx":["moehlin-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"4255":{"name":"Mumpf","canton":"Kanton Aargau","domain":"mumpf.ch","mx":["mumpf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mumpf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4256":{"name":"Obermumpf","canton":"Kanton Aargau","domain":"obermumpf.ch","mx":["obermumpf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:exchange-spf.netzone.ch ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX obermumpf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4257":{"name":"Olsberg","canton":"Kanton Aargau","domain":"olsberg.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4258":{"name":"Rheinfelden","canton":"Kanton Aargau","domain":"rheinfelden.ch","mx":["rheinfelden-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx include:_spf.i-web.ch include:_spf.talus.ch include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com include:spf.protect.kvnbw.de include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"seppmail"},"4259":{"name":"Schupfart","canton":"Kanton Aargau","domain":"schupfart.ch","mx":["schupfart-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:193.47.120.64 ip4:193.47.120.65 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX schupfart-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4260":{"name":"Stein (AG)","canton":"Kanton Aargau","domain":"gemeinde-stein.ch","mx":["gemeindestein-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindestein-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gemeinde-stein.ch CNAME → selector1-gemeindestein-ch02b._domainkey.gemeindesteinagch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gemeinde-stein.ch CNAME → selector2-gemeindestein-ch02b._domainkey.gemeindesteinagch.onmicrosoft.com"},{"kind":"dmarc","detail":"DMARC record matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"4261":{"name":"Wallbach","canton":"Kanton Aargau","domain":"wallbach.ch","mx":["wallbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX wallbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.wallbach.ch CNAME → selector1-wallbach-ch._domainkey.gemeindewallbach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.wallbach.ch CNAME → selector2-wallbach-ch._domainkey.gemeindewallbach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4262":{"name":"Wegenstetten","canton":"Kanton Aargau","domain":"wegenstetten.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4263":{"name":"Zeiningen","canton":"Kanton Aargau","domain":"zeiningen.ch","mx":["zeiningen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:spf.mail.hostpoint.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zeiningen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4264":{"name":"Zuzgen","canton":"Kanton Aargau","domain":"zuzgen.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:195.48.58.75 include:rzmail.hi-ag.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4271":{"name":"Aarburg","canton":"Kanton Aargau","domain":"aarburg.ch","mx":["aarburg-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.abacuscity.ch include:_spf.i-web.ch ip4:193.5.117.74 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX aarburg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4273":{"name":"Bottenwil","canton":"Kanton Aargau","domain":"bottenwil.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 mx a ip4:193.47.120.0/24 ip4:193.135.56.6 include:rzmail.hi-ag.ch include:spf1.egeko.ch -all","provider":"aws","category":"us-cloud","classification_confidence":84.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4274":{"name":"Brittnau","canton":"Kanton Aargau","domain":"brittnau.ch","mx":["brittnau1.cleanmail.ch","brittnau2.cleanmail.ch"],"spf":"v=spf1 mx include:_cmspf.cleanmail.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"cleanmail"},"4275":{"name":"Kirchleerau","canton":"Kanton Aargau","domain":"kirchleerau.ch","mx":["kirchleerau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX kirchleerau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4276":{"name":"Kölliken","canton":"Kanton Aargau","domain":"koelliken.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 include:_spf.talus.ch ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4277":{"name":"Moosleerau","canton":"Kanton Aargau","domain":"moosleerau.ch","mx":["moosleerau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:213.193.80.0/27 ip4:91.118.154.96 ip4:62.99.130.28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX moosleerau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4279":{"name":"Murgenthal","canton":"Kanton Aargau","domain":"murgenthal.ch","mx":["murgenthal-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.135.56.6 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX murgenthal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.murgenthal.ch CNAME → selector1-murgenthal-ch._domainkey.murgenthal.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.murgenthal.ch CNAME → selector2-murgenthal-ch._domainkey.murgenthal.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4280":{"name":"Oftringen","canton":"Kanton Aargau","domain":"oftringen.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:193.47.120.62 ip4:193.47.120.63 ip4:193.47.104.5 ip4:213.193.80.0/27 include:spf.protection.outlook.com include:_spf.abxsec.com include:_spf.ch.seppmail.cloud ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"abxsec"},"4281":{"name":"Reitnau","canton":"Kanton Aargau","domain":"reitnau.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:spf.abacuscity.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4282":{"name":"Rothrist","canton":"Kanton Aargau","domain":"rothrist.ch","mx":["rothrist-ch.gate.seppmail.cloud"],"spf":"v=spf1 mx a:relay.mailchannels.net ip4:193.47.120.0/24 ip4:46.232.183.86 ip4:178.174.91.83 include:relay.mailchannels.net include:_spf.sui-inter.net include:_spf.ch.seppmail.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rothrist.ch CNAME → selector1-rothrist-ch._domainkey.rothristch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rothrist.ch CNAME → selector2-rothrist-ch._domainkey.rothristch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"seppmail"},"4283":{"name":"Safenwil","canton":"Kanton Aargau","domain":"safenwil.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4284":{"name":"Staffelbach","canton":"Kanton Aargau","domain":"staffelbach.ch","mx":["staffelbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.47.120.0/24 include:spf.hli.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX staffelbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4285":{"name":"Strengelbach","canton":"Kanton Aargau","domain":"strengelbach.ch","mx":["mail.format-ag.ch","mail.tankred.ch","mailbackup.format-ag.ch","mailbackup.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4286":{"name":"Uerkheim","canton":"Kanton Aargau","domain":"uerkheim.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4287":{"name":"Vordemwald","canton":"Kanton Aargau","domain":"vordemwald.ch","mx":["mail.format-ag.ch","mail.tankred.ch"],"spf":"v=spf1 a include:_spf.talus.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4288":{"name":"Wiliberg","canton":"Kanton Aargau","domain":"wiliberg.ch","mx":["wiliberg-ch.gate.seppmail.cloud"],"spf":"v=spf1 ip4:193.135.56.0/24 include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"}],"gateway":"seppmail"},"4289":{"name":"Zofingen","canton":"Kanton Aargau","domain":"zofingen.ch","mx":["zofingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com ip4:193.47.120.0/24 ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zofingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.zofingen.ch CNAME → selector1-zofingen-ch._domainkey.stadtzofingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.zofingen.ch CNAME → selector2-zofingen-ch._domainkey.stadtzofingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4303":{"name":"Böttstein","canton":"Kanton Aargau","domain":"boettstein.ch","mx":["boettstein-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX boettstein-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4304":{"name":"Döttingen","canton":"Kanton Aargau","domain":"doettingen.ch","mx":["doettingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net include:spf.abacuscity.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX doettingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4305":{"name":"Endingen","canton":"Kanton Aargau","domain":"endingen.ch","mx":["endingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX endingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.endingen.ch CNAME → selector1-endingen-ch._domainkey.gemendingen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.endingen.ch CNAME → selector2-endingen-ch._domainkey.gemendingen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4306":{"name":"Fisibach","canton":"Kanton Aargau","domain":"fisibach.ch","mx":["inbound-smtp.eu-west-1.amazonaws.com"],"spf":"v=spf1 a mx ip4:195.48.58.75 include:rzmail.hi-ag.ch include:_spf.i-web.ch -all","provider":"aws","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"mx","detail":"MX inbound-smtp.eu-west-1.amazonaws.com matches aws"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"}]},"4307":{"name":"Full-Reuenthal","canton":"Kanton Aargau","domain":"full-reuenthal.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4309":{"name":"Klingnau","canton":"Kanton Aargau","domain":"klingnau.ch","mx":["klingnau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com ip4:195.48.58.75 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX klingnau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4310":{"name":"Koblenz","canton":"Kanton Aargau","domain":"koblenz.ch","mx":["koblenz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX koblenz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4311":{"name":"Leibstadt","canton":"Kanton Aargau","domain":"leibstadt.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4312":{"name":"Lengnau (AG)","canton":"Kanton Aargau","domain":"lengnau-ag.ch","mx":["lengnauag-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lengnauag-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4313":{"name":"Leuggern","canton":"Kanton Aargau","domain":"leuggern.ch","mx":["leuggern-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leuggern-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.leuggern.ch CNAME → selector1-leuggern-ch._domainkey.leuggern.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.leuggern.ch CNAME → selector2-leuggern-ch._domainkey.leuggern.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4314":{"name":"Mellikon","canton":"Kanton Aargau","domain":"mellikon.ch","mx":["mellikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mellikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4318":{"name":"Schneisingen","canton":"Kanton Aargau","domain":"schneisingen.ch","mx":["schneisingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:mail.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX schneisingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4319":{"name":"Siglistorf","canton":"Kanton Aargau","domain":"siglistorf.ch","mx":["siglistorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX siglistorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4320":{"name":"Tegerfelden","canton":"Kanton Aargau","domain":"tegerfelden.ch","mx":["tegerfelden-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tegerfelden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"4324":{"name":"Zurzach","canton":"Kanton Aargau","domain":"zurzach.ch","mx":["zurzach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zurzach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4401":{"name":"Arbon","canton":"Kanton Thurgau","domain":"arbon.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 include:spf.abxsec.com include:_spf.sui-inter.net +mx +a ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4406":{"name":"Dozwil","canton":"Kanton Thurgau","domain":"dozwil.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:cs5.chrisign.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4411":{"name":"Egnach","canton":"Kanton Thurgau","domain":"egnach.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4416":{"name":"Hefenhofen","canton":"Kanton Thurgau","domain":"hefenhofen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4421":{"name":"Horn","canton":"Kanton Thurgau","domain":"horn.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:194.209.60.21 ip4:194.209.60.7 include:spf1.egeko.ch include:_spf.i-web.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4426":{"name":"Kesswil","canton":"Kanton Thurgau","domain":"kesswil.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.abxsec.com include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"4431":{"name":"Roggwil (TG)","canton":"Kanton Thurgau","domain":"roggwil-tg.ch","mx":["mx01.sui-inter.net","mx02.sui-inter.net","mx03.sui-inter.net"],"spf":"v=spf1 include:tg.ch include:_spf.sui-inter.net +mx +a ip4:213.193.123.194 ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4436":{"name":"Romanshorn","canton":"Kanton Thurgau","domain":"romanshorn.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4441":{"name":"Salmsach","canton":"Kanton Thurgau","domain":"salmsach.ch","mx":["salmsach-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:tg.ch include:_spf.i-web.ch ip4:89.186.196.202 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX salmsach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.salmsach.ch CNAME → selector1-salmsach-ch._domainkey.salmsach.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.salmsach.ch CNAME → selector2-salmsach-ch._domainkey.salmsach.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4446":{"name":"Sommeri","canton":"Kanton Thurgau","domain":"sommeri.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4451":{"name":"Uttwil","canton":"Kanton Thurgau","domain":"uttwil.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4461":{"name":"Amriswil","canton":"Kanton Thurgau","domain":"amriswil.ch","mx":["amriswil-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx mx:hin.ch ip4:193.25.102.54 include:_spf.i-web.ch include:spf.protection.outlook.com include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX amriswil-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.amriswil.ch CNAME → selector1-amriswil-ch._domainkey.amriswiltg.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.amriswil.ch CNAME → selector2-amriswil-ch._domainkey.amriswiltg.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"4471":{"name":"Bischofszell","canton":"Kanton Thurgau","domain":"bischofszell.ch","mx":["bischofszell-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.25.102.170 include:spf.protection.outlook.com include:_spf.i-web.ch include:tg.ch include:_spf.psm.knowbe4.com include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bischofszell-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bischofszell.ch CNAME → selector1-bischofszell-ch._domainkey.bischofszell.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bischofszell.ch CNAME → selector2-bischofszell-ch._domainkey.bischofszell.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"4476":{"name":"Erlen","canton":"Kanton Thurgau","domain":"erlen.ch","mx":["erlen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:89.186.196.82/29 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX erlen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4486":{"name":"Hauptwil-Gottshaus","canton":"Kanton Thurgau","domain":"hauptwil-gottshaus.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":62.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4495":{"name":"Hohentannen","canton":"Kanton Thurgau","domain":"hohentannen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 include:_spf.sui-inter.net +mx +a ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4501":{"name":"Kradolf-Schönenberg","canton":"Kanton Thurgau","domain":"pgks.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 a mx include:_spf.abxsec.com include:spf.onlime.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"4506":{"name":"Sulgen","canton":"Kanton Thurgau","domain":"sulgen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 ip4:212.90.214.230 ip4:83.173.225.254 ip4:193.135.56.6 include:tg.ch include:spf.protection.outlook.com include:spf.ess.de.barracudanetworks.com include:spf.mailxpert.ch include:spf.protection.cyon.net include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4511":{"name":"Zihlschlacht-Sitterdorf","canton":"Kanton Thurgau","domain":"zihlschlacht-sitterdorf.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4536":{"name":"Basadingen-Schlattingen","canton":"Kanton Thurgau","domain":"pg-bs.ch","mx":["mx.pg-bs.ch"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4545":{"name":"Diessenhofen","canton":"Kanton Thurgau","domain":"diessenhofen.ch","mx":["diessenhofen-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 include:spf.protection.outlook.com include:spf.abxsec.com include:mandrillapp.com a:mail.ostendis.ch a:mta1.tg.ch a:mta2.tg.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX diessenhofen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.diessenhofen.ch CNAME → selector1-diessenhofen-ch._domainkey.rathausdh.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.diessenhofen.ch CNAME → selector2-diessenhofen-ch._domainkey.rathausdh.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4546":{"name":"Schlatt (TG)","canton":"Kanton Thurgau","domain":"schlatt.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4551":{"name":"Aadorf","canton":"Kanton Thurgau","domain":"aadorf.ch","mx":["aadorf-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX aadorf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4561":{"name":"Felben-Wellhausen","canton":"Kanton Thurgau","domain":"felben-wellhausen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4566":{"name":"Frauenfeld","canton":"Kanton Thurgau","domain":"frauenfeld.ch","mx":["mail.stadtfrauenfeld.ch"],"spf":"v=spf1 redirect:stadtfrauenfeld.ch","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4571":{"name":"Gachnang","canton":"Kanton Thurgau","domain":"gachnang.ch","mx":["gachnang-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:tg.ch include:spf.protection.outlook.com include:_spf.abxsec.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gachnang-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4590":{"name":"Hüttlingen","canton":"Kanton Thurgau","domain":"huettlingen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4591":{"name":"Matzingen","canton":"Kanton Thurgau","domain":"matzingen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4601":{"name":"Neunforn","canton":"Kanton Thurgau","domain":"neunforn.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx a:webcms.ruf.ch include:spf1.egeko.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4606":{"name":"Stettfurt","canton":"Kanton Thurgau","domain":"stettfurt.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx ip4:193.135.56.6 include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"abxsec"},"4611":{"name":"Thundorf","canton":"Kanton Thurgau","domain":"thundorf.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx a:mail.asp.ruf.ch a:mx1.rufcloud.ch a:mx2.rufcloud.ch ip4:193.135.56.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4616":{"name":"Uesslingen-Buch","canton":"Kanton Thurgau","domain":"uesslingen-buch.ch","mx":["uesslingenbuch-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf-de.emailsignatures365.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX uesslingenbuch-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.uesslingen-buch.ch CNAME → selector1-uesslingenbuch-ch02e._domainkey.uesslingenbuch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.uesslingen-buch.ch CNAME → selector2-uesslingenbuch-ch02e._domainkey.uesslingenbuch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"4621":{"name":"Warth-Weiningen","canton":"Kanton Thurgau","domain":"warth-weiningen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4641":{"name":"Altnau","canton":"Kanton Thurgau","domain":"altnau.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4643":{"name":"Bottighofen","canton":"Kanton Thurgau","domain":"bottighofen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4646":{"name":"Ermatingen","canton":"Kanton Thurgau","domain":"ermatingen.ch","mx":["ermatingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.abxsec.com include:spf.protection.outlook.com include:spf-de.emailsignatures365.com include:spf-westeu.emailsignatures365.com +mx +a ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ermatingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4651":{"name":"Gottlieben","canton":"Kanton Thurgau","domain":"gottlieben.ch","mx":["mx.gottlieben.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:170.205.81.210 ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4656":{"name":"Güttingen","canton":"Kanton Thurgau","domain":"guettingen.ch","mx":["mx.guettingen.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 ip4:81.63.169.2 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4666":{"name":"Kemmental","canton":"Kanton Thurgau","domain":"kemmental.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 include:spf.abacuscity.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4671":{"name":"Kreuzlingen","canton":"Kanton Thurgau","domain":"kreuzlingen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx a:mail.codx.ch include:spf.privasphere.com ip4:212.4.70.131 ip4:193.246.95.120 ip4:193.246.95.101 ip4:149.126.4.25 include:spf.protection.outlook.com include:_spf.abxsec.com include:skr.spf.ymc.host include:_spf.psm.knowbe4.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":80.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"4681":{"name":"Langrickenbach","canton":"Kanton Thurgau","domain":"langrickenbach.ch","mx":["langrickenbach-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:193.135.56.6 ip4:213.55.169.132 include:spf.protection.outlook.com include:tg.ch include:spf.abxsec.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX langrickenbach-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15796 is Swiss ISP: Netzone AG"}]},"4683":{"name":"Lengwil","canton":"Kanton Thurgau","domain":"lengwil.ch","mx":["mail1.rzobt.ch","mail2.rzobt.ch"],"spf":"v=spf1 include:_spf.rzobt.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4691":{"name":"Münsterlingen","canton":"Kanton Thurgau","domain":"muensterlingen.ch","mx":["muensterlingen-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:mx01.securemailbox.ch include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.abxsec.com include:spf.eu.signature365.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muensterlingen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4696":{"name":"Tägerwilen","canton":"Kanton Thurgau","domain":"taegerwilen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 a mx ip4:193.135.56.0/24 ip4:193.135.56.6 ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4701":{"name":"Wäldi","canton":"Kanton Thurgau","domain":"waeldi.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4711":{"name":"Affeltrangen","canton":"Kanton Thurgau","domain":"affeltrangen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4716":{"name":"Bettwiesen","canton":"Kanton Thurgau","domain":"bettwiesen.ch","mx":["bettwiesen.in.tmes.trendmicro.eu"],"spf":"v=spf1 include:spf.tmes.trendmicro.eu include:spf.protection.outlook.com ip4:109.205.200.45 ip4:193.135.56.6 mx include:spf.abxsec.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"}],"gateway":"trendmicro"},"4721":{"name":"Bichelsee-Balterswil","canton":"Kanton Thurgau","domain":"bichelsee-balterswil.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4723":{"name":"Braunau","canton":"Kanton Thurgau","domain":"braunau.ch","mx":["braunau-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:46.4.250.97 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX braunau-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.braunau.ch CNAME → selector1-braunau-ch._domainkey.gmdbraunau.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.braunau.ch CNAME → selector2-braunau-ch._domainkey.gmdbraunau.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4724":{"name":"Eschlikon","canton":"Kanton Thurgau","domain":"eschlikon.ch","mx":["eschlikon-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.246.95.101 ip4:193.246.95.121 include:_spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eschlikon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.eschlikon.ch CNAME → selector1-eschlikon-ch._domainkey.gmdeschlikon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.eschlikon.ch CNAME → selector2-eschlikon-ch._domainkey.gmdeschlikon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4726":{"name":"Fischingen","canton":"Kanton Thurgau","domain":"fischingen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 include:tg.ch include:spf1.egeko.ch include:spf.abxsec.com include:_spf.sui-inter.net +mx +a ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4741":{"name":"Lommis","canton":"Kanton Thurgau","domain":"lommis.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 a mx include:spf.abxsec.com include:tg.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4746":{"name":"Münchwilen (TG)","canton":"Kanton Thurgau","domain":"muenchwilen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.abxsec.com ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4751":{"name":"Rickenbach (TG)","canton":"Kanton Thurgau","domain":"rickenbach-tg.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com include:spf.protection.cyon.net -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4756":{"name":"Schönholzerswilen","canton":"Kanton Thurgau","domain":"schoenholzerswilen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4761":{"name":"Sirnach","canton":"Kanton Thurgau","domain":"sirnach.ch","mx":["mta1.abxsec.com","mta2.abxsec.com"],"spf":"v=spf1 mx include:_spf.abxsec.com ip4:193.135.56.0/24 a:mail.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"abxsec"},"4776":{"name":"Tobel-Tägerschen","canton":"Kanton Thurgau","domain":"tobel-taegerschen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.16 include:spf.escapenet.ch include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4781":{"name":"Wängi","canton":"Kanton Thurgau","domain":"waengi.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:sui-inter.net include:dxb.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4786":{"name":"Wilen (TG)","canton":"Kanton Thurgau","domain":"wilen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4791":{"name":"Wuppenau","canton":"Kanton Thurgau","domain":"wuppenau.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4801":{"name":"Berlingen","canton":"Kanton Thurgau","domain":"berlingen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4806":{"name":"Eschenz","canton":"Kanton Thurgau","domain":"eschenz.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4811":{"name":"Herdern","canton":"Kanton Thurgau","domain":"herdern.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4816":{"name":"Homburg","canton":"Kanton Thurgau","domain":"homburg.ch","mx":["mail.homburg.ch"],"spf":"v=spf1 mx include:tg.ch","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4821":{"name":"Hüttwilen","canton":"Kanton Thurgau","domain":"huettwilen.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:egeko.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4826":{"name":"Mammern","canton":"Kanton Thurgau","domain":"mammern.ch","mx":["mx1.rufcloud.ch","mx2.rufcloud.ch"],"spf":"v=SPF1 mx a:webcms.ruf.ch include:spf.customer.swiss-egov.cloud -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"}]},"4831":{"name":"Müllheim","canton":"Kanton Thurgau","domain":"muellheim.ch","mx":["mail.muellheim.ch"],"spf":"v=spf1 +a +mx include:spf.customer.swiss-egov.cloud include:_spf.sui-inter.net include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4841":{"name":"Pfyn","canton":"Kanton Thurgau","domain":"pfyn.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:_spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4846":{"name":"Raperswilen","canton":"Kanton Thurgau","domain":"raperswilen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4851":{"name":"Salenstein","canton":"Kanton Thurgau","domain":"salenstein.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4864":{"name":"Steckborn","canton":"Kanton Thurgau","domain":"steckborn.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 ip4:193.33.128.155 +a +mx +ip4:193.33.128.141 +include:spf.mandrillapp.com +include:relay.mailchannels.net include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4871":{"name":"Wagenhausen","canton":"Kanton Thurgau","domain":"wagenhausen.ch","mx":["mx.wagenhausen.ch"],"spf":"v=spf1 mx include:spf.abxsec.com ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4881":{"name":"Amlikon-Bissegg","canton":"Kanton Thurgau","domain":"amlikon-bissegg.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:spf1.egeko.ch ip4:193.135.56.6 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4891":{"name":"Berg (TG)","canton":"Kanton Thurgau","domain":"berg-tg.ch","mx":["gmd-berg.in.tmes.trendmicro.eu"],"spf":"v=spf1 +a ip4:185.230.20.53 include:spf.yop.ch include:spf.tmes.trendmicro.com include:spf.abxsec.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"trendmicro"},"4901":{"name":"Birwinken","canton":"Kanton Thurgau","domain":"birwinken.ch","mx":["mail100.rizag.ch"],"spf":"v=spf1 mx include:_spfmx.rizag.ch include:spf.protection.outlook.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4911":{"name":"Bürglen (TG)","canton":"Kanton Thurgau","domain":"buerglen-tg.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx ip4:193.135.56.6 include:tg.ch include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"4921":{"name":"Bussnang","canton":"Kanton Thurgau","domain":"bussnang.ch","mx":["mx.bussnang.ch"],"spf":"v=spf1 mx include:tg.ch include:spf.protection.cyon.net include:spf.abxsec.com -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"4941":{"name":"Märstetten","canton":"Kanton Thurgau","domain":"maerstetten.ch","mx":["maerstetten-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:193.135.56.6 ip4:34.65.211.248 ip4:81.63.140.74 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX maerstetten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.maerstetten.ch CNAME → selector1-maerstetten-ch._domainkey.gmdmaerstetten.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.maerstetten.ch CNAME → selector2-maerstetten-ch._domainkey.gmdmaerstetten.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 396982 matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"4946":{"name":"Weinfelden","canton":"Kanton Thurgau","domain":"weinfelden.ch","mx":["weinfelden-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.abxsec.com ip4:193.135.56.6 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX weinfelden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.weinfelden.ch CNAME → selector1-weinfelden-ch._domainkey.gmdweinfelden.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.weinfelden.ch CNAME → selector2-weinfelden-ch._domainkey.gmdweinfelden.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"4951":{"name":"Wigoltingen","canton":"Kanton Thurgau","domain":"wigoltingen.ch","mx":["mta1.tg.ch","mta2.tg.ch"],"spf":"v=spf1 mx include:tg.ch include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5001":{"name":"Arbedo-Castione","canton":"Kanton Tessin","domain":"arbedocastione.ch","mx":["mail.arbedocastione.ch"],"spf":"v=spf1 a:lin24.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:89.251.240.236 ip4:213.133.233.20 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5002":{"name":"Bellinzona","canton":"Kanton Tessin","domain":"bellinzona.ch","mx":["mail2.bellinzona.ch"],"spf":"v=spf1 mx ptr ip4:89.251.240.236 ip4:213.133.224.64 ip4:213.133.224.40 ip4:213.133.224.13 include:_asms6spf.assolo.net ip4:213.133.224.155 ip4:178.23.174.28 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:54.229.2.165 ip4:52.17.45.98 ip4:52.16.190.81 ip4:52.30.130.201 ip4:213.133.224.78 ip4:62.55.182.68/32 include:_spf.bellinzona.ch include:spf.protection.outlook.com include:spf-de.emailsignatures365.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 16509 matches aws"}]},"5003":{"name":"Cadenazzo","canton":"Kanton Tessin","domain":"cadenazzo.ch","mx":["mail.cadenazzo.ch"],"spf":"v=spf1 mx ptr include:spf.protection.outlook.com ip4:89.251.240.236 -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5009":{"name":"Isone","canton":"Kanton Tessin","domain":"isone.ch","mx":["isone-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:lin24.assolo.net ip4:213.133.224.180 include:_asms10spf.assolo.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX isone-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5010":{"name":"Lumino","canton":"Kanton Tessin","domain":"lumino.ch","mx":["lumino-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a include:CustSPF.tinext.com ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.64 ip4:178.23.174.0/27 ip4:213.133.224.40 ip4:213.133.224.18 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lumino-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5017":{"name":"Sant'Antonino","canton":"Kanton Tessin","domain":"santonino.ch","mx":["mail.santonino.ch"],"spf":"v=spf1 mx a ip4:89.251.240.236 ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5048":{"name":"Acquarossa","canton":"Kanton Tessin","domain":"acquarossa.ch","mx":["acquarossa-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX acquarossa-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5049":{"name":"Blenio","canton":"Kanton Tessin","domain":"comuneblenio.ch","mx":["comuneblenio-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.133.224.103 ip4:213.133.224.105 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX comuneblenio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5050":{"name":"Serravalle","canton":"Kanton Tessin","domain":"serravalle.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:89.207.237.84 ip4:213.133.224.180 ip4:213.133.224.209 ip4:213.133.224.68 ip4:178.23.174.0/27 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5061":{"name":"Airolo","canton":"Kanton Tessin","domain":"airolo.ch","mx":["airolo-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX airolo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.airolo.ch CNAME → selector1-airolo-ch._domainkey.municipioairolo.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.airolo.ch CNAME → selector2-airolo-ch._domainkey.municipioairolo.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5063":{"name":"Bedretto","canton":"Kanton Tessin","domain":"bedretto.ch","mx":["bedretto.ch"],"spf":"v=spf1 ip4:5.182.248.166 include:tizoo.com +a +mx +ip4:212.147.66.228 +ip4:89.207.237.84 +ip4:178.23.174.0/27 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5071":{"name":"Dalpe","canton":"Kanton Tessin","domain":"dalpe.ch","mx":["dalpe.ch"],"spf":"v=spf1 a mx ip4:89.207.237.84 ip4:178.23.174.0/27 include:_spf.server4all.de ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5072":{"name":"Faido","canton":"Kanton Tessin","domain":"faido.ch","mx":["mail.faido.ch"],"spf":"v=spf1 mx ptr include:spf.protection.outlook.com ip4:89.251.240.236 ip4:178.23.174.28 ip4:178.23.174.19 ip4:178.23.174.18 ip4:178.23.174.17 ip4:178.23.174.16 ip4:178.23.174.0/27 ip4:89.207.237.84/32 ip4:213.133.224.98 -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5073":{"name":"Giornico","canton":"Kanton Tessin","domain":"giornico.ch","mx":["asms.assolo.net"],"spf":"v=spf1 a include:_asms6spf.assolo.net ip4:213.133.224.99 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.13 ip4:213.133.224.14 ip4:213.133.224.16 ip4:213.133.224.5 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5076":{"name":"Personico","canton":"Kanton Tessin","domain":"personico.ch","mx":["personico-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.62.135.38 include:spf.protection.outlook.com include:antispam01.moresi.com include:antispam02.moresi.com include:antispam03.moresi.com include:antispam04.moresi.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX personico-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5077":{"name":"Pollegio","canton":"Kanton Tessin","domain":"pollegio.ch","mx":["asms2.assolo.net"],"spf":"v=spf1 include:_asms7spf.assolo.net ip4:213.133.224.143 ip4:213.133.224.79 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5079":{"name":"Quinto","canton":"Kanton Tessin","domain":"tiquinto.ch","mx":["tiquinto-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:83.166.142.218 include:servers.mcsv.net ?all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX tiquinto-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5091":{"name":"Ascona","canton":"Kanton Tessin","domain":"ascona.ch","mx":["asmav.assolo.net"],"spf":"v=spf1 a:asmav.assolo.net a:lin12.assolo.net a:asms2.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5096":{"name":"Brione sopra Minusio","canton":"Kanton Tessin","domain":"brione.ch","mx":["brione-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brione-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5097":{"name":"Brissago","canton":"Kanton Tessin","domain":"brissago.ch","mx":["brissago-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:asmav.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:195.190.166.214 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brissago-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5108":{"name":"Gordola","canton":"Kanton Tessin","domain":"gordola.ch","mx":["gordola-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:_asms4spf.assolo.net include:spf.protection.outlook.com a:lin31.assolo.net a:lin8.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gordola-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5112":{"name":"Lavertezzo","canton":"Kanton Tessin","domain":"lavertezzo.ch","mx":["lavertezzo-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lavertezzo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5113":{"name":"Locarno","canton":"Kanton Tessin","domain":"locarno.ch","mx":["mx42.locarno.ch","mx43.locarno.ch"],"spf":"v=spf1 ip4:212.4.70.139 ip4:62.55.182.68 ip4:217.193.141.42 ip4:217.193.141.43 a:mailout.ip-plus.net mx -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5115":{"name":"Losone","canton":"Kanton Tessin","domain":"losone.ch","mx":["losone-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:lin24.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com a:asms2.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX losone-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5117":{"name":"Mergoscia","canton":"Kanton Tessin","domain":"mergoscia.ch","mx":["mx01.tophost.ch","mx02.tophost.ch"],"spf":"","provider":"independent","category":"swiss-based","classification_confidence":60.0,"classification_signals":[]},"5118":{"name":"Minusio","canton":"Kanton Tessin","domain":"minusio.ch","mx":["smtp.assolo.net"],"spf":"v=spf1 include:_asms6spf.assolo.net a:lin32.assolo.net ip4:213.133.224.13 ip4:83.173.217.38 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.79 ip4:213.133.224.68 ip4:213.133.224.160 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5120":{"name":"Muralto","canton":"Kanton Tessin","domain":"muralto.ch","mx":["muralto-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.190.166.213 +a +mx ip4:195.190.166.204 ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muralto-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5121":{"name":"Orselina","canton":"Kanton Tessin","domain":"orselina.ch","mx":["orselina-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:lin12.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX orselina-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5125":{"name":"Ronco sopra Ascona","canton":"Kanton Tessin","domain":"ronco-s-ascona.ch","mx":["roncosascona-ch01k.mail.protection.outlook.com"],"spf":"v=spf1 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX roncosascona-ch01k.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5131":{"name":"Tenero-Contra","canton":"Kanton Tessin","domain":"tenero-contra.ch","mx":["backup-mailsecurity.cybersecservices.ch","mailsecurity.cybersecservices.ch"],"spf":"v=spf1 a:lin17.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5136":{"name":"Onsernone","canton":"Kanton Tessin","domain":"onsernone.swiss","mx":["onsernone-swiss.mail.protection.outlook.com"],"spf":"v=spf1 include:_asms5spf.assolo.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX onsernone-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5138":{"name":"Cugnasco-Gerra","canton":"Kanton Tessin","domain":"cugnasco-gerra.ch","mx":["mail.cugnasco-gerra.ch"],"spf":"v=spf1 a:lin16.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 include:_asms4spf.assolo.net ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5141":{"name":"Agno","canton":"Kanton Tessin","domain":"agno.ch","mx":["asms4.assolo.net"],"spf":"v=spf1 mx include:_asms4spf.assolo.net ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5143":{"name":"Aranno","canton":"Kanton Tessin","domain":"aranno.ch","mx":["aranno-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:green.icteam.swiss a:asmav.assolo.net a:asms2.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.103 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX aranno-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5144":{"name":"Arogno","canton":"Kanton Tessin","domain":"arogno.ch","mx":["7azulib01.atomdata.ch","7bdalib01.atomdata.ch"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.174.26.10 ip4:178.174.0.238 ip4:91.208.130.32 ip4:91.208.130.31 a:lin16.assolo.net include:mailhost.ticino-online.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5148":{"name":"Bedano","canton":"Kanton Tessin","domain":"bedano.ch","mx":["mail.bedano.ch"],"spf":"v=spf1 mx ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:146.4.99.230 include:spf.privasphere.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5151":{"name":"Bioggio","canton":"Kanton Tessin","domain":"bioggio.ch","mx":["bioggio-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.246.38.166 a:green.icteam.swiss -all ","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bioggio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5154":{"name":"Bissone","canton":"Kanton Tessin","domain":"bissone.ch","mx":["bissone-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bissone-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bissone.ch CNAME → selector1-bissone-ch._domainkey.bissone.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bissone.ch CNAME → selector2-bissone-ch._domainkey.bissone.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5160":{"name":"Brusino Arsizio","canton":"Kanton Tessin","domain":"brusinoarsizio.ch","mx":["brusinoarsizio-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX brusinoarsizio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5161":{"name":"Cademario","canton":"Kanton Tessin","domain":"cademario.ch","mx":["cademario-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:195.190.166.213 ip4:62.48.123.84 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cademario-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5162":{"name":"Cadempino","canton":"Kanton Tessin","domain":"cadempino.ch","mx":["mail.cadempino.ch"],"spf":"v=spf1 +a +mx ip4:185.94.150.0/26 ip4:89.207.237.84 178.23.174.0/27 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5167":{"name":"Canobbio","canton":"Kanton Tessin","domain":"canobbio.ch","mx":["canobbio-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.190.166.212 ip4:195.190.166.206 +a +mx +ip4:195.190.166.205 +include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":91.0,"classification_signals":[{"kind":"mx","detail":"MX canobbio-ch.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5171":{"name":"Caslano","canton":"Kanton Tessin","domain":"caslano.ch","mx":["caslano-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:213.133.233.22 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX caslano-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5176":{"name":"Comano","canton":"Kanton Tessin","domain":"comano.ch","mx":["comano-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:lin17.assolo.net include:_asms7spf.assolo.net include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX comano-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5180":{"name":"Cureglia","canton":"Kanton Tessin","domain":"cureglia.ch","mx":["cureglia-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.173 a:lin12.assolo.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cureglia-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5186":{"name":"Grancia","canton":"Kanton Tessin","domain":"grancia.ch","mx":["mx1.mail.hostpoint.ch","mx2.mail.hostpoint.ch"],"spf":"v=spf1 redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5187":{"name":"Gravesano","canton":"Kanton Tessin","domain":"gravesano.ch","mx":["gravesano-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gravesano-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5189":{"name":"Lamone","canton":"Kanton Tessin","domain":"lamone.ch","mx":["mail.ticinoposta.ch"],"spf":"v=spf1 mx a:mail.ticinoposta.ch a:ticinoposta.mifaweb.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5192":{"name":"Lugano","canton":"Kanton Tessin","domain":"lugano.ch","mx":["smtp11.lugano.ch","smtp12.lugano.ch"],"spf":"v=spf1 mx a ip4:195.14.126.66 ip4:195.14.126.67 include:143896222.spf04.hubspotemail.net include:CustSPF.tinext.com include:emailwarp.com include:servers.mcsv.net include:spf.swisscom.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5193":{"name":"Magliaso","canton":"Kanton Tessin","domain":"magliaso.ch","mx":["magliaso-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.23.174.0/27 mx ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX magliaso-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5194":{"name":"Manno","canton":"Kanton Tessin","domain":"manno.ch","mx":["ch-backup-mailsecurity.cybersecservices.ch","ch-mailsecurity.cybersecservices.ch"],"spf":"v=spf1 include:spf.protection.outlook.com include:cryms.com ip4:178.23.174.0/27 ip4:89.207.237.84 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.manno.ch CNAME → selector1-manno-ch._domainkey.municipiomanno.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.manno.ch CNAME → selector2-manno-ch._domainkey.municipiomanno.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5196":{"name":"Massagno","canton":"Kanton Tessin","domain":"massagno.ch","mx":["mx2.massagno.ch"],"spf":"v=spf1 ip4:185.79.206.82 ip4:185.79.206.83 ip4:185.79.206.84 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.247 a:lin32.assolo.net -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5198":{"name":"Melide","canton":"Kanton Tessin","domain":"melide.ch","mx":["melide-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com include:custspf.tinext.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX melide-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.melide.ch CNAME → selector1-melide-ch._domainkey.municipiomelide.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.melide.ch CNAME → selector2-melide-ch._domainkey.municipiomelide.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5199":{"name":"Mezzovico-Vira","canton":"Kanton Tessin","domain":"mezzovico-vira.ch","mx":["mezzovicovira-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 a:lin16.assolo.net a:lin31.assolo.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mezzovicovira-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5203":{"name":"Morcote","canton":"Kanton Tessin","domain":"morcote.ch","mx":["morcote-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:62.2.108.198 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.3.37.249 ip4:213.133.224.64/29 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX morcote-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.morcote.ch CNAME → selector1-morcote-ch._domainkey.morcote.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.morcote.ch CNAME → selector2-morcote-ch._domainkey.morcote.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5205":{"name":"Muzzano","canton":"Kanton Tessin","domain":"muzzano.ch","mx":["muzzano-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.3.37.48 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX muzzano-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5206":{"name":"Neggio","canton":"Kanton Tessin","domain":"neggio.ch","mx":["mail.tinext.net"],"spf":"v=spf1 mx a include:CustSPF.tinext.com -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5208":{"name":"Origlio","canton":"Kanton Tessin","domain":"origlio.ch","mx":["origlio-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX origlio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5210":{"name":"Paradiso","canton":"Kanton Tessin","domain":"paradiso.ch","mx":["mxfilter1.paradiso.ch","mxfilter2.paradiso.ch"],"spf":"v=spf1 a:intranet.paradiso.ch a:mail.paradiso.ch a:residenza.paradiso.ch a:vps.braile.ch ip4:46.14.23.114/32 ip4:51.75.55.164 redirect=spf.mail.hostpoint.ch","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5212":{"name":"Ponte Capriasca","canton":"Kanton Tessin","domain":"pontecapriasca.ch","mx":["ch-backup-mailsecurity.cybersecservices.ch","ch-mailsecurity.cybersecservices.ch","pontecapriasca-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:ch-backup-mailsecurity.cybersecservices.ch a:ch-mailsecurity.cybersecservices.ch ip4:195.186.122.112 ip4:195.186.122.114 ip4:195.186.101.108 ip4:195.186.101.109 ip4:193.246.38.134 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:195.141.20.198 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pontecapriasca-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"5214":{"name":"Porza","canton":"Kanton Tessin","domain":"porza.ch","mx":["asms5.assolo.net"],"spf":"v=spf1 include:_asms5spf.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5216":{"name":"Pura","canton":"Kanton Tessin","domain":"pura.ch","mx":["pura-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:asmav.assolo.net ip4:178.23.174.0/27 ip4:89.207.237.84 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pura-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5221":{"name":"Savosa","canton":"Kanton Tessin","domain":"savosa.ch","mx":["savosa-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.105 ip4:213.133.224.103 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX savosa-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5225":{"name":"Sorengo","canton":"Kanton Tessin","domain":"sorengo.ch","mx":["sorengo-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX sorengo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5226":{"name":"Capriasca","canton":"Kanton Tessin","domain":"capriasca.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 ip4:213.133.233.21 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5227":{"name":"Torricella-Taverne","canton":"Kanton Tessin","domain":"torricella-taverne.ch","mx":["torricellataverne-ch02e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX torricellataverne-ch02e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5230":{"name":"Vernate","canton":"Kanton Tessin","domain":"vernate.ch","mx":["mail.vernate.ch"],"spf":"v=spf1 mx ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"}]},"5231":{"name":"Vezia","canton":"Kanton Tessin","domain":"vezia.ch","mx":["vezia-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.133.224.68 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vezia-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vezia.ch CNAME → selector1-vezia-ch._domainkey.comunevezia.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vezia.ch CNAME → selector2-vezia-ch._domainkey.comunevezia.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5233":{"name":"Vico Morcote","canton":"Kanton Tessin","domain":"vicomorcote.ch","mx":["vicomorcote-ch.mail.protection.outlook.com"],"spf":"v=spf1 a:lin24.assolo.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vicomorcote-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5236":{"name":"Collina d'Oro","canton":"Kanton Tessin","domain":"collinadoro.swiss","mx":["collinadoro-swiss.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:146.4.29.26 ip4:146.4.29.27 ip4:213.133.226.37 a:cdointranetvm.assolo.net a:intranet.collinadoro.swiss a:intranet.collinadoro.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX collinadoro-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5237":{"name":"Alto Malcantone","canton":"Kanton Tessin","domain":"altomalcantone.ch","mx":["altomalcantone-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.236.28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX altomalcantone-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5238":{"name":"Monteceneri","canton":"Kanton Tessin","domain":"monteceneri.ch","mx":["monteceneri-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:62.202.13.115 ip4:80.74.159.65 ip4:89.207.237.84 ip4:178.23.174.0/27 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX monteceneri-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.monteceneri.ch CNAME → selector1-monteceneri-ch._domainkey.monteceneri365.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.monteceneri.ch CNAME → selector2-monteceneri-ch._domainkey.monteceneri365.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5239":{"name":"Tresa","canton":"Kanton Tessin","domain":"tresa.ch","mx":["tresa-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:46.14.230.94 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tresa-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.tresa.ch CNAME → selector1-tresa-ch._domainkey.croglio.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.tresa.ch CNAME → selector2-tresa-ch._domainkey.croglio.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5240":{"name":"Val Mara","canton":"Kanton Tessin","domain":"valmara.ch","mx":["valmara-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:178.23.174.0/27 ip4:89.207.237.84 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX valmara-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5242":{"name":"Balerna","canton":"Kanton Tessin","domain":"balerna.ch","mx":["pedro.labcc.ch"],"spf":"v=spf1 ip4:213.133.236.29 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.labcc.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5249":{"name":"Castel San Pietro","canton":"Kanton Tessin","domain":"castelsanpietro.ch","mx":["asmav.assolo.net"],"spf":"v=spf1 include:_asms6spf.assolo.net ip4:213.133.224.164 ip4:213.133.224.21 ip4:81.62.228.226 ip4:46.21.27.18 ip4:46.21.27.19 ip4:46.21.27.20 ip4:46.21.27.12 ip4:178.23.174.0/27 ip4:89.207.237.84 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5250":{"name":"Chiasso","canton":"Kanton Tessin","domain":"chiasso.ch","mx":["asmav.assolo.net"],"spf":"v=spf1 include:_spf.mlsend.com ip4:213.200.244.96/29 ip4:178.23.174.0/27 a:mail.chiasso.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5251":{"name":"Coldrerio","canton":"Kanton Tessin","domain":"coldrerio.ch","mx":["coldrerio-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:46.21.25.126 ip4:194.209.9.131 ip4:178.23.174.0/27 ip4:89.207.237.84 include:spf.protection.outlook.com include:spf1.dos-group.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX coldrerio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5254":{"name":"Mendrisio","canton":"Kanton Tessin","domain":"mendrisio.ch","mx":["mx01.cloud.vadesecure.com","mx02.cloud.vadesecure.com","mx03.cloud.vadesecure.com","mx04.cloud.vadesecure.com"],"spf":"v=spf1 include:servers.mcsv.net ip4:217.193.168.186 ip4:62.2.94.100 include:spf.cloud.vadesecure.com include:spf.protection.outlook.com ip4:195.144.52.177 ip4:62.2.94.104 ip4:62.2.94.114 mx ip4:62.55.182.68 -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"5257":{"name":"Morbio Inferiore","canton":"Kanton Tessin","domain":"morbioinf.ch","mx":["morbioinf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:89.207.237.84 ip4:178.23.174.0/27 a:lin16.assolo.net -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX morbioinf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.morbioinf.ch CNAME → selector1-morbioinf-ch._domainkey.morbioinferiore.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.morbioinf.ch CNAME → selector2-morbioinf-ch._domainkey.morbioinferiore.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5260":{"name":"Novazzano","canton":"Kanton Tessin","domain":"novazzano.ch","mx":["novazzano-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx:mail.ticinoposta.ch ip4:178.23.174.0/27 ip4:84.16.245.14 ip4:84.16.245.15 ip4:84.16.244.136 ip4:89.207.237.84 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX novazzano-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5263":{"name":"Riva San Vitale","canton":"Kanton Tessin","domain":"rivasanvitale.ch","mx":["mailscanner.moresi.com"],"spf":"v=spf1 mx ip4:178.23.174.0/27 ip4:89.207.237.84 ip6:2a02:ab40:0:1003::/64 ip4:213.133.236.26 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5266":{"name":"Stabio","canton":"Kanton Tessin","domain":"stabio.ch","mx":["ch-backup-mailsecurity.cybersecservices.ch","ch-mailsecurity.cybersecservices.ch"],"spf":"v=spf1 a:smtp.mlt-systems.ch a:cpanel.mlt-systems.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.stabio.ch CNAME → selector1-stabio-ch._domainkey.comunestabio.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.stabio.ch CNAME → selector2-stabio-ch._domainkey.comunestabio.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5268":{"name":"Vacallo","canton":"Kanton Tessin","domain":"vacallo.ch","mx":["mail.ticinoposta.ch"],"spf":"v=spf1 mx a:mail.ticinoposta.ch a:ticinoposta.mifaweb.net -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5269":{"name":"Breggia","canton":"Kanton Tessin","domain":"comunebreggia.ch","mx":["mail.comunebreggia.ch"],"spf":"v=spf1 include:_asms3spf.assolo.net ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:213.133.224.236 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5281":{"name":"Biasca","canton":"Kanton Tessin","domain":"biasca.ch","mx":["biasca-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.133.224.25 ip4:213.133.226.34 ip4:89.207.237.84 ip4:178.23.174.0/27 ip4:89.251.240.41/32 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX biasca-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.biasca.ch CNAME → selector1-biasca-ch._domainkey.biascacomune.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.biasca.ch CNAME → selector2-biasca-ch._domainkey.biascacomune.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5287":{"name":"Riviera","canton":"Kanton Tessin","domain":"comuneriviera.ch","mx":["mail1.comuneriviera.ch"],"spf":"v=spf1 mx ip4:213.133.224.155 ip4:213.133.224.173 ip4:46.14.64.106 ip4:178.23.174.0/27 ip4:89.207.237.84 ip4:213.133.224.209 ip4:213.133.224.68 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5304":{"name":"Bosco/Gurin","canton":"Kanton Tessin","domain":"bosco-gurin.ch","mx":["bosco-gurin.ch"],"spf":"v=spf1 +a +mx +ip4:195.190.166.210 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5307":{"name":"Campo (Vallemaggia)","canton":"Kanton Tessin","domain":"campo-vallemaggia.ch","mx":["campovallemaggia-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX campovallemaggia-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5309":{"name":"Cerentino","canton":"Kanton Tessin","domain":"cerentino.ch","mx":["mail.cerentino.ch"],"spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5310":{"name":"Cevio","canton":"Kanton Tessin","domain":"cevio.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5315":{"name":"Linescio","canton":"Kanton Tessin","domain":"linescio.ch","mx":["mail.linescio.ch"],"spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5317":{"name":"Maggia","canton":"Kanton Tessin","domain":"maggia.ch","mx":["mail.maggia.ch"],"spf":"v=spf1 a:maggia.ch mx ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5323":{"name":"Lavizzara","canton":"Kanton Tessin","domain":"lavizzara.ch","mx":["lavizzara.ch"],"spf":"v=spf1 ip4:195.190.166.214 +a +mx +ip4:195.190.166.208 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5324":{"name":"Avegno Gordevio","canton":"Kanton Tessin","domain":"avegnogordevio.ch","mx":["avegnogordevio-ch.mail.protection.outlook.com","avegnogordevio.ch","ms14964657.msv1.invalid"],"spf":"v=spf1 ip4:195.190.166.212 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX avegnogordevio-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5395":{"name":"Lema","canton":"Kanton Tessin","domain":"lema.ch","mx":["lema-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:213.180.162.206 ip4:213.200.233.58 ip4:109.164.222.186 ip4:109.164.214.150 ip4:146.4.115.166 ip4:213.133.234.100 ip4:213.133.224.103 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lema-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5396":{"name":"Terre di Pedemonte","canton":"Kanton Tessin","domain":"pedemonte.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 include:_asms3spf.assolo.net include:spf.protection.outlook.com a:lin12.assolo.net a:lin21.assolo.net ip4:213.133.224.236 ip4:213.133.224.237 ip4:213.133.224.238 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"sophos"},"5397":{"name":"Centovalli","canton":"Kanton Tessin","domain":"centovalli.swiss","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 mx a:dispatch-eu.ppe-hosted.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"5398":{"name":"Gambarogno","canton":"Kanton Tessin","domain":"gambarogno.ch","mx":["asmav.assolo.net"],"spf":"v=spf1 ip4:109.164.223.179 a:lin15.assolo.net a:lin24.assolo.net -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5399":{"name":"Verzasca","canton":"Kanton Tessin","domain":"verzasca.swiss","mx":["verzasca-swiss.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:213.133.224.79 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verzasca-swiss.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5401":{"name":"Aigle","canton":"Kanton Waadt","domain":"aigle.ch","mx":["fallbackmx.spamexperts.eu","lastmx.spamexperts.net","mx.spamexperts.com"],"spf":"v=spf1 include:_netblocks.aigle.ch include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.aigle.ch CNAME → selector1-aigle-ch._domainkey.communeaigle.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.aigle.ch CNAME → selector2-aigle-ch._domainkey.communeaigle.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5402":{"name":"Bex","canton":"Kanton Waadt","domain":"bex.ch","mx":["bex-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.109 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bex-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5403":{"name":"Chessel","canton":"Kanton Waadt","domain":"chessel.ch","mx":["chessel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chessel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5404":{"name":"Corbeyrier","canton":"Kanton Waadt","domain":"corbeyrier.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5405":{"name":"Gryon","canton":"Kanton Waadt","domain":"gryon.ch","mx":["gryon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.111 a mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gryon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gryon.ch CNAME → selector1-gryon-ch._domainkey.communegryon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gryon.ch CNAME → selector2-gryon-ch._domainkey.communegryon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5406":{"name":"Lavey-Morcles","canton":"Kanton Waadt","domain":"lavey.ch","mx":["lavey-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lavey-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.lavey.ch CNAME → selector1-lavey-ch._domainkey.communelavey.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.lavey.ch CNAME → selector2-lavey-ch._domainkey.communelavey.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5407":{"name":"Leysin","canton":"Kanton Waadt","domain":"leysin.ch","mx":["mps.telecomservices.ch"],"spf":"v=spf1 a:mail.leysin.ch a:mps.telecomservices.ch include:spf.protection.outlook.com include:witecom.ch include:servers.mcsv.net include:spf.protection.outlook.com include:protection.outlook.com ip4:185.43.245.131 ip4:84.253.14.34 ip4:84.253.7.218 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.leysin.ch CNAME → selector1-leysin-ch._domainkey.adminleysin.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.leysin.ch CNAME → selector2-leysin-ch._domainkey.adminleysin.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5408":{"name":"Noville","canton":"Kanton Waadt","domain":"noville.ch","mx":["noville-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX noville-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5409":{"name":"Ollon","canton":"Kanton Waadt","domain":"ollon.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com include:_spf-eu.ppe-hosted.com a:dispatch-eu.ppe-hosted.com a:dispatch1-eu1.ppe-hosted.com ip4:185.54.6.109 ip4:145.232.246.230 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"5410":{"name":"Ormont-Dessous","canton":"Kanton Waadt","domain":"ormont-dessous.ch","mx":["ormontdessous-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.blk.ymc.swiss ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ormontdessous-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5411":{"name":"Ormont-Dessus","canton":"Kanton Waadt","domain":"ormont-dessus.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 include:spf.infomaniak.ch mx -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5412":{"name":"Rennaz","canton":"Kanton Waadt","domain":"rennaz.ch","mx":["rennaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com include:_spf.hostcenter.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rennaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rennaz.ch CNAME → selector1-rennaz-ch._domainkey.communerennaz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rennaz.ch CNAME → selector2-rennaz-ch._domainkey.communerennaz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5413":{"name":"Roche (VD)","canton":"Kanton Waadt","domain":"roche-vd.ch","mx":["rochevd-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.109 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rochevd-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.roche-vd.ch CNAME → selector1-rochevd-ch01c._domainkey.communederoche.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.roche-vd.ch CNAME → selector2-rochevd-ch01c._domainkey.communederoche.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5414":{"name":"Villeneuve (VD)","canton":"Kanton Waadt","domain":"villeneuve.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:spf.evok.ch include:spf.rcv.ch include:_spf.i-web.ch include:spf1.ne.ch ip4:194.56.250.0/23 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5415":{"name":"Yvorne","canton":"Kanton Waadt","domain":"yvorne.ch","mx":["yvorne-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:193.34.137.65 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX yvorne-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.yvorne.ch CNAME → selector1-yvorne-ch._domainkey.communeyvorne.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.yvorne.ch CNAME → selector2-yvorne-ch._domainkey.communeyvorne.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5422":{"name":"Aubonne","canton":"Kanton Waadt","domain":"aubonne.ch","mx":["aubonne-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.rcv.ch include:_spf.psm.knowbe4.com include:spf.protection.outlook.com ip4:217.119.144.0/24 ip4:217.119.146.132 ip4:185.54.6.105 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX aubonne-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.aubonne.ch CNAME → selector1-aubonne-ch._domainkey.aubonnech.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.aubonne.ch CNAME → selector2-aubonne-ch._domainkey.aubonnech.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5423":{"name":"Ballens","canton":"Kanton Waadt","domain":"ballens.ch","mx":["ballens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ?all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ballens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5424":{"name":"Berolle","canton":"Kanton Waadt","domain":"berolle.ch","mx":["mail.berolle.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5425":{"name":"Bière","canton":"Kanton Waadt","domain":"biere-vd.ch","mx":["bierevd-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX bierevd-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5426":{"name":"Bougy-Villars","canton":"Kanton Waadt","domain":"bougy-villars.ch","mx":["bougyvillars-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.105 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bougyvillars-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5427":{"name":"Féchy","canton":"Kanton Waadt","domain":"fechy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5428":{"name":"Gimel","canton":"Kanton Waadt","domain":"gimel.ch","mx":["gimel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gimel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5429":{"name":"Longirod","canton":"Kanton Waadt","domain":"longirod.ch","mx":["longirod-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX longirod-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5430":{"name":"Marchissy","canton":"Kanton Waadt","domain":"marchissy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5431":{"name":"Mollens (VD)","canton":"Kanton Waadt","domain":"mollensvd.ch","mx":["mollensvd-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX mollensvd-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5434":{"name":"Saint-George","canton":"Kanton Waadt","domain":"stgeorge.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.vtx.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5435":{"name":"Saint-Livres","canton":"Kanton Waadt","domain":"st-livres.ch","mx":["stlivres-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:dynamic.st-livres.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX stlivres-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5436":{"name":"Saint-Oyens","canton":"Kanton Waadt","domain":"saint-oyens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5437":{"name":"Saubraz","canton":"Kanton Waadt","domain":"saubraz.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5451":{"name":"Avenches","canton":"Kanton Waadt","domain":"avenches.ch","mx":["avenches-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a:relay01.wlk-ems.com +a:exchange.avenches.ch ip4:212.90.203.0/27 ip4:195.186.0.0/16 include:spf.protection.outlook.com include:spf.mailjet.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX avenches-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5456":{"name":"Cudrefin","canton":"Kanton Waadt","domain":"cudrefin.ch","mx":["cudrefin-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX cudrefin-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5458":{"name":"Faoug","canton":"Kanton Waadt","domain":"faoug.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5464":{"name":"Vully-les-Lacs","canton":"Kanton Waadt","domain":"vully-les-lacs.ch","mx":["vullyleslacs-ch01cc.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.14.2.218 include:spf.protection.outlook.com include:spf.eadmin-solutions.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vullyleslacs-ch01cc.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vully-les-lacs.ch CNAME → selector1-vullyleslacs-ch01cc._domainkey.vllacs.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vully-les-lacs.ch CNAME → selector2-vullyleslacs-ch01cc._domainkey.vllacs.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5471":{"name":"Bettens","canton":"Kanton Waadt","domain":"bluewin.ch","mx":["mx01.p.bluenet.ch","mx02.p.bluenet.ch"],"spf":"v=spf1 redirect=_spf.bluewin.ch","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5472":{"name":"Bournens","canton":"Kanton Waadt","domain":"bournens.ch","mx":["bournens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bournens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5473":{"name":"Boussens","canton":"Kanton Waadt","domain":"boussens.ch","mx":["boussens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX boussens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5474":{"name":"La Chaux (Cossonay)","canton":"Kanton Waadt","domain":"lachaux.ch","mx":["lachaux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com include:spf.infomaniak.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lachaux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5475":{"name":"Chavannes-le-Veyron","canton":"Kanton Waadt","domain":"chavannes-le-veyron.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5476":{"name":"Chevilly","canton":"Kanton Waadt","domain":"chevilly.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5477":{"name":"Cossonay","canton":"Kanton Waadt","domain":"cossonay.ch","mx":["cossonay-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:145.232.246.190 ip4:185.54.6.105 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cossonay-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5479":{"name":"Cuarnens","canton":"Kanton Waadt","domain":"cuarnens.ch","mx":["cuarnens-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:62.202.19.61 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cuarnens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5480":{"name":"Daillens","canton":"Kanton Waadt","domain":"daillens.ch","mx":["daillens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX daillens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.daillens.ch CNAME → selector1-daillens-ch._domainkey.daillens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.daillens.ch CNAME → selector2-daillens-ch._domainkey.daillens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5481":{"name":"Dizy","canton":"Kanton Waadt","domain":"dizy.ch","mx":["dizy-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX dizy-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5482":{"name":"Eclépens","canton":"Kanton Waadt","domain":"eclepens.ch","mx":["eclepens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eclepens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5483":{"name":"Ferreyres","canton":"Kanton Waadt","domain":"ferreyres.ch","mx":["mail01.swisscenter.com"],"spf":"v=spf1 mx include:fwdsc.swisscenter.com -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5484":{"name":"Gollion","canton":"Kanton Waadt","domain":"gollion.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5485":{"name":"Grancy","canton":"Kanton Waadt","domain":"grancy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5486":{"name":"L'Isle","canton":"Kanton Waadt","domain":"lisle.ch","mx":["lisle-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lisle-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5487":{"name":"Lussery-Villars","canton":"Kanton Waadt","domain":"lussery-villars.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5488":{"name":"Mauraz","canton":"Kanton Waadt","domain":"mauraz.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5489":{"name":"Mex (VD)","canton":"Kanton Waadt","domain":"mex.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5490":{"name":"Moiry","canton":"Kanton Waadt","domain":"moiry.ch","mx":["mail.moiry.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch mx a a:smtp-sh.infomaniak.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5491":{"name":"Mont-la-Ville","canton":"Kanton Waadt","domain":"mont-la-ville.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5492":{"name":"Montricher","canton":"Kanton Waadt","domain":"montricher.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5493":{"name":"Orny","canton":"Kanton Waadt","domain":"orny.ch","mx":["orny-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.199.52.153 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX orny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.orny.ch CNAME → selector1-orny-ch._domainkey.communeorny.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.orny.ch CNAME → selector2-orny-ch._domainkey.communeorny.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5495":{"name":"Penthalaz","canton":"Kanton Waadt","domain":"penthalaz.ch","mx":["cloud7.spamtitan.com","cloud8.spamtitan.com"],"spf":"v=spf1 mx mx:rcv.ch include:relay.mail.infomaniak.ch include:_spf_cd.spamtitan.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5496":{"name":"Penthaz","canton":"Kanton Waadt","domain":"penthaz.ch","mx":["penthaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX penthaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.penthaz.ch CNAME → selector1-penthaz-ch._domainkey.penthaz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.penthaz.ch CNAME → selector2-penthaz-ch._domainkey.penthaz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5497":{"name":"Pompaples","canton":"Kanton Waadt","domain":"pompaples.ch","mx":["pompaples-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX pompaples-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5498":{"name":"La Sarraz","canton":"Kanton Waadt","domain":"lasarraz.ch","mx":["lasarraz-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a:webcms.ruf.ch include:spf.ganesh-hosting.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lasarraz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5499":{"name":"Senarclens","canton":"Kanton Waadt","domain":"senarclens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5501":{"name":"Sullens","canton":"Kanton Waadt","domain":"sullens.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:spf.evok.ch ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5503":{"name":"Vufflens-la-Ville","canton":"Kanton Waadt","domain":"vufflens-la-ville.ch","mx":["vufflenslaville-ch02j.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vufflenslaville-ch02j.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5511":{"name":"Assens","canton":"Kanton Waadt","domain":"assens.ch","mx":["assens-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.14.23.22 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX assens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5512":{"name":"Bercher","canton":"Kanton Waadt","domain":"bercher-vd.ch","mx":["berchervd-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:185.54.6.111 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX berchervd-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bercher-vd.ch CNAME → selector1-berchervd-ch01i._domainkey.greffebercher.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bercher-vd.ch CNAME → selector2-berchervd-ch01i._domainkey.greffebercher.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5514":{"name":"Bottens","canton":"Kanton Waadt","domain":"bottens.ch","mx":["bottens-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.200.241.130 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bottens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bottens.ch CNAME → selector1-bottens-ch._domainkey.communebottens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bottens.ch CNAME → selector2-bottens-ch._domainkey.communebottens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5515":{"name":"Bretigny-sur-Morrens","canton":"Kanton Waadt","domain":"bretigny.ch","mx":["bretigny-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX bretigny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5516":{"name":"Cugy (VD)","canton":"Kanton Waadt","domain":"cugy-vd.ch","mx":["cugyvd-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cugyvd-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cugy-vd.ch CNAME → selector1-cugyvd-ch01b._domainkey.communecugy.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cugy-vd.ch CNAME → selector2-cugyvd-ch01b._domainkey.communecugy.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5518":{"name":"Echallens","canton":"Kanton Waadt","domain":"echallens.ch","mx":["mx1.mtaroutes.com","mx2.mtaroutes.com","mx3.mtaroutes.com","mx4.mtaroutes.com"],"spf":"v=spf1 include:spf1.ne.ch include:spf.mtaroutes.com include:spf.ganesh-hosting.ch ip4:185.214.154.116 -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5520":{"name":"Essertines-sur-Yverdon","canton":"Kanton Waadt","domain":"essertines-sur-yverdon.ch","mx":["essertinessuryverdon-ch02ee.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX essertinessuryverdon-ch02ee.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5521":{"name":"Etagnières","canton":"Kanton Waadt","domain":"etagnieres.ch","mx":["etagnieres-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.protection.outlook.com ip4:185.54.6.111 ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX etagnieres-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5522":{"name":"Fey","canton":"Kanton Waadt","domain":"fey-vd.ch","mx":["feyvd-ch0i.mail.protection.outlook.com"],"spf":"v=spf1 ip4:62.202.5.220 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX feyvd-ch0i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.fey-vd.ch CNAME → selector1-feyvd-ch0i._domainkey.communefey.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.fey-vd.ch CNAME → selector2-feyvd-ch0i._domainkey.communefey.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5523":{"name":"Froideville","canton":"Kanton Waadt","domain":"froideville.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 a mx a:mailgate.ti-informatique.com include:_spf.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5527":{"name":"Morrens (VD)","canton":"Kanton Waadt","domain":"morrens.ch","mx":["morrens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX morrens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5529":{"name":"Oulens-sous-Echallens","canton":"Kanton Waadt","domain":"oulens-sous-echallens.ch","mx":["oulenssousechallens-ch01ei.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX oulenssousechallens-ch01ei.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.oulens-sous-echallens.ch CNAME → selector1-oulenssousechallens-ch01ei._domainkey.oulenssousechallens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.oulens-sous-echallens.ch CNAME → selector2-oulenssousechallens-ch01ei._domainkey.oulenssousechallens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5530":{"name":"Pailly","canton":"Kanton Waadt","domain":"pailly.ch","mx":["pailly-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX pailly-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.pailly.ch CNAME → selector1-pailly-ch._domainkey.communepailly.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.pailly.ch CNAME → selector2-pailly-ch._domainkey.communepailly.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5531":{"name":"Penthéréaz","canton":"Kanton Waadt","domain":"penthereaz.ch","mx":["penthereaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX penthereaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5533":{"name":"Poliez-Pittet","canton":"Kanton Waadt","domain":"poliez-pittet.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5534":{"name":"Rueyres","canton":"Kanton Waadt","domain":"rueyres.ch","mx":["cm.cleanmail.ch"],"spf":"v=spf1 include:spf.fastnet.ch include:spf.sogomail.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"cleanmail"},"5535":{"name":"Saint-Barthélemy (VD)","canton":"Kanton Waadt","domain":"st-barthelemy.ch","mx":["stbarthelemy-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:46.14.27.30/32 ip4:193.246.38.134/32 ip4:164.128.171.231/32 include:spf.protection.outlook.com ?all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stbarthelemy-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.st-barthelemy.ch CNAME → selector1-stbarthelemy-ch0e._domainkey.communedestbarthelemy.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.st-barthelemy.ch CNAME → selector2-stbarthelemy-ch0e._domainkey.communedestbarthelemy.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5537":{"name":"Villars-le-Terroir","canton":"Kanton Waadt","domain":"villars-le-terroir.ch","mx":["villarsleterroir-ch01ie.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX villarsleterroir-ch01ie.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5539":{"name":"Vuarrens","canton":"Kanton Waadt","domain":"vuarrens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5540":{"name":"Montilliez","canton":"Kanton Waadt","domain":"montilliez.ch","mx":["mailfilter.pinhaotec.com"],"spf":"v=spf1 mx ip4:5.1.96.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5541":{"name":"Goumoëns","canton":"Kanton Waadt","domain":"goumoens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5551":{"name":"Bonvillars","canton":"Kanton Waadt","domain":"bonvillars.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5552":{"name":"Bullet","canton":"Kanton Waadt","domain":"bullet.ch","mx":["bullet-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bullet-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bullet.ch CNAME → selector1-bullet-ch._domainkey.communebullet.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bullet.ch CNAME → selector2-bullet-ch._domainkey.communebullet.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5553":{"name":"Champagne","canton":"Kanton Waadt","domain":"champagne.ch","mx":["champagne-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX champagne-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5554":{"name":"Concise","canton":"Kanton Waadt","domain":"concise.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5555":{"name":"Corcelles-près-Concise","canton":"Kanton Waadt","domain":"corcelles-concise.ch","mx":["corcellesconcise-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX corcellesconcise-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.corcelles-concise.ch CNAME → selector1-corcellesconcise-ch02c._domainkey.corcellesconcise.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.corcelles-concise.ch CNAME → selector2-corcellesconcise-ch02c._domainkey.corcellesconcise.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5556":{"name":"Fiez","canton":"Kanton Waadt","domain":"fiez.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5557":{"name":"Fontaines-sur-Grandson","canton":"Kanton Waadt","domain":"fontaines-sur-grandson.ch","mx":["mail.fontaines-sur-grandson.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5559":{"name":"Giez","canton":"Kanton Waadt","domain":"giez.ch","mx":["giez-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all include:mailgw.tizoo.com","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX giez-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.giez.ch CNAME → selector1-giez-ch._domainkey.communegiez.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.giez.ch CNAME → selector2-giez-ch._domainkey.communegiez.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5560":{"name":"Grandevent","canton":"Kanton Waadt","domain":"grandevent.ch","mx":["grandevent-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grandevent-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.grandevent.ch CNAME → selector1-grandevent-ch._domainkey.grandeventch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.grandevent.ch CNAME → selector2-grandevent-ch._domainkey.grandeventch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5561":{"name":"Grandson","canton":"Kanton Waadt","domain":"grandson.ch","mx":["mta.witecom.ch"],"spf":"v=spf1 mx include:spf.witecom.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5562":{"name":"Mauborget","canton":"Kanton Waadt","domain":"mauborget.ch","mx":["mx1.swisscenter.com"],"spf":"v=spf1 mx include:fwdsc.swisscenter.com -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5563":{"name":"Mutrux","canton":"Kanton Waadt","domain":"mutrux.swiss","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5564":{"name":"Novalles","canton":"Kanton Waadt","domain":"novalles.ch","mx":["mail.horus.ch"],"spf":"v=spf1 include:spf.horus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5565":{"name":"Onnens (VD)","canton":"Kanton Waadt","domain":"onnens.ch","mx":["mta.witecom.ch"],"spf":"v=spf1 include:spf.witecom.ch ?all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5566":{"name":"Provence","canton":"Kanton Waadt","domain":"provence.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5568":{"name":"Sainte-Croix","canton":"Kanton Waadt","domain":"sainte-croix.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 include:_spf_eucentral1.prod.hydra.sophos.com include:_spf.blk.ymc.swiss -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"}],"gateway":"sophos"},"5571":{"name":"Tévenon","canton":"Kanton Waadt","domain":"tevenon.ch","mx":["mta.witecom.ch"],"spf":"v=spf1 mx include:spf.witecom.ch include:spf.customer.swiss-egov.cloud ?all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5581":{"name":"Belmont-sur-Lausanne","canton":"Kanton Waadt","domain":"belmont.ch","mx":["etrn-01.vtx.ch","mail.pully.ch"],"spf":"v=spf1 ip4:193.246.106.0/23 ip4:145.232.253.0/24 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5582":{"name":"Cheseaux-sur-Lausanne","canton":"Kanton Waadt","domain":"cheseaux.ch","mx":["cheseaux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cheseaux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5583":{"name":"Crissier","canton":"Kanton Waadt","domain":"crissier.ch","mx":["crissier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.mailjet.com include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX crissier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5584":{"name":"Epalinges","canton":"Kanton Waadt","domain":"epalinges.ch","mx":["epalinges-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a:mail.epalinges.ch +a:www.epalinges.ch include:spf1.ne.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX epalinges-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.epalinges.ch CNAME → selector1-epalinges-ch._domainkey.epalingesch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.epalinges.ch CNAME → selector2-epalinges-ch._domainkey.epalingesch.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5585":{"name":"Jouxtens-Mézery","canton":"Kanton Waadt","domain":"jouxtens-mezery.ch","mx":["jouxtensmezery-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX jouxtensmezery-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.jouxtens-mezery.ch CNAME → selector1-jouxtensmezery-ch02b._domainkey.communejouxtensmezery.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.jouxtens-mezery.ch CNAME → selector2-jouxtensmezery-ch02b._domainkey.communejouxtensmezery.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5586":{"name":"Lausanne","canton":"Kanton Waadt","domain":"lausanne.ch","mx":["mxvdl.lausanne.ch"],"spf":"v=spf1 ip4:193.200.220.0/24 mx:lausanne.ch include:_spf.general.transactional-mail-a.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5587":{"name":"Le Mont-sur-Lausanne","canton":"Kanton Waadt","domain":"lemontsurlausanne.ch","mx":["remote.lemontsurlausanne.ch"],"spf":"v=spf1 a mx a:mta-gw.evok.ch ip4:213.200.229.44 ip4:94.103.98.202 ip4:185.54.6.105 ip4:46.14.178.178 include:spf.infomaniak.ch ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5588":{"name":"Paudex","canton":"Kanton Waadt","domain":"paudex.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5589":{"name":"Prilly","canton":"Kanton Waadt","domain":"prilly.ch","mx":["mail.prilly.ch","mail2.prilly.ch"],"spf":"v=spf1 a mx include:_spf.i-web.ch include:spf.mailpro.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5590":{"name":"Pully","canton":"Kanton Waadt","domain":"pully.ch","mx":["etrn-01.vtx.ch","mail.pully.ch"],"spf":"v=spf1 ip4:193.246.106.0/23 ip4:145.232.253.0/24 ip4:148.196.186.40 ip4:205.201.133.57 include:spf1.ne.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"5591":{"name":"Renens (VD)","canton":"Kanton Waadt","domain":"renens.ch","mx":["renens-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.29.0.13 ip4:51.107.19.113 include:spf.protection.outlook.com include:spf2.sbr-master.net include:spf1.ne.ch include:spf.infomaniak.ch include:spf-de.emailsignatures365.com a:b.spf.service-now.com a:c.spf.service-now.com a:d.spf.service-now.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX renens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5592":{"name":"Romanel-sur-Lausanne","canton":"Kanton Waadt","domain":"romanel-sur-lausanne.ch","mx":["romanelsurlausanne-ch01ii.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.komodo.ch ip4:46.14.212.184/29 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX romanelsurlausanne-ch01ii.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.romanel-sur-lausanne.ch CNAME → selector1-romanelsurlausanne-ch01ii._domainkey.romanelsurlausanne.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.romanel-sur-lausanne.ch CNAME → selector2-romanelsurlausanne-ch01ii._domainkey.romanelsurlausanne.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5601":{"name":"Chexbres","canton":"Kanton Waadt","domain":"chexbres.ch","mx":["chexbres-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:193.8.140.198/32 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chexbres-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5604":{"name":"Forel (Lavaux)","canton":"Kanton Waadt","domain":"forel.ch","mx":["forel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX forel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5606":{"name":"Lutry","canton":"Kanton Waadt","domain":"lutry.ch","mx":["mail.lutry.rcv.ch","mail2.lutry.rcv.ch"],"spf":"v=spf1 a mx include:spf.vtx.ch include:spf.rcv.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5607":{"name":"Puidoux","canton":"Kanton Waadt","domain":"puidoux.ch","mx":["puidoux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX puidoux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5609":{"name":"Rivaz","canton":"Kanton Waadt","domain":"rivaz.ch","mx":["rivaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX rivaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5610":{"name":"Saint-Saphorin (Lavaux)","canton":"Kanton Waadt","domain":"saint-saphorin.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5611":{"name":"Savigny","canton":"Kanton Waadt","domain":"savigny.ch","mx":["savigny-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.rcv.ch ip4:185.54.6.105 include:_spf.webforge.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX savigny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.savigny.ch CNAME → selector1-savigny-ch._domainkey.communedesavigny.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.savigny.ch CNAME → selector2-savigny-ch._domainkey.communedesavigny.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5613":{"name":"Bourg-en-Lavaux","canton":"Kanton Waadt","domain":"b-e-l.ch","mx":["cust4434-1.in.mailcontrol.com","cust4434-2.in.mailcontrol.com"],"spf":"v=spf1 include:fwdsc.swisscenter.com include:mailcontrol.com include:servicehoster.ch a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com ip4:185.54.6.105 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5621":{"name":"Aclens","canton":"Kanton Waadt","domain":"aclens.ch","mx":["aclens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX aclens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.aclens.ch CNAME → selector1-aclens-ch._domainkey.communeaclens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.aclens.ch CNAME → selector2-aclens-ch._domainkey.communeaclens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5622":{"name":"Bremblens","canton":"Kanton Waadt","domain":"bremblens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5623":{"name":"Buchillon","canton":"Kanton Waadt","domain":"buchillon.ch","mx":["buchillon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX buchillon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5624":{"name":"Bussigny","canton":"Kanton Waadt","domain":"bussigny.ch","mx":["bussigny-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com include:spf.ganesh-hosting.ch ip4:212.71.120.144/28 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bussigny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bussigny.ch CNAME → selector1-bussigny-ch._domainkey.bussignych.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bussigny.ch CNAME → selector2-bussigny-ch._domainkey.bussignych.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5627":{"name":"Chavannes-près-Renens","canton":"Kanton Waadt","domain":"chavannes.ch","mx":["chavannes-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf-de.emailsignatures365.com ip4:212.71.120.144/28 ip4:185.25.192.92/32 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chavannes-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.chavannes.ch CNAME → selector1-chavannes-ch._domainkey.communechavannes.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.chavannes.ch CNAME → selector2-chavannes-ch._domainkey.communechavannes.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5628":{"name":"Chigny","canton":"Kanton Waadt","domain":"chigny.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.vtx.ch ip4:185.54.6.105 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5629":{"name":"Clarmont","canton":"Kanton Waadt","domain":"clarmont.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5631":{"name":"Denens","canton":"Kanton Waadt","domain":"denens.ch","mx":["denens-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.mailhostbox.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX denens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5632":{"name":"Denges","canton":"Kanton Waadt","domain":"denges.ch","mx":["denges-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.customer.swiss-egov.cloud -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX denges-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5633":{"name":"Echandens","canton":"Kanton Waadt","domain":"echandens.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.16 include:spf.eadmin-solutions.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5634":{"name":"Echichens","canton":"Kanton Waadt","domain":"echichens.ch","mx":["echichens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX echichens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5635":{"name":"Ecublens (VD)","canton":"Kanton Waadt","domain":"ecublens.ch","mx":["ecublens-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:62.2.153.110 include:spf.ganesh-hosting.ch include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mailjet.com include:spf-eu.emailsignatures365.com a:c.spf.service-now.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ecublens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ecublens.ch CNAME → selector1-ecublens-ch._domainkey.communeecublens.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ecublens.ch CNAME → selector2-ecublens-ch._domainkey.communeecublens.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5636":{"name":"Etoy","canton":"Kanton Waadt","domain":"etoy.ch","mx":["etoy-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.14.144.46 include:spf.protection.outlook.com include:_spf.bluewin.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX etoy-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.etoy.ch CNAME → selector1-etoy-ch._domainkey.etoy.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.etoy.ch CNAME → selector2-etoy-ch._domainkey.etoy.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5637":{"name":"Lavigny","canton":"Kanton Waadt","domain":"lavigny.ch","mx":["alt1.aspmx.l.google.com","alt2.aspmx.l.google.com","alt3.aspmx.l.google.com","alt4.aspmx.l.google.com","aspmx.l.google.com"],"spf":"v=spf1 include:_spf.google.com ~all","provider":"google","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"mx","detail":"MX alt1.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX alt2.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX alt3.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX alt4.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX aspmx.l.google.com matches google"},{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5638":{"name":"Lonay","canton":"Kanton Waadt","domain":"lonay.ch","mx":["lonay-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lonay-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5639":{"name":"Lully (VD)","canton":"Kanton Waadt","domain":"lully.ch","mx":["lully-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lully-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5640":{"name":"Lussy-sur-Morges","canton":"Kanton Waadt","domain":"lussy-sur-morges.ch","mx":["lussysurmorges-ch01cc.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lussysurmorges-ch01cc.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5642":{"name":"Morges","canton":"Kanton Waadt","domain":"morges.ch","mx":["mx1.hc1035-98.eu.iphmx.com","mx2.hc1035-98.eu.iphmx.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com include:spf1.ne.ch ip4:159.100.243.117 ip4:185.19.28.207 exists:%{i}.spf.hc1035-98.eu.iphmx.com ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":70.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"cisco"},"5643":{"name":"Préverenges","canton":"Kanton Waadt","domain":"preverenges.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 ip4:194.209.244.213 ip4:37.0.59.14 include:spf.infomaniak.ch include:_spf.i-web.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5645":{"name":"Romanel-sur-Morges","canton":"Kanton Waadt","domain":"romanel-sur-morges.ch","mx":["romanelsurmorges-ch01ii.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:spf.infomaniak.ch include:spf.customer.swiss-egov.cloud include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX romanelsurmorges-ch01ii.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.romanel-sur-morges.ch CNAME → selector1-romanelsurmorges-ch01ii._domainkey.romanelsurmorgesch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.romanel-sur-morges.ch CNAME → selector2-romanelsurmorges-ch01ii._domainkey.romanelsurmorgesch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5646":{"name":"Saint-Prex","canton":"Kanton Waadt","domain":"saint-prex.ch","mx":["saintprex-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX saintprex-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5648":{"name":"Saint-Sulpice (VD)","canton":"Kanton Waadt","domain":"st-sulpice.ch","mx":["mail.rcv.ch","mail2.rcv.ch","stsulpice-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.rcv.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stsulpice-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5649":{"name":"Tolochenaz","canton":"Kanton Waadt","domain":"tolochenaz.ch","mx":["tolochenaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tolochenaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5650":{"name":"Vaux-sur-Morges","canton":"Kanton Waadt","domain":"vaux-sur-morges.ch","mx":["mta-gw.infomaniak.ch","vauxsurmorges-ch01bb.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"mx","detail":"MX vauxsurmorges-ch01bb.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vaux-sur-morges.ch CNAME → selector1-vauxsurmorges-ch01bb._domainkey.vauxsurmorges.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vaux-sur-morges.ch CNAME → selector2-vauxsurmorges-ch01bb._domainkey.vauxsurmorges.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5651":{"name":"Villars-Sainte-Croix","canton":"Kanton Waadt","domain":"villars-sainte-croix.ch","mx":["villarssaintecroix-ch01i1e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX villarssaintecroix-ch01i1e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector2._domainkey.villars-sainte-croix.ch CNAME → selector2-villarssaintecroix-ch01i1e._domainkey.communevillarssaintecroix.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5652":{"name":"Villars-sous-Yens","canton":"Kanton Waadt","domain":"villars-sous-yens.ch","mx":["villarssousyens-ch01i1b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX villarssousyens-ch01i1b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5653":{"name":"Vufflens-le-Château","canton":"Kanton Waadt","domain":"vufflens-le-chateau.ch","mx":["vufflenslechateau-ch02j.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vufflenslechateau-ch02j.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5654":{"name":"Vullierens","canton":"Kanton Waadt","domain":"vullierens.ch","mx":["vullierens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vullierens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5655":{"name":"Yens","canton":"Kanton Waadt","domain":"yens.ch","mx":["yens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX yens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5656":{"name":"Hautemorges","canton":"Kanton Waadt","domain":"hautemorges.ch","mx":["hautemorges-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:84.253.10.182 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX hautemorges-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.hautemorges.ch CNAME → selector1-hautemorges-ch._domainkey.communehautemorges.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.hautemorges.ch CNAME → selector2-hautemorges-ch._domainkey.communehautemorges.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5661":{"name":"Boulens","canton":"Kanton Waadt","domain":"boulens.ch","mx":["mail.boulens.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5663":{"name":"Bussy-sur-Moudon","canton":"Kanton Waadt","domain":"bussy-sur-moudon.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5665":{"name":"Chavannes-sur-Moudon","canton":"Kanton Waadt","domain":"chavannes-sur-moudon.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.trisinformatique.com include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5669":{"name":"Curtilles","canton":"Kanton Waadt","domain":"curtilles.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5671":{"name":"Dompierre (VD)","canton":"Kanton Waadt","domain":"dompierre-vd.ch","mx":["dompierrevd-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX dompierrevd-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5673":{"name":"Hermenches","canton":"Kanton Waadt","domain":"hermenches.ch","mx":["hermenches-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX hermenches-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5674":{"name":"Lovatens","canton":"Kanton Waadt","domain":"lovatens.ch","mx":["srv.lovatens.ch"],"spf":"v=spf1 a mx include:spf.swizzonic-mail.ch include:_spf.blk.ymc.swiss include:_spf.i-web.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5675":{"name":"Lucens","canton":"Kanton Waadt","domain":"lucens.ch","mx":["lucens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:185.54.6.111 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lucens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5678":{"name":"Moudon","canton":"Kanton Waadt","domain":"moudon.ch","mx":["moudon-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf1.net4all.ch ip4:212.71.120.144/28 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX moudon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5680":{"name":"Ogens","canton":"Kanton Waadt","domain":"ogens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5683":{"name":"Prévonloup","canton":"Kanton Waadt","domain":"prevonloup.ch","mx":["alt1.aspmx.l.google.com","alt2.aspmx.l.google.com","aspmx.l.google.com","aspmx2.googlemail.com","aspmx3.googlemail.com","aspmx4.googlemail.com","aspmx5.googlemail.com"],"spf":"v=spf1 include:_spf.google.com ~all","provider":"google","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"mx","detail":"MX alt1.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX alt2.aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX aspmx.l.google.com matches google"},{"kind":"mx","detail":"MX aspmx2.googlemail.com matches google"},{"kind":"mx","detail":"MX aspmx3.googlemail.com matches google"},{"kind":"mx","detail":"MX aspmx4.googlemail.com matches google"},{"kind":"mx","detail":"MX aspmx5.googlemail.com matches google"},{"kind":"spf","detail":"SPF include:_spf.google.com matches google"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"},{"kind":"asn","detail":"ASN 15169 matches google"}]},"5684":{"name":"Rossenges","canton":"Kanton Waadt","domain":"rossenges.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5688":{"name":"Syens","canton":"Kanton Waadt","domain":"syens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5690":{"name":"Villars-le-Comte","canton":"Kanton Waadt","domain":"villars-le-comte.ch","mx":["mx1.swisscenter.com"],"spf":"v=spf1 mx include:fwdsc.swisscenter.com -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5692":{"name":"Vucherens","canton":"Kanton Waadt","domain":"vucherens.ch","mx":["vucherens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vucherens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5693":{"name":"Montanaire","canton":"Kanton Waadt","domain":"montanaire.ch","mx":["montanaire-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com include:mailgun.org -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX montanaire-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5701":{"name":"Arnex-sur-Nyon","canton":"Kanton Waadt","domain":"arnex-sur-nyon.ch","mx":["mx4.safemail.ch","mx5.safemail.ch"],"spf":"v=spf1 +a +mx +ip4:195.70.7.126 include:dfinet.ch +ip4:195.70.7.126 +ip4:195.70.12.114 +include:smtp.dfinet.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5702":{"name":"Arzier-Le Muids","canton":"Kanton Waadt","domain":"arzier.ch","mx":["arzier-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX arzier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5703":{"name":"Bassins","canton":"Kanton Waadt","domain":"bassins.ch","mx":["bassins-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX bassins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5704":{"name":"Begnins","canton":"Kanton Waadt","domain":"begnins.ch","mx":["begnins-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.129.53.73 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX begnins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.begnins.ch CNAME → selector1-begnins-ch._domainkey.communebegnins.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.begnins.ch CNAME → selector2-begnins-ch._domainkey.communebegnins.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5705":{"name":"Bogis-Bossey","canton":"Kanton Waadt","domain":"bogis-bossey.ch","mx":["bogisbossey-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX bogisbossey-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5706":{"name":"Borex","canton":"Kanton Waadt","domain":"borex.ch","mx":["borex-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX borex-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.borex.ch CNAME → selector1-borex-ch._domainkey.communeborex.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.borex.ch CNAME → selector2-borex-ch._domainkey.communeborex.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5707":{"name":"Chavannes-de-Bogis","canton":"Kanton Waadt","domain":"chavannes-de-bogis.ch","mx":["chavannesdebogis-ch02cb.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chavannesdebogis-ch02cb.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.chavannes-de-bogis.ch CNAME → selector1-chavannesdebogis-ch02cb._domainkey.communecdb.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.chavannes-de-bogis.ch CNAME → selector2-chavannesdebogis-ch02cb._domainkey.communecdb.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5708":{"name":"Chavannes-des-Bois","canton":"Kanton Waadt","domain":"chavannes-des-bois.ch","mx":["chavannesdesbois-ch02cc.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX chavannesdesbois-ch02cc.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5709":{"name":"Chéserex","canton":"Kanton Waadt","domain":"cheserex.ch","mx":["cheserex-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cheserex-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cheserex.ch CNAME → selector1-cheserex-ch._domainkey.communecheserex.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cheserex.ch CNAME → selector2-cheserex-ch._domainkey.communecheserex.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5710":{"name":"Coinsins","canton":"Kanton Waadt","domain":"coinsins.ch","mx":["coinsins-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX coinsins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5711":{"name":"Commugny","canton":"Kanton Waadt","domain":"commugny.ch","mx":["commugny-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:159.100.243.181 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX commugny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5712":{"name":"Coppet","canton":"Kanton Waadt","domain":"coppet.ch","mx":["coppet-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX coppet-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5713":{"name":"Crans (VD)","canton":"Kanton Waadt","domain":"cransvd.ch","mx":["cransvd-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX cransvd-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5714":{"name":"Crassier","canton":"Kanton Waadt","domain":"crassier.ch","mx":["crassier-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.infomaniak.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX crassier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.crassier.ch CNAME → selector1-crassier-ch._domainkey.communecrassier.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.crassier.ch CNAME → selector2-crassier-ch._domainkey.communecrassier.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5715":{"name":"Duillier","canton":"Kanton Waadt","domain":"duillier.ch","mx":["duillier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX duillier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5716":{"name":"Eysins","canton":"Kanton Waadt","domain":"eysins.ch","mx":["eysins-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eysins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5717":{"name":"Founex","canton":"Kanton Waadt","domain":"founex.ch","mx":["founex-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf.eadmin-solutions.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX founex-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5718":{"name":"Genolier","canton":"Kanton Waadt","domain":"genolier.ch","mx":["genolier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.eadmin-solutions.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX genolier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5719":{"name":"Gingins","canton":"Kanton Waadt","domain":"gingins.ch","mx":["gingins-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 ip4:185.54.6.105 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX gingins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5720":{"name":"Givrins","canton":"Kanton Waadt","domain":"givrins.ch","mx":["givrins-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:146.4.37.74 ip4:185.54.6.105 ip4:193.34.137.65 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX givrins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5721":{"name":"Gland","canton":"Kanton Waadt","domain":"gland.ch","mx":["gland-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:37.0.35.222 ip4:94.103.98.202 include:spf.protection.outlook.com include:spf.infomaniak.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gland-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gland.ch CNAME → selector1-gland-ch._domainkey.municipalitedegland.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gland.ch CNAME → selector2-gland-ch._domainkey.municipalitedegland.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5722":{"name":"Grens","canton":"Kanton Waadt","domain":"grens.ch","mx":["grens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.grens.ch CNAME → selector1-grens-ch._domainkey.grensch.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.grens.ch CNAME → selector2-grens-ch._domainkey.grensch.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5723":{"name":"Mies","canton":"Kanton Waadt","domain":"mies.ch","mx":["mies-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:193.34.137.65 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mies-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5724":{"name":"Nyon","canton":"Kanton Waadt","domain":"nyon.ch","mx":["mail.rcv.ch","mail2.rcv.ch"],"spf":"v=spf1 MX a:iomedia-smtp.infomaniak.ch include:spf.infomaniak.ch include:spf.rcv.ch include:spf1.ne.ch include:spf.protection.outlook.com -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5725":{"name":"Prangins","canton":"Kanton Waadt","domain":"prangins.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com","prangins-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:109.164.235.43 ip4:194.209.244.213 ip4:185.48.146.91 ip4:185.54.6.105 a:dispatch-eu.ppe-hosted.com include:spf.protection.outlook.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX prangins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.prangins.ch CNAME → selector1-prangins-ch._domainkey.infologdata.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.prangins.ch CNAME → selector2-prangins-ch._domainkey.infologdata.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"proofpoint"},"5726":{"name":"La Rippe","canton":"Kanton Waadt","domain":"larippe.ch","mx":["larippe-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX larippe-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.larippe.ch CNAME → selector1-larippe-ch._domainkey.communelarippe.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.larippe.ch CNAME → selector2-larippe-ch._domainkey.communelarippe.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5727":{"name":"Saint-Cergue","canton":"Kanton Waadt","domain":"st-cergue.ch","mx":["stcergue-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stcergue-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.st-cergue.ch CNAME → selector1-stcergue-ch0e._domainkey.communestcergue.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.st-cergue.ch CNAME → selector2-stcergue-ch0e._domainkey.communestcergue.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5728":{"name":"Signy-Avenex","canton":"Kanton Waadt","domain":"signy-avenex.ch","mx":["mx.swizzonic.email"],"spf":"v=spf1 include:spf.webapps.net ip4:193.34.137.65 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5729":{"name":"Tannay","canton":"Kanton Waadt","domain":"tannay.ch","mx":["tannay-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.cybercloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX tannay-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5730":{"name":"Trélex","canton":"Kanton Waadt","domain":"trelex.ch","mx":["trelex-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:83.172.203.166 include:spf.infomaniak.ch include:spf.protection.outlook.com ip4:185.54.6.105 ip4:193.34.137.65 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX trelex-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.trelex.ch CNAME → selector1-trelex-ch._domainkey.communetrelex.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.trelex.ch CNAME → selector2-trelex-ch._domainkey.communetrelex.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5731":{"name":"Le Vaud","canton":"Kanton Waadt","domain":"levaud.ch","mx":["levaud-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:newsletter.infomaniak.com include:amazonses.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX levaud-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:amazonses.com matches aws"},{"kind":"dkim","detail":"DKIM selector1._domainkey.levaud.ch CNAME → selector1-levaud-ch._domainkey.levaud.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.levaud.ch CNAME → selector2-levaud-ch._domainkey.levaud.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5732":{"name":"Vich","canton":"Kanton Waadt","domain":"vich.ch","mx":["vich-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vich-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5741":{"name":"L'Abergement","canton":"Kanton Waadt","domain":"labergement.ch","mx":["labergement-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.webforge.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX labergement-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5742":{"name":"Agiez","canton":"Kanton Waadt","domain":"agiez.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5743":{"name":"Arnex-sur-Orbe","canton":"Kanton Waadt","domain":"arnex-sur-orbe.ch","mx":["arnexsurorbe-ch01cc.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com include:_spf.webforge.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX arnexsurorbe-ch01cc.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5744":{"name":"Ballaigues","canton":"Kanton Waadt","domain":"ballaigues.ch","mx":["ballaigues-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.ganesh-hosting.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ballaigues-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.ballaigues.ch CNAME → selector1-ballaigues-ch._domainkey.communeballaigues.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.ballaigues.ch CNAME → selector2-ballaigues-ch._domainkey.communeballaigues.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5745":{"name":"Baulmes","canton":"Kanton Waadt","domain":"baulmes.ch","mx":["mta.witecom.ch"],"spf":"v=spf1 mx include:spf.witecom.ch -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5746":{"name":"Bavois","canton":"Kanton Waadt","domain":"bavois.ch","mx":["bavois-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bavois-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5747":{"name":"Bofflens","canton":"Kanton Waadt","domain":"bofflens.ch","mx":["bofflens-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bofflens-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5748":{"name":"Bretonnières","canton":"Kanton Waadt","domain":"bretonnieres.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5749":{"name":"Chavornay","canton":"Kanton Waadt","domain":"chavornay.ch","mx":["chavornay-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.153.189.8 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf1.ne.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chavornay-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.chavornay.ch CNAME → selector1-chavornay-ch._domainkey.chavornay.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.chavornay.ch CNAME → selector2-chavornay-ch._domainkey.chavornay.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5750":{"name":"Les Clées","canton":"Kanton Waadt","domain":"lesclees.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5752":{"name":"Croy","canton":"Kanton Waadt","domain":"croy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5754":{"name":"Juriens","canton":"Kanton Waadt","domain":"juriens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.eadmin-solutions.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5755":{"name":"Lignerolle","canton":"Kanton Waadt","domain":"lignerolle.ch","mx":["mx1.swisscenter.com"],"spf":"v=spf1 mx include:fwdsc.swisscenter.com -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5756":{"name":"Montcherand","canton":"Kanton Waadt","domain":"montcherand.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5757":{"name":"Orbe","canton":"Kanton Waadt","domain":"orbe.ch","mx":["orbe-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +include:relay.mailchannels.net +include:spf.ganesh-hosting.ch +include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":89.0,"classification_signals":[{"kind":"mx","detail":"MX orbe-ch.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5758":{"name":"La Praz","canton":"Kanton Waadt","domain":"lapraz.ch","mx":["mail.horus.ch"],"spf":"v=spf1 include:spf.horus.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5759":{"name":"Premier","canton":"Kanton Waadt","domain":"premier.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5760":{"name":"Rances","canton":"Kanton Waadt","domain":"rances.ch","mx":["rances-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX rances-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5761":{"name":"Romainmôtier-Envy","canton":"Kanton Waadt","domain":"romainmotier.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5762":{"name":"Sergey","canton":"Kanton Waadt","domain":"sergey.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5763":{"name":"Valeyres-sous-Rances","canton":"Kanton Waadt","domain":"valeyres-sous-rances.ch","mx":["valeyressousrances-ch02bc.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX valeyressousrances-ch02bc.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5764":{"name":"Vallorbe","canton":"Kanton Waadt","domain":"vallorbe.ch","mx":["vallorbe-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vallorbe-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5765":{"name":"Vaulion","canton":"Kanton Waadt","domain":"vaulion.ch","mx":["vaulion-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vaulion-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5766":{"name":"Vuiteboeuf","canton":"Kanton Waadt","domain":"vuiteboeuf.ch","mx":["vuiteboeuf-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vuiteboeuf-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vuiteboeuf.ch CNAME → selector1-vuiteboeuf-ch._domainkey.communevuiteboeuf.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vuiteboeuf.ch CNAME → selector2-vuiteboeuf-ch._domainkey.communevuiteboeuf.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5785":{"name":"Corcelles-le-Jorat","canton":"Kanton Waadt","domain":"corcelles-le-jorat.ch","mx":["corcelleslejorat-ch02cb.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.blk.ymc.swiss -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX corcelleslejorat-ch02cb.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5790":{"name":"Maracon","canton":"Kanton Waadt","domain":"maracon.ch","mx":["maracon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX maracon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5792":{"name":"Montpreveyres","canton":"Kanton Waadt","domain":"montpreveyres.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ip4:185.54.6.105 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5798":{"name":"Ropraz","canton":"Kanton Waadt","domain":"ropraz.ch","mx":["mail1.copperfasten.ch","mail2.copperfasten.ch"],"spf":"v=spf1 include:spf.eadmin-solutions.ch +a +mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5799":{"name":"Servion","canton":"Kanton Waadt","domain":"servion.ch","mx":["servion-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:193.34.137.65 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX servion-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.servion.ch CNAME → selector1-servion-ch._domainkey.communeservion.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.servion.ch CNAME → selector2-servion-ch._domainkey.communeservion.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5803":{"name":"Vulliens","canton":"Kanton Waadt","domain":"vulliens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5804":{"name":"Jorat-Menthue","canton":"Kanton Waadt","domain":"jorat-menthue.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5805":{"name":"Oron","canton":"Kanton Waadt","domain":"oron.ch","mx":["mail.cleanmail.ch"],"spf":"v=spf1 a mx ip4:178.174.94.211/29 ip4:193.8.140.198/32 ip4:185.54.6.105 ip4:193.34.137.65 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}],"gateway":"cleanmail"},"5806":{"name":"Jorat-Mézières","canton":"Kanton Waadt","domain":"jorat-mezieres.ch","mx":["owa.jorat-mezieres.ch"],"spf":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5812":{"name":"Champtauroz","canton":"Kanton Waadt","domain":"champtauroz.ch","mx":["champtauroz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX champtauroz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.champtauroz.ch CNAME → selector1-champtauroz-ch._domainkey.communechamptauroz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.champtauroz.ch CNAME → selector2-champtauroz-ch._domainkey.communechamptauroz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5813":{"name":"Chevroux","canton":"Kanton Waadt","domain":"chevroux.ch","mx":["chevroux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.eadmin-solutions.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX chevroux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5816":{"name":"Corcelles-près-Payerne","canton":"Kanton Waadt","domain":"corcelles.ch","mx":["corcelles-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX corcelles-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5817":{"name":"Grandcour","canton":"Kanton Waadt","domain":"grandcour.ch","mx":["grandcour-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grandcour-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5819":{"name":"Henniez","canton":"Kanton Waadt","domain":"commune-henniez.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5821":{"name":"Missy","canton":"Kanton Waadt","domain":"missy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5822":{"name":"Payerne","canton":"Kanton Waadt","domain":"payerne.ch","mx":["mail.rcv.ch","mail2.rcv.ch"],"spf":"v=spf1 include:spf.rcv.ch include:_spf.i-web.ch include:spf1.ne.ch include:spf.abacuscity.ch ip4:185.54.6.105 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5827":{"name":"Trey","canton":"Kanton Waadt","domain":"trey.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5828":{"name":"Treytorrens (Payerne)","canton":"Kanton Waadt","domain":"treytorrens.ch","mx":["mail.treytorrens.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5830":{"name":"Villarzel","canton":"Kanton Waadt","domain":"villarzel.ch","mx":["villarzel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX villarzel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5831":{"name":"Valbroye","canton":"Kanton Waadt","domain":"valbroye.ch","mx":["valbroye-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.14.6.235 ip4:213.193.110.206 include:spf.protection.outlook.com include:spf1.ne.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX valbroye-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"5841":{"name":"Château-d'Oex","canton":"Kanton Waadt","domain":"chateaudoex-admin.ch","mx":["mail.chateaudoex-admin.rcv.ch","mail2.chateaudoex-admin.rcv.ch"],"spf":"v=spf1 include:spf.rcv.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5842":{"name":"Rossinière","canton":"Kanton Waadt","domain":"rossiniere.ch","mx":["rossiniere-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rossiniere-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rossiniere.ch CNAME → selector1-rossiniere-ch._domainkey.communerossiniere.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rossiniere.ch CNAME → selector2-rossiniere-ch._domainkey.communerossiniere.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5843":{"name":"Rougemont","canton":"Kanton Waadt","domain":"rougemont.ch","mx":["rougemont-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX rougemont-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5851":{"name":"Allaman","canton":"Kanton Waadt","domain":"allaman.ch","mx":["allaman-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch mx ip4:185.48.146.23 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX allaman-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5852":{"name":"Bursinel","canton":"Kanton Waadt","domain":"bursinel.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5853":{"name":"Bursins","canton":"Kanton Waadt","domain":"bursins.ch","mx":["bursins-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx include:spf.customer.swiss-egov.cloud include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bursins-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5854":{"name":"Burtigny","canton":"Kanton Waadt","domain":"burtigny.ch","mx":["burtigny-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:185.54.6.105 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX burtigny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.burtigny.ch CNAME → selector1-burtigny-ch._domainkey.communeburtigny.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.burtigny.ch CNAME → selector2-burtigny-ch._domainkey.communeburtigny.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5855":{"name":"Dully","canton":"Kanton Waadt","domain":"dully.ch","mx":["dully-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX dully-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5856":{"name":"Essertines-sur-Rolle","canton":"Kanton Waadt","domain":"essertines-sur-rolle.ch","mx":["essertinessurrolle-ch02ee.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX essertinessurrolle-ch02ee.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5857":{"name":"Gilly","canton":"Kanton Waadt","domain":"gilly.ch","mx":["gilly-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gilly-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gilly.ch CNAME → selector1-gilly-ch._domainkey.gillyvd.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gilly.ch CNAME → selector2-gilly-ch._domainkey.gillyvd.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5858":{"name":"Luins","canton":"Kanton Waadt","domain":"luins.ch","mx":["luins-ch.mail.protection.outlook.com"],"spf":"v=spf1 +mx +a +include:mailgw.tizoo.com +ip4:212.147.66.228 +include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":91.0,"classification_signals":[{"kind":"mx","detail":"MX luins-ch.mail.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5859":{"name":"Mont-sur-Rolle","canton":"Kanton Waadt","domain":"mont-sur-rolle.ch","mx":["montsurrolle-ch01bb.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.ganesh-hosting.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX montsurrolle-ch01bb.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5860":{"name":"Perroy","canton":"Kanton Waadt","domain":"perroy.ch","mx":["perroy-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:46.14.234.46 include:spf.protection.outlook.com include:_spf.dellaro.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX perroy-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5861":{"name":"Rolle","canton":"Kanton Waadt","domain":"rolle.ch","mx":["rolle-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:185.54.6.111 ip4:81.62.216.237 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX rolle-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.rolle.ch CNAME → selector1-rolle-ch._domainkey.communederolle1180.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.rolle.ch CNAME → selector2-rolle-ch._domainkey.communederolle1180.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"5862":{"name":"Tartegnin","canton":"Kanton Waadt","domain":"tartegnin.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5863":{"name":"Vinzel","canton":"Kanton Waadt","domain":"vinzel.ch","mx":["vinzel.ch"],"spf":"v=spf1 ip4:5.182.248.186 include:tizoo.com ip4:5.182.248.144 ip4:212.71.120.144/28 +a +mx +ip4:212.147.66.228 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5871":{"name":"L'Abbaye","canton":"Kanton Waadt","domain":"labbaye.ch","mx":["labbaye-ch.mail.eo.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5872":{"name":"Le Chenit","canton":"Kanton Waadt","domain":"communeduchenit.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5873":{"name":"Le Lieu","canton":"Kanton Waadt","domain":"lelieu.ch","mx":["lelieu-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lelieu-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5882":{"name":"Chardonne","canton":"Kanton Waadt","domain":"chardonne.ch","mx":["chardonne-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:193.5.240.2 ip4:185.54.6.105 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX chardonne-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5883":{"name":"Corseaux","canton":"Kanton Waadt","domain":"corseaux.ch","mx":["corseaux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:spf1.ne.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX corseaux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5884":{"name":"Corsier-sur-Vevey","canton":"Kanton Waadt","domain":"corsier-sur-vevey.ch","mx":["corsiersurvevey-ch01ii.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX corsiersurvevey-ch01ii.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.corsier-sur-vevey.ch CNAME → selector1-corsiersurvevey-ch01ii._domainkey.communecorsiersurvevey.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.corsier-sur-vevey.ch CNAME → selector2-corsiersurvevey-ch01ii._domainkey.communecorsiersurvevey.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5885":{"name":"Jongny","canton":"Kanton Waadt","domain":"jongny.ch","mx":["jongny-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.rcv.ch include:spf.protection.outlook.com a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX jongny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.jongny.ch CNAME → selector1-jongny-ch._domainkey.jongnyvd.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.jongny.ch CNAME → selector2-jongny-ch._domainkey.jongnyvd.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5886":{"name":"Montreux","canton":"Kanton Waadt","domain":"montreux.ch","mx":["mail.rcv.ch","mail2.rcv.ch"],"spf":"v=spf1 include:spf.rcv.ch ip4:194.56.250.0/23 ip4:94.103.98.197/32 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5889":{"name":"La Tour-de-Peilz","canton":"Kanton Waadt","domain":"la-tour-de-peilz.ch","mx":["mail.rcv.ch","mail2.rcv.ch"],"spf":"v=spf1 include:spf.rcv.ch include:spf1.ne.ch include:_spf.i-web.ch a:mail.equateur.ch a:mail.netbiblio-mailer.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5890":{"name":"Vevey","canton":"Kanton Waadt","domain":"vevey.ch","mx":["vevey-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf1.ne.ch ip4:185.54.6.105 include:spf.infomaniak.com include:spf.protection.outlook.com include:spf.villedevevey.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX vevey-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vevey.ch CNAME → selector1-vevey-ch._domainkey.veveych.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vevey.ch CNAME → selector2-vevey-ch._domainkey.veveych.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5891":{"name":"Veytaux","canton":"Kanton Waadt","domain":"veytaux.ch","mx":["veytaux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX veytaux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5892":{"name":"Blonay - Saint-Légier","canton":"Kanton Waadt","domain":"bstl.ch","mx":["bstl-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bstl-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.bstl.ch CNAME → selector1-bstl-ch._domainkey.blonay.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.bstl.ch CNAME → selector2-bstl-ch._domainkey.blonay.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5902":{"name":"Belmont-sur-Yverdon","canton":"Kanton Waadt","domain":"belmont-sur-yverdon.ch","mx":["belmontsuryverdon-ch01ii.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX belmontsuryverdon-ch01ii.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5903":{"name":"Bioley-Magnoux","canton":"Kanton Waadt","domain":"bioley-magnoux.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5904":{"name":"Chamblon","canton":"Kanton Waadt","domain":"chamblon.ch","mx":["chamblon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX chamblon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.chamblon.ch CNAME → selector1-chamblon-ch._domainkey.chamblon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.chamblon.ch CNAME → selector2-chamblon-ch._domainkey.chamblon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5905":{"name":"Champvent","canton":"Kanton Waadt","domain":"champvent.ch","mx":["champvent-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX champvent-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"5907":{"name":"Chavannes-le-Chêne","canton":"Kanton Waadt","domain":"chavannes-le-chene.ch","mx":["mx1.spamvor.com","mx2.spamvor.com"],"spf":"v=spf1 include:_spf.ch-dns.net +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"spamvor"},"5908":{"name":"Chêne-Pâquier","canton":"Kanton Waadt","domain":"chene-paquier.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5909":{"name":"Cheseaux-Noréaz","canton":"Kanton Waadt","domain":"cheseaux-noreaz.ch","mx":["mta.witecom.ch"],"spf":"v=spf1 include:spf.witecom.ch include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5910":{"name":"Cronay","canton":"Kanton Waadt","domain":"cronay.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5911":{"name":"Cuarny","canton":"Kanton Waadt","domain":"cuarny.ch","mx":["cuarny-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX cuarny-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5912":{"name":"Démoret","canton":"Kanton Waadt","domain":"demoret.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5913":{"name":"Donneloye","canton":"Kanton Waadt","domain":"donneloye.ch","mx":["donneloye-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX donneloye-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5914":{"name":"Ependes (VD)","canton":"Kanton Waadt","domain":"ependesvd.ch","mx":["ependesvd-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ependesvd-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5919":{"name":"Mathod","canton":"Kanton Waadt","domain":"mathod.ch","mx":["mathod-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.211.226.99 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX mathod-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5921":{"name":"Molondin","canton":"Kanton Waadt","domain":"molondin.ch","mx":["molondin-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX molondin-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5922":{"name":"Montagny-près-Yverdon","canton":"Kanton Waadt","domain":"montagny.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5923":{"name":"Oppens","canton":"Kanton Waadt","domain":"oppens.ch","mx":["oppens.ch"],"spf":"v=spf1 ip4:5.182.248.151 include:tizoo.com +a +mx +ip4:212.147.66.228 +ip4:212.147.77.250 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"5924":{"name":"Orges","canton":"Kanton Waadt","domain":"orges.ch","mx":["orges-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX orges-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"5925":{"name":"Orzens","canton":"Kanton Waadt","domain":"orzens.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5926":{"name":"Pomy","canton":"Kanton Waadt","domain":"pomy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5928":{"name":"Rovray","canton":"Kanton Waadt","domain":"rovray.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5929":{"name":"Suchy","canton":"Kanton Waadt","domain":"suchy.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5930":{"name":"Suscévaz","canton":"Kanton Waadt","domain":"suscevaz.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:_spf.webforge.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5931":{"name":"Treycovagnes","canton":"Kanton Waadt","domain":"treycovagnes.ch","mx":["treycovagnes-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX treycovagnes-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"5932":{"name":"Ursins","canton":"Kanton Waadt","domain":"ursins.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"5933":{"name":"Valeyres-sous-Montagny","canton":"Kanton Waadt","domain":"valeyres-sous-montagny.ch","mx":["valeyressousmontagny-ch02bc.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX valeyressousmontagny-ch02bc.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5934":{"name":"Valeyres-sous-Ursins","canton":"Kanton Waadt","domain":"bluemail.ch","mx":["mx01.p.bluenet.ch","mx02.p.bluenet.ch"],"spf":"v=spf1 redirect=_spf.bluewin.ch","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5935":{"name":"Villars-Epeney","canton":"Kanton Waadt","domain":"villars-epeney.ch","mx":["mta-gw.infomaniak.ch"],"spf":"","provider":"infomaniak","category":"swiss-based","classification_confidence":80.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"}]},"5937":{"name":"Vugelles-La Mothe","canton":"Kanton Waadt","domain":"vugelleslamothe.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"5938":{"name":"Yverdon-les-Bains","canton":"Kanton Waadt","domain":"yverdon-les-bains.ch","mx":["mail.yverdon.rcv.ch","mail2.yverdon.rcv.ch"],"spf":"v=spf1 include:spf.rcv.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"5939":{"name":"Yvonand","canton":"Kanton Waadt","domain":"yvonand.ch","mx":["mta.witecom.ch"],"spf":"v=spf1 mx include:spf.witecom.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6002":{"name":"Brig-Glis","canton":"Kanton Wallis","domain":"brig-glis.ch","mx":["mx.rhone.ch"],"spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.204.128/30 ip4:81.201.204.116/30 ip4:81.201.204.104/29 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6004":{"name":"Eggerberg","canton":"Kanton Wallis","domain":"eggerberg.ch","mx":["eggerberg-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX eggerberg-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6007":{"name":"Naters","canton":"Kanton Wallis","domain":"naters.ch","mx":["mail.naters.ch"],"spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.204.188/30 ip4:81.201.204.48/29 include:spf.protection.outlook.com include:mx.dvbern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6008":{"name":"Ried-Brig","canton":"Kanton Wallis","domain":"ried-brig.ch","mx":["riedbrig-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX riedbrig-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6009":{"name":"Simplon","canton":"Kanton Wallis","domain":"gemeinde-simplon.ch","mx":["gemeindesimplon-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindesimplon-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6010":{"name":"Termen","canton":"Kanton Wallis","domain":"termen.ch","mx":["termen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX termen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6011":{"name":"Zwischbergen","canton":"Kanton Wallis","domain":"gondo.ch","mx":["gondo-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:81.201.201.8 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gondo-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6021":{"name":"Ardon","canton":"Kanton Wallis","domain":"ardon.ch","mx":["ardon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ardon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6022":{"name":"Chamoson","canton":"Kanton Wallis","domain":"chamoson.net","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 mx include:clients.ciges.ch ?all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6023":{"name":"Conthey","canton":"Kanton Wallis","domain":"conthey.ch","mx":["conthey-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.221.145.32 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX conthey-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6024":{"name":"Nendaz","canton":"Kanton Wallis","domain":"nendaz.org","mx":["nendaz-org.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.221.147.224/28 include:spf.protection.outlook.com include:spf.mailpro.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX nendaz-org.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.nendaz.org CNAME → selector1-nendaz-org._domainkey.nendaz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.nendaz.org CNAME → selector2-nendaz-org._domainkey.nendaz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6025":{"name":"Vétroz","canton":"Kanton Wallis","domain":"vetroz.ch","mx":["mgwa01.dlnet.ch","mgwb01.dlnet.ch"],"spf":"v=spf1 mx a a:mgwa01.dlnet.ch a:mgwb01.dlnet.ch -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6032":{"name":"Bourg-Saint-Pierre","canton":"Kanton Wallis","domain":"bourg-saint-pierre.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6033":{"name":"Liddes","canton":"Kanton Wallis","domain":"liddes.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch ip4:94.103.101.133 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6034":{"name":"Orsières","canton":"Kanton Wallis","domain":"orsieres.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 include:ti-informatique.com mx ?all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6035":{"name":"Sembrancher","canton":"Kanton Wallis","domain":"sembrancher.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 include:spf.infomaniak.ch mx -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6037":{"name":"Val de Bagnes","canton":"Kanton Wallis","domain":"valdebagnes.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch include:_spf.i-web.ch include:email.freshservice.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6052":{"name":"Bellwald","canton":"Kanton Wallis","domain":"bellwald.ch","mx":["mx.rhone.ch"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.protection.outlook.com +a +mx +ip4:81.201.202.0/26 +ip4:81.201.201.0/25 +ip4:188.40.26.205/32 -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6054":{"name":"Binn","canton":"Kanton Wallis","domain":"binn.ch","mx":["mail.binn.ch"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.cyon.net -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6056":{"name":"Ernen","canton":"Kanton Wallis","domain":"ernen.ch","mx":["ernen-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX ernen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6057":{"name":"Fiesch","canton":"Kanton Wallis","domain":"gemeinde-fiesch.ch","mx":["gemeindefiesch-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 ip4:188.227.202.22 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindefiesch-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"6058":{"name":"Fieschertal","canton":"Kanton Wallis","domain":"fieschertal.ch","mx":["fieschertal-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fieschertal-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6061":{"name":"Lax","canton":"Kanton Wallis","domain":"lax.ch","mx":["lax-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:188.227.202.28 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lax-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"6076":{"name":"Obergoms","canton":"Kanton Wallis","domain":"obergoms.ch","mx":["mx.rhone.ch"],"spf":"v=spf1 ip4:81.201.202.0/26 ip4:81.201.201.0/25 ip4:81.201.202.0/24 include:_bulk-spf.datasport.com include:spf.protection.outlook.com include:spf.mandrillapp.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6077":{"name":"Goms","canton":"Kanton Wallis","domain":"gemeinde-goms.ch","mx":["gemeindegoms-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:146.4.85.110 +ip4:81.201.204.212 +ip4:95.174.243.178 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindegoms-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gemeinde-goms.ch CNAME → selector1-gemeindegoms-ch02b._domainkey.gdegoms.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gemeinde-goms.ch CNAME → selector2-gemeindegoms-ch02b._domainkey.gdegoms.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6082":{"name":"Ayent","canton":"Kanton Wallis","domain":"ayent.ch","mx":["ayent-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx include:spf.infomaniak.ch include:spf.protection.outlook.com include:evok.ch ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ayent-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6083":{"name":"Evolène","canton":"Kanton Wallis","domain":"commune-evolene.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6084":{"name":"Hérémence","canton":"Kanton Wallis","domain":"heremence.ch","mx":["mailgate.ti-informatique.com","mailgate2.ti-informatique.com"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6087":{"name":"Saint-Martin (VS)","canton":"Kanton Wallis","domain":"saint-martin.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:spf.infomaniak.ch include:clients.ciges.ch ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":70.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6089":{"name":"Vex","canton":"Kanton Wallis","domain":"vex.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 include:ti-informatique.com mx -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6090":{"name":"Mont-Noble","canton":"Kanton Wallis","domain":"mont-noble.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:_spf.ch-dns.net include:clients.ciges.ch +mx -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[],"gateway":"proofpoint"},"6101":{"name":"Agarn","canton":"Kanton Wallis","domain":"agarn.ch","mx":["agarn-ch.mail.protection.outlook.com"],"spf":"v=spf1 v=spf1 a mx ip4:194.126.200.0/24 ip4:149.126.0.0/21 ip4:62.202.49.82 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX agarn-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6102":{"name":"Albinen","canton":"Kanton Wallis","domain":"albinen.ch","mx":["albinen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX albinen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6104":{"name":"Ergisch","canton":"Kanton Wallis","domain":"ergisch.ch","mx":["ergisch-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX ergisch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6109":{"name":"Inden","canton":"Kanton Wallis","domain":"inden.ch","mx":["inden-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.sui-inter.net include:spf.protection.outlook.com +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX inden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6110":{"name":"Leuk","canton":"Kanton Wallis","domain":"leuk.ch","mx":["leuk-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:217.11.36.106 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leuk-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.leuk.ch CNAME → selector1-leuk-ch._domainkey.gemeindeleuk.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.leuk.ch CNAME → selector2-leuk-ch._domainkey.gemeindeleuk.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6111":{"name":"Leukerbad","canton":"Kanton Wallis","domain":"leukerbad.org","mx":["leukerbad-org.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leukerbad-org.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6112":{"name":"Oberems","canton":"Kanton Wallis","domain":"oberems.ch","mx":["oberems-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX oberems-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6113":{"name":"Salgesch","canton":"Kanton Wallis","domain":"salgesch.ch","mx":["mx-cluster01-hz13.hornetsecurity.ch","mx-cluster02-hz13.hornetsecurity.ch","mx-cluster03-hz13.hornetsecurity.ch","mx-cluster04-hz13.hornetsecurity.ch"],"spf":"v=spf1 redirect=salgesch.ch.spf.hornetdmarc.com","provider":"microsoft","category":"us-cloud","classification_confidence":75.0,"classification_signals":[{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"hornetsecurity"},"6116":{"name":"Varen","canton":"Kanton Wallis","domain":"varen.ch","mx":["varen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX varen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6117":{"name":"Guttet-Feschel","canton":"Kanton Wallis","domain":"guttet-feschel.ch","mx":["guttetfeschel-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX guttetfeschel-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6118":{"name":"Gampel-Bratsch","canton":"Kanton Wallis","domain":"gampel-bratsch.ch","mx":["gampelbratsch-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gampelbratsch-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6119":{"name":"Turtmann-Unterems","canton":"Kanton Wallis","domain":"turtmann-unterems.ch","mx":["turtmannunterems-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX turtmannunterems-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6131":{"name":"Bovernier","canton":"Kanton Wallis","domain":"bovernier.ch","mx":["bovernier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bovernier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6133":{"name":"Fully","canton":"Kanton Wallis","domain":"fully.ch","mx":["smtp.fully.ch"],"spf":"v=spf1 a mx a:mail2.pcprofi.ch ip4:81.88.178.30 ip4:81.88.178.21 ip4:213.221.139.177 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6134":{"name":"Isérables","canton":"Kanton Wallis","domain":"iserables.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 mx include:spf1.net4all.ch include:spf.infomaniak.ch include:_spf.komodo.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6135":{"name":"Leytron","canton":"Kanton Wallis","domain":"leytron.ch","mx":["leytron-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:213.221.149.254 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX leytron-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6136":{"name":"Martigny","canton":"Kanton Wallis","domain":"martigny.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6137":{"name":"Martigny-Combe","canton":"Kanton Wallis","domain":"martigny-combe.ch","mx":["martignycombe-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX martignycombe-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.martigny-combe.ch CNAME → selector1-martignycombe-ch02b._domainkey.martignycombe.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.martigny-combe.ch CNAME → selector2-martignycombe-ch02b._domainkey.martignycombe.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6139":{"name":"Riddes","canton":"Kanton Wallis","domain":"riddes.ch","mx":["riddes-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com ip4:213.221.136.66 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX riddes-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6140":{"name":"Saillon","canton":"Kanton Wallis","domain":"commune-saillon.ch","mx":["communesaillon-ch01i.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spfcloud.letsignit.com include:mailgun.org include:_spf.i-web.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX communesaillon-ch01i.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.commune-saillon.ch CNAME → selector1-communesaillon-ch01i._domainkey.cnesaillon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.commune-saillon.ch CNAME → selector2-communesaillon-ch01i._domainkey.cnesaillon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6141":{"name":"Saxon","canton":"Kanton Wallis","domain":"admin.saxon.ch","mx":["admin-saxon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX admin-saxon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6142":{"name":"Trient","canton":"Kanton Wallis","domain":"trient.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6151":{"name":"Champéry","canton":"Kanton Wallis","domain":"champery.ch","mx":["champery-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com a:mailgate.ti-informatique.com a:mailgate2.ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX champery-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6152":{"name":"Collombey-Muraz","canton":"Kanton Wallis","domain":"collombey-muraz.ch","mx":["collombeymuraz-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 ip4:213.221.157.230 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX collombeymuraz-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.collombey-muraz.ch CNAME → selector1-collombeymuraz-ch02c._domainkey.collombey.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.collombey-muraz.ch CNAME → selector2-collombeymuraz-ch02c._domainkey.collombey.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6153":{"name":"Monthey","canton":"Kanton Wallis","domain":"monthey.ch","mx":["mx-01-eu-central-1.prod.hydra.sophos.com","mx-02-eu-central-1.prod.hydra.sophos.com"],"spf":"v=spf1 ip4:213.221.152.154 ip4:193.34.137.65 ip4:185.54.6.111 include:spf.protection.outlook.com include:_spf_eucentral1.prod.hydra.sophos.com include:spf-de.emailsignatures365.com include:de1-emailsignatures-cloud.codetwo.com include:spf1.ne.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}],"gateway":"sophos"},"6154":{"name":"Port-Valais","canton":"Kanton Wallis","domain":"port-valais.ch","mx":["portvalais-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.71.120.144/28 ip4:213.221.134.37 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX portvalais-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.port-valais.ch CNAME → selector1-portvalais-ch01b._domainkey.portvalaisvs.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.port-valais.ch CNAME → selector2-portvalais-ch01b._domainkey.portvalaisvs.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6155":{"name":"Saint-Gingolph","canton":"Kanton Wallis","domain":"st-gingolph.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6156":{"name":"Troistorrents","canton":"Kanton Wallis","domain":"troistorrents.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6157":{"name":"Val-d'Illiez","canton":"Kanton Wallis","domain":"illiez.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 mx -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6158":{"name":"Vionnaz","canton":"Kanton Wallis","domain":"vionnaz.ch","mx":["vionnaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vionnaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6159":{"name":"Vouvry","canton":"Kanton Wallis","domain":"vouvry.ch","mx":["vouvry-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:_spf.kreativmedia.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vouvry-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6172":{"name":"Bister","canton":"Kanton Wallis","domain":"gemeinde-bister.ch","mx":["gemeindebister-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindebister-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.gemeinde-bister.ch CNAME → selector1-gemeindebister-ch02b._domainkey.gemeindebister.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.gemeinde-bister.ch CNAME → selector2-gemeindebister-ch02b._domainkey.gemeindebister.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6173":{"name":"Bitsch","canton":"Kanton Wallis","domain":"bitsch.ch","mx":["bitsch-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:62.204.96.43 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bitsch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"6177":{"name":"Grengiols","canton":"Kanton Wallis","domain":"grengiols.ch","mx":["grengiols-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com ip4:146.4.33.178 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grengiols-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6181":{"name":"Riederalp","canton":"Kanton Wallis","domain":"gemeinde-riederalp.ch","mx":["gemeinderiederalp-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeinderiederalp-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6191":{"name":"Ausserberg","canton":"Kanton Wallis","domain":"ausserberg.ch","mx":["ausserberg.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":95.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6192":{"name":"Blatten","canton":"Kanton Wallis","domain":"loetschen.ch","mx":["loetschen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX loetschen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.loetschen.ch CNAME → selector1-loetschen-ch._domainkey.loetschen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.loetschen.ch CNAME → selector2-loetschen-ch._domainkey.loetschen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6193":{"name":"Bürchen","canton":"Kanton Wallis","domain":"buerchen.ch","mx":["buerchen-ch.mail.protection.outlook.com"],"spf":"v=spf1 +ip4:185.5.33.226 +ip4:178.174.37.114 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX buerchen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.buerchen.ch CNAME → selector1-buerchen-ch._domainkey.buerchen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.buerchen.ch CNAME → selector2-buerchen-ch._domainkey.buerchen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6194":{"name":"Eischoll","canton":"Kanton Wallis","domain":"eischoll.ch","mx":["eischoll-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.cyon.net include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eischoll-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.eischoll.ch CNAME → selector1-eischoll-ch._domainkey.eischoll.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.eischoll.ch CNAME → selector2-eischoll-ch._domainkey.eischoll.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6195":{"name":"Ferden","canton":"Kanton Wallis","domain":"loetschen.ch","mx":["loetschen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX loetschen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.loetschen.ch CNAME → selector1-loetschen-ch._domainkey.loetschen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.loetschen.ch CNAME → selector2-loetschen-ch._domainkey.loetschen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6197":{"name":"Kippel","canton":"Kanton Wallis","domain":"loetschen.ch","mx":["loetschen-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX loetschen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.loetschen.ch CNAME → selector1-loetschen-ch._domainkey.loetschen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.loetschen.ch CNAME → selector2-loetschen-ch._domainkey.loetschen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6198":{"name":"Niedergesteln","canton":"Kanton Wallis","domain":"niedergesteln.ch","mx":["niedergesteln-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:smtprelay.dialogcloud.ch include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX niedergesteln-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6199":{"name":"Raron","canton":"Kanton Wallis","domain":"raron.ch","mx":["raron-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:46.14.118.150 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX raron-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6201":{"name":"Unterbäch","canton":"Kanton Wallis","domain":"unterbaech.ch","mx":["mx.rhone.ch"],"spf":"v=spf1 a mx ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6202":{"name":"Wiler (Lötschen)","canton":"Kanton Wallis","domain":"wilervs.ch","mx":["wilervs.ch"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6203":{"name":"Mörel-Filet","canton":"Kanton Wallis","domain":"moerel-filet.ch","mx":["moerelfilet-ch01e.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx include:spf.protection.outlook.com +ip4:149.126.6.130/24 +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 +ip4:109.164.212.178 +ip4:51.103.157.97 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX moerelfilet-ch01e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6204":{"name":"Steg-Hohtenn","canton":"Kanton Wallis","domain":"steg-hohtenn.ch","mx":["steghohtenn-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX steghohtenn-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6205":{"name":"Bettmeralp","canton":"Kanton Wallis","domain":"gemeinde-bettmeralp.ch","mx":["gemeindebettmeralp-ch02b.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX gemeindebettmeralp-ch02b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6211":{"name":"Collonges","canton":"Kanton Wallis","domain":"collonges.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6212":{"name":"Dorénaz","canton":"Kanton Wallis","domain":"dorenaz.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 mx include:clients.ciges.ch include:_spf.ch-dns.net ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6213":{"name":"Evionnaz","canton":"Kanton Wallis","domain":"evionnaz.ch","mx":["evionnaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX evionnaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6214":{"name":"Finhaut","canton":"Kanton Wallis","domain":"finhaut.ch","mx":["finhaut-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.71.120.144/28 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX finhaut-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6215":{"name":"Massongex","canton":"Kanton Wallis","domain":"massongex.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6217":{"name":"Saint-Maurice","canton":"Kanton Wallis","domain":"saint-maurice.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6218":{"name":"Salvan","canton":"Kanton Wallis","domain":"salvan.ch","mx":["mail.salvan.ch"],"spf":"v=spf1 a mx ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6219":{"name":"Vernayaz","canton":"Kanton Wallis","domain":"vernayaz.ch","mx":["mailgate2.ti-informatique.com"],"spf":"v=spf1 a mx a:mailgate.ti-informatique.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6220":{"name":"Vérossaz","canton":"Kanton Wallis","domain":"verossaz.ch","mx":["verossaz-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX verossaz-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6232":{"name":"Chalais","canton":"Kanton Wallis","domain":"chalais.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch ip4:128.65.195.32 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6235":{"name":"Chippis","canton":"Kanton Wallis","domain":"chippis.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch include:spf.infomaniak.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6238":{"name":"Grône","canton":"Kanton Wallis","domain":"grone.ch","mx":["grone-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grone-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6239":{"name":"Icogne","canton":"Kanton Wallis","domain":"icogne.ch","mx":["mail2.pcprofi.ch"],"spf":"v=spf1 a mx ip4:217.196.176.0/20 include:relay.mailchannels.net include:spf.antispamcloud.com include:newsletter.infomaniak.com include:mailgun.org ?all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6240":{"name":"Lens","canton":"Kanton Wallis","domain":"lens.ch","mx":["mail2.pcprofi.ch"],"spf":"v=spf1 a mx a:mail2.pcprofi.ch ip4:81.88.178.30 ip4:81.88.178.21 ip4:81.88.178.32 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6246":{"name":"Saint-Léonard","canton":"Kanton Wallis","domain":"st-leonard.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6248":{"name":"Sierre","canton":"Kanton Wallis","domain":"sierre.ch","mx":["mail2.pcprofi.ch"],"spf":"v=spf1 mx ip4:81.88.178.21 ip4:195.141.89.158 ip4:91.208.173.157 ip4:81.88.178.3 ip4:213.221.157.218 ip4:213.221.157.222 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"6252":{"name":"Anniviers","canton":"Kanton Wallis","domain":"anniviers.org","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch include:spf1.ne.ch include:spf.infomaniak.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":85.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.anniviers.org CNAME → selector1-anniviers-org._domainkey.communeanniviers.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.anniviers.org CNAME → selector2-anniviers-org._domainkey.communeanniviers.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"proofpoint"},"6253":{"name":"Crans-Montana","canton":"Kanton Wallis","domain":"cransmontana.ch","mx":["mail2.pcprofi.ch"],"spf":"v=spf1 mx a:mail2.pcprofi.ch ip4:81.88.178.21 ip4:81.88.178.3 ip4:213.221.147.3 ip4:77.235.50.204 ip4:153.109.157.140 ip4:153.109.10.232 include:eu.mailgun.org ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6254":{"name":"Noble-Contrée","canton":"Kanton Wallis","domain":"noble-contree.ch","mx":["noblecontree-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.mailpro.com include:ti-informatique.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX noblecontree-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6261":{"name":"Arbaz","canton":"Kanton Wallis","domain":"arbaz.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:clients.ciges.ch ip4:128.65.195.26 ~all","provider":"microsoft","category":"us-cloud","classification_confidence":97.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.arbaz.ch CNAME → selector1-arbaz-ch._domainkey.communearbaz.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.arbaz.ch CNAME → selector2-arbaz-ch._domainkey.communearbaz.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"proofpoint"},"6263":{"name":"Grimisuat","canton":"Kanton Wallis","domain":"grimisuat.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch ip4:128.65.195.35 include:spf.mailpro.com include:spf.infomaniak.ch ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":70.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6265":{"name":"Savièse","canton":"Kanton Wallis","domain":"saviese.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 mx include:clients.ciges.ch ip4:128.65.195.28 include:spf.mailpro.com ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}],"gateway":"proofpoint"},"6266":{"name":"Sion","canton":"Kanton Wallis","domain":"sion.ch","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 include:clients.ciges.ch include:_spf.i-web.ch include:relay.mail.infomaniak.ch include:app.mail.infomaniak.ch include:servers.mcsv.net ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"proofpoint"},"6267":{"name":"Veysonnaz","canton":"Kanton Wallis","domain":"veysonnaz.org","mx":["mx1-eu1.ppe-hosted.com","mx2-eu1.ppe-hosted.com"],"spf":"v=spf1 mx include:clients.ciges.ch ip4:160.153.18.103 ~all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}],"gateway":"proofpoint"},"6281":{"name":"Baltschieder","canton":"Kanton Wallis","domain":"baltschieder.ch","mx":["baltschieder-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX baltschieder-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6282":{"name":"Eisten","canton":"Kanton Wallis","domain":"eisten.ch","mx":["eisten-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:149.126.0.51 +ip4:81.201.202.0/26 +ip4:81.201.204.212 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX eisten-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6283":{"name":"Embd","canton":"Kanton Wallis","domain":"embd.ch","mx":["embd-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:178.174.29.254 a:embd.ch mx include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX embd-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6285":{"name":"Grächen","canton":"Kanton Wallis","domain":"graechen.ch","mx":["graechen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:109.164.212.170 ip4:109.164.212.171 ip4:109.164.212.172 ip4:109.164.212.173 ip4:109.164.212.174 include:_spf.sui-inter.net include:spf.mailjet.com include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX graechen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.graechen.ch CNAME → selector1-graechen-ch._domainkey.graechen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.graechen.ch CNAME → selector2-graechen-ch._domainkey.graechen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6286":{"name":"Lalden","canton":"Kanton Wallis","domain":"lalden.ch","mx":["lalden-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com include:mx.dvbern.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX lalden-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6287":{"name":"Randa","canton":"Kanton Wallis","domain":"randa.ch","mx":["randa-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:194.150.248.202 include:_spf.tophost.ch ip4:62.204.96.89 include:relay.mailchannels.net include:_spf.createsend.com ip4:194.150.248.63 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX randa-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"}]},"6288":{"name":"Saas-Almagell","canton":"Kanton Wallis","domain":"3905.ch","mx":["3905-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:212.41.213.109 ip4:212.120.41.204 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX 3905-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.3905.ch CNAME → selector1-3905-ch._domainkey.gemeindesaasalmagell3905.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.3905.ch CNAME → selector2-3905-ch._domainkey.gemeindesaasalmagell3905.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6289":{"name":"Saas-Balen","canton":"Kanton Wallis","domain":"3908.ch","mx":["3908-ch.mail.protection.outlook.com"],"spf":"v=spf1 +ip4:212.90.219.242 +ip4:212.90.219.241 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX 3908-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6290":{"name":"Saas-Fee","canton":"Kanton Wallis","domain":"3906.ch","mx":["3906-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com include:_spf.i-web.ch include:spf.computech.ch +a +mx -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX 3906-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.3906.ch CNAME → selector1-3906-ch._domainkey.3906.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.3906.ch CNAME → selector2-3906-ch._domainkey.3906.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6291":{"name":"Saas-Grund","canton":"Kanton Wallis","domain":"saas-fee.ch","mx":["saasfee-ch01b.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.6.50.0/24 include:_bulk-spf.datasport.com ip4:213.221.250.0/24 ip4:213.221.214.0/24 mx:stpartner.ch include:spf.protection.outlook.com include:spfa.myconvento.com ip4:54.93.36.23 include:amazonses.com include:wlk-msg.de ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX saasfee-ch01b.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:amazonses.com matches aws"},{"kind":"dkim","detail":"DKIM selector1._domainkey.saas-fee.ch CNAME → selector1-saasfee-ch01b._domainkey.saasfeech.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.saas-fee.ch CNAME → selector2-saasfee-ch01b._domainkey.saasfeech.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 15600 is Swiss ISP: Quickline"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 16509 matches aws"}]},"6292":{"name":"St. Niklaus","canton":"Kanton Wallis","domain":"st-niklaus.ch","mx":["stniklaus-ch0e.mail.protection.outlook.com"],"spf":"v=spf1 ip4:81.201.206.242 include:spf.protection.outlook.com include:_spf.sui-inter.net +mx +a -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX stniklaus-ch0e.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.st-niklaus.ch CNAME → selector1-stniklaus-ch0e._domainkey.stniklaus.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.st-niklaus.ch CNAME → selector2-stniklaus-ch0e._domainkey.stniklaus.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6293":{"name":"Stalden (VS)","canton":"Kanton Wallis","domain":"stalden.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":90.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}],"gateway":"hornetsecurity"},"6294":{"name":"Staldenried","canton":"Kanton Wallis","domain":"staldenried.ch","mx":["staldenried-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx a ip4:81.201.202.2/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX staldenried-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6295":{"name":"Täsch","canton":"Kanton Wallis","domain":"taesch.ch","mx":["taesch-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX taesch-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6296":{"name":"Törbel","canton":"Kanton Wallis","domain":"toerbel.ch","mx":["toerbel-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX toerbel-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6297":{"name":"Visp","canton":"Kanton Wallis","domain":"visp.ch","mx":["visp-ch.mail.protection.outlook.com"],"spf":"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":99.0,"classification_signals":[{"kind":"mx","detail":"MX visp-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6298":{"name":"Visperterminen","canton":"Kanton Wallis","domain":"visperterminen.ch","mx":["mx01.hornetsecurity.com","mx02.hornetsecurity.com","mx03.hornetsecurity.com","mx04.hornetsecurity.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.hornetsecurity.com ~all","provider":"microsoft","category":"us-cloud","classification_confidence":92.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}],"gateway":"hornetsecurity"},"6299":{"name":"Zeneggen","canton":"Kanton Wallis","domain":"zeneggen.ch","mx":["zeneggen-ch.mail.protection.outlook.com"],"spf":"v=spf1 a mx ip4:83.173.221.226 ip4:81.201.202.0/26 ip4:81.201.201.0/25 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zeneggen-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.zeneggen.ch CNAME → selector1-zeneggen-ch._domainkey.zeneggen.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.zeneggen.ch CNAME → selector2-zeneggen-ch._domainkey.zeneggen.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6300":{"name":"Zermatt","canton":"Kanton Wallis","domain":"zermatt.ch","mx":["zermatt-ch.mail.protection.outlook.com"],"spf":"v=spf1 ip4:195.141.155.12 ip4:195.141.155.20 ip4:82.195.253.109 ip4:82.195.229.62 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX zermatt-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"6404":{"name":"Boudry","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6408":{"name":"Cortaillod","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6413":{"name":"Rochefort","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6416":{"name":"Milvignes","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6417":{"name":"La Grande Béroche","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6421":{"name":"La Chaux-de-Fonds","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6422":{"name":"Les Planchettes","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6423":{"name":"La Sagne","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6432":{"name":"La Brévine","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6433":{"name":"Brot-Plamboz","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6434":{"name":"Le Cerneux-Péquignot","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6435":{"name":"La Chaux-du-Milieu","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6436":{"name":"Le Locle","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6437":{"name":"Les Ponts-de-Martel","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6451":{"name":"Cornaux","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6452":{"name":"Cressier (NE)","canton":"Kanton Neuenburg","domain":"cressier.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 include:evok.ch include:_spf.ch-dns.net ip4:212.71.120.144/28 -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6455":{"name":"Le Landeron","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6456":{"name":"Lignières","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6458":{"name":"Neuchâtel","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6487":{"name":"Val-de-Ruz","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6504":{"name":"La Côte-aux-Fées","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6511":{"name":"Les Verrières","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6512":{"name":"Val-de-Travers","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6513":{"name":"Laténa","canton":"Kanton Neuenburg","domain":"ne.ch","mx":["ne2mx9a.ne.ch","nemx9a.ne.ch"],"spf":"v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ip4:148.196.27.140 ip4:148.196.27.141 +mx:hin.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"asn","detail":"ASN 559 is Swiss ISP: SWITCH"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 559 is Swiss ISP: SWITCH"}]},"6601":{"name":"Aire-la-Ville","canton":"Kanton Genf","domain":"aire-la-ville.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6602":{"name":"Anières","canton":"Kanton Genf","domain":"anieres.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6603":{"name":"Avully","canton":"Kanton Genf","domain":"avully.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6604":{"name":"Avusy","canton":"Kanton Genf","domain":"avusy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6605":{"name":"Bardonnex","canton":"Kanton Genf","domain":"bardonnex.ch","mx":["mai2.acg-geneve.ch","mail.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6606":{"name":"Bellevue","canton":"Kanton Genf","domain":"mairie-bellevue.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6607":{"name":"Bernex","canton":"Kanton Genf","domain":"bernex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:newsletter.infomaniak.com include:spf.infomaniak.com ip4:192.168.253.253 ip4:94.126.20.214 -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6608":{"name":"Carouge (GE)","canton":"Kanton Genf","domain":"carouge.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch ip4:185.169.94.92 ip4:83.166.142.206 include:spf.infomaniak.ch include:spf.mandrillapp.com ip4:185.177.62.32 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6609":{"name":"Cartigny","canton":"Kanton Genf","domain":"cartigny.ch","mx":["mail.acg-geneve.ch","mail.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:newsletter.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6610":{"name":"Céligny","canton":"Kanton Genf","domain":"celigny.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6611":{"name":"Chancy","canton":"Kanton Genf","domain":"chancy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6612":{"name":"Chêne-Bougeries","canton":"Kanton Genf","domain":"chene-bougeries.ch","mx":["mail.acg-geneve.ch","mail.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch include:_spf.ville-ge.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6613":{"name":"Chêne-Bourg","canton":"Kanton Genf","domain":"chene-bourg.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:newsletter.infomaniak.com include:spf.infomaniak.ch a:iomedia-smtp.infomaniak.ch ip4:83.166.138.97 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6614":{"name":"Choulex","canton":"Kanton Genf","domain":"choulex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.acg-geneve.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6615":{"name":"Collex-Bossy","canton":"Kanton Genf","domain":"collex-bossy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6616":{"name":"Collonge-Bellerive","canton":"Kanton Genf","domain":"collonge-bellerive.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch a:webext02.i-web.ch ip4:185.54.6.105 -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6617":{"name":"Cologny","canton":"Kanton Genf","domain":"cologny.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com ip4:195.70.27.65 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6618":{"name":"Confignon","canton":"Kanton Genf","domain":"confignon.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6619":{"name":"Corsier (GE)","canton":"Kanton Genf","domain":"corsier.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext01.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6620":{"name":"Dardagny","canton":"Kanton Genf","domain":"dardagny.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:www.dardagny.ch include:spf.infomaniak.com a:newsletter.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6621":{"name":"Genève","canton":"Kanton Genf","domain":"geneve.ch","mx":["geneve-ch.mail.protection.outlook.com"],"spf":"v=spf1 mx ip4:148.139.0.2 ip4:148.139.0.31 ip4:148.139.1.2 ip4:148.139.1.31 ip4:148.139.2.2 ip4:148.139.3.2 ip4:149.96.13.2 include:spf.protection.outlook.com include:spf.mandrillapp.com ip4:149.96.5.209 include:spf1.geneve.ch ~all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX geneve-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.geneve.ch CNAME → selector1-geneve-ch._domainkey.lavilledegeneve.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.geneve.ch CNAME → selector2-geneve-ch._domainkey.lavilledegeneve.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6622":{"name":"Genthod","canton":"Kanton Genf","domain":"genthod.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6623":{"name":"Le Grand-Saconnex","canton":"Kanton Genf","domain":"grand-saconnex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch a:www.grand-saconnex.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6624":{"name":"Gy","canton":"Kanton Genf","domain":"gy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6625":{"name":"Hermance","canton":"Kanton Genf","domain":"hermance.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext04.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6626":{"name":"Jussy","canton":"Kanton Genf","domain":"jussy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext03.i-web.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6627":{"name":"Laconnex","canton":"Kanton Genf","domain":"laconnex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6628":{"name":"Lancy","canton":"Kanton Genf","domain":"lancy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch include:spf.infomaniak.ch ip4:94.103.99.57 ip4:168.245.102.203 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6629":{"name":"Meinier","canton":"Kanton Genf","domain":"meinier.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6630":{"name":"Meyrin","canton":"Kanton Genf","domain":"meyrin.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:_spf.ville-ge.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com ip4:217.169.130.20 ip4:83.166.138.97 ip4:83.166.149.222 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6631":{"name":"Onex","canton":"Kanton Genf","domain":"onex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:www.onex.ch a:iomedia-smtp.infomaniak.ch a:spf.infomaniak.ch a:spf.mailpro.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6632":{"name":"Perly-Certoux","canton":"Kanton Genf","domain":"perly-certoux.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6633":{"name":"Plan-les-Ouates","canton":"Kanton Genf","domain":"plan-les-ouates.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:newsletter.infomaniak.com ip4:83.166.138.97 ip4:83.166.143.44 include:_spf.ville-ge.ch include:spf.mandrillapp.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6634":{"name":"Pregny-Chambésy","canton":"Kanton Genf","domain":"pregny-chambesy.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:webext02.i-web.ch include:_spf.ville-ge.ch -all","provider":"independent","category":"swiss-based","classification_confidence":96.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6635":{"name":"Presinge","canton":"Kanton Genf","domain":"presinge.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:www.presinge.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6636":{"name":"Puplinge","canton":"Kanton Genf","domain":"puplinge.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com a:iomedia-smtp.infomaniak.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6637":{"name":"Russin","canton":"Kanton Genf","domain":"russin.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6638":{"name":"Satigny","canton":"Kanton Genf","domain":"satigny.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6639":{"name":"Soral","canton":"Kanton Genf","domain":"soral.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6640":{"name":"Thônex","canton":"Kanton Genf","domain":"thonex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch include:servers.mcsv.net a:newsletter.infomaniak.com ip4:83.166.138.97 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6641":{"name":"Troinex","canton":"Kanton Genf","domain":"troinex.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:www.troinex.ch include:spf.infomaniak.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6642":{"name":"Vandoeuvres","canton":"Kanton Genf","domain":"vandoeuvres.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.mailjet.com include:spf.wellhosted.ch include:spf.acg-geneve.ch -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6643":{"name":"Vernier","canton":"Kanton Genf","domain":"vernier.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com a:www.vernier.ch a:preprod.vernier.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6644":{"name":"Versoix","canton":"Kanton Genf","domain":"versoix.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch a:iomedia-smtp.infomaniak.ch include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6645":{"name":"Veyrier","canton":"Kanton Genf","domain":"veyrier.ch","mx":["mail.acg-geneve.ch","mail2.acg-geneve.ch"],"spf":"v=spf1 include:spf.acg-geneve.ch include:spf.infomaniak.ch a:newsletter.infomaniak.com -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Federated"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6702":{"name":"Boécourt","canton":"Kanton Jura","domain":"boecourt.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 include:spf.mandrillapp.com -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6703":{"name":"Bourrignon","canton":"Kanton Jura","domain":"bourrignon.ch","mx":["mail.bourrignon.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6704":{"name":"Châtillon (JU)","canton":"Kanton Jura","domain":"chatillon.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6706":{"name":"Courchapoix","canton":"Kanton Jura","domain":"courchapoix.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.protection.outlook.com include:spf.mandrillapp.com -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.courchapoix.ch CNAME → selector1-courchapoix-ch._domainkey.comcourchapoix.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.courchapoix.ch CNAME → selector2-courchapoix-ch._domainkey.comcourchapoix.onmicrosoft.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6708":{"name":"Courrendlin","canton":"Kanton Jura","domain":"courrendlin.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ?all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6709":{"name":"Courroux","canton":"Kanton Jura","domain":"courroux.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6710":{"name":"Courtételle","canton":"Kanton Jura","domain":"courtetelle.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6711":{"name":"Delémont","canton":"Kanton Jura","domain":"delemont.ch","mx":["d313142.a.ess.de.barracudanetworks.com","d313142.b.ess.de.barracudanetworks.com"],"spf":"v=spf1 mx ip4:46.140.108.219 ip4:62.2.93.17 ip4:62.2.93.13 ip4:62.2.93.4 include:servers.mcsv.net include:spf.ess.de.barracudanetworks.com include:spf.mandrillapp.com -all","provider":"independent","category":"swiss-based","classification_confidence":98.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"asn","detail":"ASN 16509 matches aws"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}],"gateway":"barracuda"},"6712":{"name":"Develier","canton":"Kanton Jura","domain":"develier.ch","mx":["develier-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX develier-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.develier.ch CNAME → selector1-develier-ch._domainkey.develier.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.develier.ch CNAME → selector2-develier-ch._domainkey.develier.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6713":{"name":"Ederswiler","canton":"Kanton Jura","domain":"ederswiler.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:_spf.blk.ymc.swiss ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6715":{"name":"Mervelier","canton":"Kanton Jura","domain":"mervelier.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6716":{"name":"Mettembert","canton":"Kanton Jura","domain":"mettembert.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6718":{"name":"Movelier","canton":"Kanton Jura","domain":"movelier.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6719":{"name":"Pleigne","canton":"Kanton Jura","domain":"pleigne.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch include:spf.mandrillapp.com ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6721":{"name":"Rossemaison","canton":"Kanton Jura","domain":"rossemaison.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 a mx ip4:51.68.11.207 include:spf.infomaniak.ch ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6722":{"name":"Saulcy","canton":"Kanton Jura","domain":"saulcy.ch","mx":["saulcy-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX saulcy-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.saulcy.ch CNAME → selector1-saulcy-ch._domainkey.communesaulcy.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.saulcy.ch CNAME → selector2-saulcy-ch._domainkey.communesaulcy.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6724":{"name":"Soyhières","canton":"Kanton Jura","domain":"soyhieres.ch","mx":["mailfilter.evok.ch"],"spf":"v=spf1 a mx include:evok.ch ip4:212.71.120.144/28 include:spf.mandrillapp.com -all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6729":{"name":"Haute-Sorne","canton":"Kanton Jura","domain":"haute-sorne.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:212.71.120.144/28 ip4:185.98.28.38 include:spf.mandrillapp.com -all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6730":{"name":"Val Terbi","canton":"Kanton Jura","domain":"val-terbi.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6741":{"name":"Le Bémont (JU)","canton":"Kanton Jura","domain":"lebemont.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6742":{"name":"Les Bois","canton":"Kanton Jura","domain":"lesbois.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.109 ip4:212.71.120.144/28 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6743":{"name":"Les Breuleux","canton":"Kanton Jura","domain":"breuleux.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 ip4:212.71.120.144/28 ~all","provider":"independent","category":"swiss-based","classification_confidence":92.0,"classification_signals":[{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6745":{"name":"Les Enfers","canton":"Kanton Jura","domain":"lesenfers.ch","mx":["mail.lesenfers.ch"],"spf":"v=spf1 include:_spf.kreativmedia.ch ip4:212.71.120.144/28 +mx +a -all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6748":{"name":"Les Genevez (JU)","canton":"Kanton Jura","domain":"lesgenevez.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6750":{"name":"Lajoux (JU)","canton":"Kanton Jura","domain":"lajoux.ch","mx":["lajoux-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX lajoux-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6751":{"name":"Montfaucon","canton":"Kanton Jura","domain":"montfaucon.ch","mx":["backup.montfaucon.ch","mail.montfaucon.ch"],"spf":"v=spf1 ip4:5.182.248.186 include:spf.infomaniak.ch include:tizoo.com ip4:5.182.248.144 +a +mx +ip4:212.147.66.228 a:mail.montfaucon.ch a:mtfn.montfaucon.ch a:beesolutions.ch ~all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 3303 is Swiss ISP: Swisscom"}]},"6753":{"name":"Muriaux","canton":"Kanton Jura","domain":"muriaux.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6754":{"name":"Le Noirmont","canton":"Kanton Jura","domain":"noirmont.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.109 ip4:212.71.120.144/28 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6757":{"name":"Saignelégier","canton":"Kanton Jura","domain":"saignelegier.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.105 ip4:212.71.120.144/28 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6758":{"name":"Saint-Brais","canton":"Kanton Jura","domain":"saint-brais.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6759":{"name":"Soubey","canton":"Kanton Jura","domain":"soubey.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6771":{"name":"Alle","canton":"Kanton Jura","domain":"alle.ch","mx":["alle-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX alle-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.alle.ch CNAME → selector1-alle-ch._domainkey.alleju.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.alle.ch CNAME → selector2-alle-ch._domainkey.alleju.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6774":{"name":"Boncourt","canton":"Kanton Jura","domain":"boncourt.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a include:spf.infomaniak.ch ip4:46.140.242.148 ip4:46.140.242.150 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"txt_verification","detail":"TXT verification matches google"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"6778":{"name":"Bure","canton":"Kanton Jura","domain":"bure.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.mandrillapp.com ?all","provider":"independent","category":"swiss-based","classification_confidence":94.0,"classification_signals":[{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"AWS SES domain verification found"}]},"6781":{"name":"Coeuve","canton":"Kanton Jura","domain":"coeuve.ch","mx":["coeuve-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX coeuve-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.coeuve.ch CNAME → selector1-coeuve-ch._domainkey.coeuve.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.coeuve.ch CNAME → selector2-coeuve-ch._domainkey.coeuve.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"}]},"6782":{"name":"Cornol","canton":"Kanton Jura","domain":"cornol.ch","mx":["cornol-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:_spf.i-web.ch ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX cornol-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.cornol.ch CNAME → selector1-cornol-ch._domainkey.cornol.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.cornol.ch CNAME → selector2-cornol-ch._domainkey.cornol.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6783":{"name":"Courchavon","canton":"Kanton Jura","domain":"courchavon.ch","mx":["courchavon-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX courchavon-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.courchavon.ch CNAME → selector1-courchavon-ch._domainkey.courchavon.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.courchavon.ch CNAME → selector2-courchavon-ch._domainkey.courchavon.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6784":{"name":"Courgenay","canton":"Kanton Jura","domain":"courgenay.ch","mx":["courgenay-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:_spf.i-web.ch include:spf.protection.outlook.com ip4:212.71.120.144/28 -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX courgenay-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6785":{"name":"Courtedoux","canton":"Kanton Jura","domain":"courtedoux.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch ?all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6789":{"name":"Fahy","canton":"Kanton Jura","domain":"fahy.ch","mx":["fahy-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX fahy-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.fahy.ch CNAME → selector1-fahy-ch._domainkey.communefahy.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.fahy.ch CNAME → selector2-fahy-ch._domainkey.communefahy.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6790":{"name":"Fontenais","canton":"Kanton Jura","domain":"fontenais.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 include:spf.infomaniak.ch ip4:212.71.120.144/28 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"}]},"6792":{"name":"Grandfontaine","canton":"Kanton Jura","domain":"grandfontaine.ch","mx":["grandfontaine-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX grandfontaine-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.grandfontaine.ch CNAME → selector1-grandfontaine-ch._domainkey.gfontaine.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.grandfontaine.ch CNAME → selector2-grandfontaine-ch._domainkey.gfontaine.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6800":{"name":"Porrentruy","canton":"Kanton Jura","domain":"porrentruy.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a include:spf.infomaniak.ch ip4:46.140.242.148 ip4:46.140.242.150 -all","provider":"infomaniak","category":"swiss-based","classification_confidence":50.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]},"6806":{"name":"Vendlincourt","canton":"Kanton Jura","domain":"vendlincourt.ch","mx":["vendlincourt-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX vendlincourt-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.vendlincourt.ch CNAME → selector1-vendlincourt-ch._domainkey.vendlincourt.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.vendlincourt.ch CNAME → selector2-vendlincourt-ch._domainkey.vendlincourt.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6807":{"name":"Basse-Allaine","canton":"Kanton Jura","domain":"basse-allaine.ch","mx":["basseallaine-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX basseallaine-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.basse-allaine.ch CNAME → selector1-basseallaine-ch01c._domainkey.communedebasseallaine.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.basse-allaine.ch CNAME → selector2-basseallaine-ch01c._domainkey.communedebasseallaine.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6808":{"name":"Clos du Doubs","canton":"Kanton Jura","domain":"closdudoubs.ch","mx":["mta-gw.infomaniak.ch"],"spf":"v=spf1 include:spf.infomaniak.ch -all","provider":"infomaniak","category":"swiss-based","classification_confidence":90.0,"classification_signals":[{"kind":"mx","detail":"MX mta-gw.infomaniak.ch matches infomaniak"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"}]},"6809":{"name":"Haute-Ajoie","canton":"Kanton Jura","domain":"hauteajoie.ch","mx":["mx1.azinformatique.ch","mx2.azinformatique.ch","mx3.azinformatique.ch","mx4.azinformatique.ch"],"spf":"v=spf1 mx a ip4:185.98.28.97 ~all","provider":"independent","category":"swiss-based","classification_confidence":90.0,"classification_signals":[]},"6810":{"name":"La Baroche","canton":"Kanton Jura","domain":"labaroche.ch","mx":["labaroche-ch.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX labaroche-ch.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.labaroche.ch CNAME → selector1-labaroche-ch._domainkey.labaroche.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.labaroche.ch CNAME → selector2-labaroche-ch._domainkey.labaroche.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6811":{"name":"Damphreux-Lugnez","canton":"Kanton Jura","domain":"damphreux-lugnez.ch","mx":["damphreuxlugnez-ch02c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com include:spf.infomaniak.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX damphreuxlugnez-ch02c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.infomaniak.ch matches infomaniak"},{"kind":"dkim","detail":"DKIM selector1._domainkey.damphreux-lugnez.ch CNAME → selector1-damphreuxlugnez-ch02c._domainkey.damphreux.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.damphreux-lugnez.ch CNAME → selector2-damphreuxlugnez-ch02c._domainkey.damphreux.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches google"}]},"6812":{"name":"Basse-Vendline","canton":"Kanton Jura","domain":"basse-vendline.ch","mx":["bassevendline-ch01c.mail.protection.outlook.com"],"spf":"v=spf1 include:spf.protection.outlook.com -all","provider":"microsoft","category":"us-cloud","classification_confidence":100.0,"classification_signals":[{"kind":"mx","detail":"MX bassevendline-ch01c.mail.protection.outlook.com matches ms365"},{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"dkim","detail":"DKIM selector1._domainkey.basse-vendline.ch CNAME → selector1-bassevendline-ch01c._domainkey.bassevendline.onmicrosoft.com"},{"kind":"dkim","detail":"DKIM selector2._domainkey.basse-vendline.ch CNAME → selector2-bassevendline-ch01c._domainkey.bassevendline.onmicrosoft.com"},{"kind":"autodiscover","detail":"autodiscover CNAME → autodiscover.outlook.com"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"asn","detail":"ASN 8075 matches ms365"},{"kind":"txt_verification","detail":"TXT verification matches ms365"}]},"6831":{"name":"Moutier","canton":"Kanton Jura","domain":"moutier.ch","mx":["mail.moutier.ch"],"spf":"v=spf1 +a +mx +ip4:62.202.57.224/28 ip4:62.2.96.80/28 ip4:80.74.149.162/32 ip4:80.74.149.163/32 include:spf.protection.outlook.com include:spf.mandrillapp.com include:spf1.ne.ch -all","provider":"microsoft","category":"us-cloud","classification_confidence":82.0,"classification_signals":[{"kind":"spf","detail":"SPF include:spf.protection.outlook.com matches ms365"},{"kind":"tenant","detail":"MS365 tenant detected: Managed"},{"kind":"asn","detail":"ASN 3303 is Swiss ISP: Swisscom"},{"kind":"asn","detail":"ASN 6730 is Swiss ISP: Sunrise UPC"},{"kind":"txt_verification","detail":"TXT verification matches ms365"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"txt_verification","detail":"AWS SES domain verification found"},{"kind":"spf_ip","detail":"SPF ip4/a ASN 6730 is Swiss ISP: Sunrise UPC"}]}}} \ No newline at end of file diff --git a/datenschutz.html b/datenschutz.html index 6686c5d..700ed60 100644 --- a/datenschutz.html +++ b/datenschutz.html @@ -5,53 +5,16 @@ Datenschutzerklärung — MXmap - + + +

Datenschutzerklärung

@@ -61,12 +24,12 @@

1. Allgemeines

2. Hosting

Diese Website wird über GitHub Pages (GitHub Inc., USA) bereitgestellt. Beim Aufruf der Website wird Ihre IP-Adresse an die Server von GitHub übermittelt. Dies ist technisch notwendig, um die Website auszuliefern. Weitere Informationen finden Sie in der Datenschutzerklärung von GitHub. Die Übermittlung in die USA erfolgt gestützt auf Art. 17 des Bundesgesetzes über den Datenschutz (nDSG).

+

Die Auslieferung der Website erfolgt über das Content-Delivery-Network von Cloudflare (Cloudflare Inc., USA). Dabei wird Ihre IP-Adresse an Cloudflare-Server übermittelt, um die Website performant und sicher auszuliefern. Weitere Informationen finden Sie in der Datenschutzerklärung von Cloudflare. Die Übermittlung in die USA erfolgt gestützt auf Art. 17 nDSG.

3. Externe Ressourcen (CDNs)

Zur Darstellung der Karte werden externe Ressourcen von Drittanbietern geladen. Dabei wird Ihre IP-Adresse an die jeweiligen Server übermittelt:

diff --git a/impressum.html b/impressum.html index 64d84f7..2a15ec9 100644 --- a/impressum.html +++ b/impressum.html @@ -5,50 +5,16 @@ Impressum — MXmap - + + +

Impressum

@@ -68,7 +34,7 @@

Verantwortlich für den Inhalt

David Huser

Haftungsausschluss

-

Die Daten auf dieser Website basieren auf öffentlichen DNS-Einträgen (MX- und SPF-Records). DNS-Einträge zeigen das Mail-Routing und autorisierte Absender an, nicht zwingend den tatsächlichen Speicherort der Daten. Es wird keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität der bereitgestellten Informationen übernommen.

+

Die Daten auf dieser Website basieren auf öffentlichen DNS-Einträgen sowie öffentlich-zugänglichen Microsoft API Endpoints. DNS-Einträge zeigen das Mail-Routing und autorisierte Absender an, nicht zwingend den tatsächlichen Speicherort der Daten. Es wird keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität der bereitgestellten Informationen übernommen.

Urheberrecht

Der Quellcode dieses Projekts steht unter der MIT-Lizenz und ist auf GitHub verfügbar.

diff --git a/index.html b/index.html index e319454..11404f7 100644 --- a/index.html +++ b/index.html @@ -4,13 +4,11 @@ - - @@ -33,115 +31,23 @@ + + - + + @@ -151,7 +57,7 @@

Email Providers of Swiss Municipalities

What is this?

-

A map of all ~2,100 Swiss municipalities showing which provider handles their official email — grouped by jurisdiction — based on public DNS records.

+

A map of all ~2,100 Swiss municipalities showing which provider handles their official email — grouped by jurisdiction — based on public DNS records and other public network signals.

Context

@@ -159,7 +65,7 @@

Context

How does it work?

-

Each municipality's official domain is checked via public DNS records (MX + SPF) and classified by provider type.

+

Each municipality's official domain is checked via 11 signals from DNS records, SMTP banners, ASN lookups, and a public Microsoft API endpoint, then classified by provider type with confidence scoring.

Disclaimer: DNS records indicate mail routing and authorized senders, not necessarily where data is stored.

@@ -176,33 +82,61 @@

Open source & open data

- \ No newline at end of file + diff --git a/js/map-shared.js b/js/map-shared.js new file mode 100644 index 0000000..bc43e86 --- /dev/null +++ b/js/map-shared.js @@ -0,0 +1,122 @@ +/* map-shared.js — shared utilities for map pages */ + +function escapeHtml(str) { + var el = document.createElement('span'); + el.textContent = str; + return el.innerHTML; +} + +function initMap(elementId) { + if (!CSS.supports('height', '100dvh')) { + document.body.style.height = window.innerHeight + 'px'; + } + + var map = L.map(elementId, { + center: [46.8, 8.2], + zoom: 8, + minZoom: 7, + maxZoom: 14, + renderer: L.canvas() + }); + + L.tileLayer('https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{r}.png', { + attribution: '© OSM © CARTO', + subdomains: 'abcd', + maxZoom: 19 + }).addTo(map); + + L.tileLayer('https://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}{r}.png', { + subdomains: 'abcd', + maxZoom: 19, + pane: 'shadowPane' + }).addTo(map); + + var resizeTimer; + window.addEventListener('resize', function () { + clearTimeout(resizeTimer); + resizeTimer = setTimeout(function () { + map.invalidateSize({ animate: false }); + }, 100); + }); + + return map; +} + +function setupInfoBar(map) { + function toggleInfo() { + var bar = document.getElementById('info-bar'); + var btn = document.getElementById('toggle-info'); + bar.classList.toggle('collapsed'); + var collapsed = bar.classList.contains('collapsed'); + btn.innerHTML = collapsed ? 'About \u25be' : 'About \u25b4'; + btn.setAttribute('aria-expanded', String(!collapsed)); + } + + document.getElementById('toggle-info').addEventListener('click', function () { + toggleInfo(); + map.invalidateSize({ animate: false }); + }); + + if (window.innerWidth <= 600) { + document.getElementById('info-bar').classList.add('collapsed'); + var btn = document.getElementById('toggle-info'); + btn.innerHTML = 'About \u25be'; + btn.setAttribute('aria-expanded', 'false'); + } +} + +function toggleLegend() { + var legend = document.querySelector('.legend'); + var btn = legend.querySelector('.legend-toggle'); + legend.classList.toggle('legend-collapsed'); + var collapsed = legend.classList.contains('legend-collapsed'); + btn.textContent = collapsed ? 'Legend \u25B8' : '\u2715'; + btn.setAttribute('aria-expanded', String(!collapsed)); +} + +function showGenerated(dnsData) { + if (dnsData.generated) { + var date = new Date(dnsData.generated); + var text = 'Updated ' + date.toLocaleString('de-CH', { dateStyle: 'medium', timeStyle: 'short' }); + if (dnsData.commit) { + text += ' \u00b7 ' + dnsData.commit; + } + document.getElementById('generated').textContent = text; + } +} + +function addLakes(map, topo, lakeColor) { + if (topo.objects.lakes) { + var lakes = topojson.feature(topo, topo.objects.lakes); + return L.geoJSON(lakes, { + interactive: false, + style: { fillColor: lakeColor, fillOpacity: 1, weight: 0, color: 'transparent' } + }).addTo(map); + } + return null; +} + +async function fetchMapData() { + var responses = await Promise.all([ + fetch('https://unpkg.com/swiss-maps@4.7.0/2026/ch-combined.json'), + fetch('data.min.json') + ]); + return { + topo: await responses[0].json(), + dnsData: await responses[1].json() + }; +} + +function removeLoading() { + var loading = document.getElementById('map-loading'); + if (loading) loading.remove(); +} + +function handleLoadError(err) { + console.error('Failed to load data:', err); + var loading = document.getElementById('map-loading'); + if (loading) { + loading.textContent = 'Failed to load map data. Please try again later.'; + loading.style.color = '#dc2626'; + } +} diff --git a/js/nav.js b/js/nav.js new file mode 100644 index 0000000..1ae07db --- /dev/null +++ b/js/nav.js @@ -0,0 +1,72 @@ +/* nav.js — auto-renders navigation with pill tabs + dropdown overflow menu */ +(function () { + var path = window.location.pathname; + var primary = [ + { href: '/', label: 'Email Map', match: ['/', '/index.html'] }, + { href: '/tenant.html', label: 'Tenant Map' }, + ]; + var secondary = [ + { href: '/impressum.html', label: 'Impressum' }, + { href: '/datenschutz.html', label: 'Datenschutz' }, + ]; + + var nav = document.getElementById('nav'); + if (!nav) return; + + function isActive(link) { + return link.match + ? link.match.indexOf(path) !== -1 + : path === link.href; + } + + function makeLink(link, extraClass) { + var a = document.createElement('a'); + a.href = link.href; + a.className = 'header-link' + (extraClass ? ' ' + extraClass : ''); + a.textContent = link.label; + if (isActive(link)) a.classList.add('active'); + return a; + } + + /* inline primary links as pill tabs (hidden on mobile via CSS) */ + var inlineWrap = document.createElement('span'); + inlineWrap.className = 'nav-primary'; + primary.forEach(function (link) { + inlineWrap.appendChild(makeLink(link)); + }); + nav.appendChild(inlineWrap); + + /* toggle button */ + var toggle = document.createElement('button'); + toggle.className = 'nav-menu-toggle'; + toggle.setAttribute('aria-label', 'More links'); + toggle.setAttribute('aria-expanded', 'false'); + toggle.textContent = '\u22EF'; + nav.appendChild(toggle); + + /* dropdown menu */ + var menu = document.createElement('div'); + menu.className = 'nav-menu'; + primary.forEach(function (link) { + menu.appendChild(makeLink(link, 'nav-menu-mobile')); + }); + secondary.forEach(function (link) { + menu.appendChild(makeLink(link)); + }); + nav.appendChild(menu); + + /* toggle handler */ + toggle.addEventListener('click', function (e) { + e.stopPropagation(); + var open = menu.classList.toggle('open'); + toggle.setAttribute('aria-expanded', String(open)); + }); + + /* close on outside click */ + document.addEventListener('click', function (e) { + if (!menu.contains(e.target) && e.target !== toggle) { + menu.classList.remove('open'); + toggle.setAttribute('aria-expanded', 'false'); + } + }); +})(); diff --git a/map_hq.png b/map_hq.png new file mode 100644 index 0000000..c7c6e87 Binary files /dev/null and b/map_hq.png differ diff --git a/municipality_domains.json b/municipality_domains.json new file mode 100644 index 0000000..93c1ed2 --- /dev/null +++ b/municipality_domains.json @@ -0,0 +1,43058 @@ +{ + "generated": "2026-03-24T08:45:38Z", + "total": 2110, + "municipalities": { + "1": { + "bfs": "1", + "name": "Aeugst am Albis", + "canton": "Kanton Zürich", + "domain": "aeugst-albis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aeugst-albis.ch" + ], + "redirect": [], + "wikidata": [ + "aeugst-albis.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2": { + "bfs": "2", + "name": "Affoltern am Albis", + "canton": "Kanton Zürich", + "domain": "stadtaffoltern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stadtaffoltern.ch" + ], + "redirect": [], + "wikidata": [ + "stadtaffoltern.ch" + ], + "guess": [ + "affoltern-am-albis.ch" + ] + }, + "flags": [] + }, + "3": { + "bfs": "3", + "name": "Bonstetten", + "canton": "Kanton Zürich", + "domain": "bonstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bonstetten.ch" + ], + "redirect": [], + "wikidata": [ + "bonstetten.ch" + ], + "guess": [ + "bonstetten.ch" + ] + }, + "flags": [] + }, + "4": { + "bfs": "4", + "name": "Hausen am Albis", + "canton": "Kanton Zürich", + "domain": "hausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hausen.ch" + ], + "redirect": [], + "wikidata": [ + "hausen.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5": { + "bfs": "5", + "name": "Hedingen", + "canton": "Kanton Zürich", + "domain": "hedingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hedingen.ch" + ], + "redirect": [], + "wikidata": [ + "hedingen.ch" + ], + "guess": [ + "hedingen.ch" + ] + }, + "flags": [] + }, + "6": { + "bfs": "6", + "name": "Kappel am Albis", + "canton": "Kanton Zürich", + "domain": "kappel-am-albis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kappel-am-albis.ch" + ], + "redirect": [], + "wikidata": [ + "kappel-am-albis.ch" + ], + "guess": [ + "kappel-am-albis.ch", + "kappelamalbis.ch" + ] + }, + "flags": [] + }, + "7": { + "bfs": "7", + "name": "Knonau", + "canton": "Kanton Zürich", + "domain": "knonau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "knonau.ch" + ], + "redirect": [], + "wikidata": [ + "knonau.ch" + ], + "guess": [ + "gemeinde-knonau.ch", + "knonau.ch" + ] + }, + "flags": [] + }, + "8": { + "bfs": "8", + "name": "Maschwanden", + "canton": "Kanton Zürich", + "domain": "maschwanden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "maschwanden.ch" + ], + "guess": [ + "maschwanden.ch" + ] + }, + "flags": [] + }, + "9": { + "bfs": "9", + "name": "Mettmenstetten", + "canton": "Kanton Zürich", + "domain": "mettmenstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mettmenstetten.ch" + ], + "redirect": [], + "wikidata": [ + "mettmenstetten.ch" + ], + "guess": [ + "mettmenstetten.ch" + ] + }, + "flags": [] + }, + "10": { + "bfs": "10", + "name": "Obfelden", + "canton": "Kanton Zürich", + "domain": "obfelden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "obfelden.ch" + ], + "redirect": [], + "wikidata": [ + "obfelden.ch" + ], + "guess": [ + "obfelden.ch" + ] + }, + "flags": [] + }, + "11": { + "bfs": "11", + "name": "Ottenbach", + "canton": "Kanton Zürich", + "domain": "ottenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ottenbach.ch" + ], + "redirect": [], + "wikidata": [ + "ottenbach.ch" + ], + "guess": [ + "ottenbach.ch" + ] + }, + "flags": [] + }, + "12": { + "bfs": "12", + "name": "Rifferswil", + "canton": "Kanton Zürich", + "domain": "rifferswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rifferswil.ch" + ], + "redirect": [], + "wikidata": [ + "rifferswil.ch" + ], + "guess": [ + "rifferswil.ch", + "rifferswil.zh.ch" + ] + }, + "flags": [] + }, + "13": { + "bfs": "13", + "name": "Stallikon", + "canton": "Kanton Zürich", + "domain": "stallikon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "stallikon.ch" + ], + "guess": [ + "stallikon.ch" + ] + }, + "flags": [] + }, + "14": { + "bfs": "14", + "name": "Wettswil am Albis", + "canton": "Kanton Zürich", + "domain": "wettswil.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wettswil.ch" + ], + "guess": [] + }, + "flags": [] + }, + "22": { + "bfs": "22", + "name": "Benken (ZH)", + "canton": "Kanton Zürich", + "domain": "benken-zh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "benken-zh.ch" + ], + "redirect": [], + "wikidata": [ + "benken-zh.ch" + ], + "guess": [ + "benken.ch", + "benken.zh.ch" + ] + }, + "flags": [] + }, + "23": { + "bfs": "23", + "name": "Berg am Irchel", + "canton": "Kanton Zürich", + "domain": "bergamirchel.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "bergamirchel.ch" + ], + "redirect": [ + "bergamirchel.ch" + ], + "wikidata": [ + "berg-am-irchel.ch" + ], + "guess": [ + "berg-am-irchel.ch", + "bergamirchel.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "24": { + "bfs": "24", + "name": "Buch am Irchel", + "canton": "Kanton Zürich", + "domain": "buchamirchel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchamirchel.ch" + ], + "redirect": [], + "wikidata": [ + "buchamirchel.ch" + ], + "guess": [ + "buchamirchel.ch" + ] + }, + "flags": [] + }, + "25": { + "bfs": "25", + "name": "Dachsen", + "canton": "Kanton Zürich", + "domain": "dachsen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dachsen.ch" + ], + "redirect": [], + "wikidata": [ + "dachsen.ch" + ], + "guess": [ + "dachsen.ch", + "dachsen.zh.ch" + ] + }, + "flags": [] + }, + "26": { + "bfs": "26", + "name": "Dorf", + "canton": "Kanton Zürich", + "domain": "dorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dorf.ch" + ], + "redirect": [], + "wikidata": [ + "dorf.ch" + ], + "guess": [ + "dorf.ch", + "dorf.zh.ch" + ] + }, + "flags": [] + }, + "27": { + "bfs": "27", + "name": "Feuerthalen", + "canton": "Kanton Zürich", + "domain": "feuerthalen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "feuerthalen.ch" + ], + "redirect": [], + "wikidata": [ + "feuerthalen.ch" + ], + "guess": [ + "feuerthalen.ch" + ] + }, + "flags": [] + }, + "28": { + "bfs": "28", + "name": "Flaach", + "canton": "Kanton Zürich", + "domain": "flaach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flaach.ch" + ], + "redirect": [], + "wikidata": [ + "flaach.ch" + ], + "guess": [ + "flaach.ch", + "flaach.zh.ch" + ] + }, + "flags": [] + }, + "29": { + "bfs": "29", + "name": "Flurlingen", + "canton": "Kanton Zürich", + "domain": "flurlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flurlingen.ch" + ], + "redirect": [], + "wikidata": [ + "flurlingen.ch" + ], + "guess": [ + "flurlingen.ch" + ] + }, + "flags": [] + }, + "31": { + "bfs": "31", + "name": "Henggart", + "canton": "Kanton Zürich", + "domain": "henggart.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "henggart.ch" + ], + "redirect": [], + "wikidata": [ + "henggart.ch" + ], + "guess": [ + "henggart.ch", + "henggart.zh.ch" + ] + }, + "flags": [] + }, + "33": { + "bfs": "33", + "name": "Kleinandelfingen", + "canton": "Kanton Zürich", + "domain": "kleinandelfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kleinandelfingen.ch" + ], + "redirect": [], + "wikidata": [ + "kleinandelfingen.ch" + ], + "guess": [ + "kleinandelfingen.ch", + "kleinandelfingen.zh.ch" + ] + }, + "flags": [] + }, + "34": { + "bfs": "34", + "name": "Laufen-Uhwiesen", + "canton": "Kanton Zürich", + "domain": "laufen-uhwiesen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laufen-uhwiesen.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "laufen-uhwiesen.ch" + ] + }, + "flags": [] + }, + "35": { + "bfs": "35", + "name": "Marthalen", + "canton": "Kanton Zürich", + "domain": "marthalen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "marthalen.ch" + ], + "redirect": [], + "wikidata": [ + "marthalen.ch" + ], + "guess": [ + "marthalen.ch" + ] + }, + "flags": [] + }, + "37": { + "bfs": "37", + "name": "Ossingen", + "canton": "Kanton Zürich", + "domain": "ossingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ossingen.ch" + ], + "redirect": [], + "wikidata": [ + "ossingen.ch" + ], + "guess": [ + "ossingen.ch" + ] + }, + "flags": [] + }, + "38": { + "bfs": "38", + "name": "Rheinau", + "canton": "Kanton Zürich", + "domain": "rheinau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rheinau.ch" + ], + "redirect": [], + "wikidata": [ + "rheinau.ch" + ], + "guess": [ + "rheinau.ch" + ] + }, + "flags": [] + }, + "39": { + "bfs": "39", + "name": "Thalheim an der Thur", + "canton": "Kanton Zürich", + "domain": "thalheim.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "thalheim.ch" + ], + "guess": [ + "thalheimanderthur.ch" + ] + }, + "flags": [] + }, + "40": { + "bfs": "40", + "name": "Trüllikon", + "canton": "Kanton Zürich", + "domain": "truellikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "truellikon.ch" + ], + "redirect": [], + "wikidata": [ + "truellikon.ch" + ], + "guess": [ + "truellikon.ch" + ] + }, + "flags": [] + }, + "41": { + "bfs": "41", + "name": "Truttikon", + "canton": "Kanton Zürich", + "domain": "truttikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "truttikon.ch" + ], + "redirect": [], + "wikidata": [ + "truttikon.ch" + ], + "guess": [ + "truttikon.ch", + "truttikon.zh.ch" + ] + }, + "flags": [] + }, + "43": { + "bfs": "43", + "name": "Volken", + "canton": "Kanton Zürich", + "domain": "volken.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "volken.ch.incamail.ch" + ], + "redirect": [], + "wikidata": [ + "volken.ch" + ], + "guess": [ + "volken.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "51": { + "bfs": "51", + "name": "Bachenbülach", + "canton": "Kanton Zürich", + "domain": "bachenbuelach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bachenbuelach.ch" + ], + "redirect": [], + "wikidata": [ + "bachenbuelach.ch" + ], + "guess": [ + "bachenbuelach.ch", + "bachenbuelach.zh.ch" + ] + }, + "flags": [] + }, + "52": { + "bfs": "52", + "name": "Bassersdorf", + "canton": "Kanton Zürich", + "domain": "bassersdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bassersdorf.ch" + ], + "redirect": [], + "wikidata": [ + "bassersdorf.ch" + ], + "guess": [ + "bassersdorf.ch", + "bassersdorf.zh.ch" + ] + }, + "flags": [] + }, + "53": { + "bfs": "53", + "name": "Bülach", + "canton": "Kanton Zürich", + "domain": "buelach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buelach.ch" + ], + "redirect": [], + "wikidata": [ + "buelach.ch" + ], + "guess": [ + "blach.ch", + "buelach.ch" + ] + }, + "flags": [] + }, + "54": { + "bfs": "54", + "name": "Dietlikon", + "canton": "Kanton Zürich", + "domain": "dietlikon.org", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "dietlikon.org" + ] + }, + "flags": [] + }, + "55": { + "bfs": "55", + "name": "Eglisau", + "canton": "Kanton Zürich", + "domain": "eglisau.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eglisau.ch" + ], + "guess": [ + "eglisau.ch" + ] + }, + "flags": [] + }, + "56": { + "bfs": "56", + "name": "Embrach", + "canton": "Kanton Zürich", + "domain": "embrach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "embrach.ch" + ], + "redirect": [], + "wikidata": [ + "embrach.ch" + ], + "guess": [ + "embrach.ch" + ] + }, + "flags": [] + }, + "57": { + "bfs": "57", + "name": "Freienstein-Teufen", + "canton": "Kanton Zürich", + "domain": "freienstein-teufen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "freienstein-teufen.ch" + ], + "redirect": [], + "wikidata": [ + "freienstein-teufen.ch" + ], + "guess": [ + "freienstein-teufen.ch" + ] + }, + "flags": [] + }, + "58": { + "bfs": "58", + "name": "Glattfelden", + "canton": "Kanton Zürich", + "domain": "glattfelden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "glattfelden.ch" + ], + "redirect": [], + "wikidata": [ + "glattfelden.ch" + ], + "guess": [ + "glattfelden.ch" + ] + }, + "flags": [] + }, + "59": { + "bfs": "59", + "name": "Hochfelden", + "canton": "Kanton Zürich", + "domain": "hochfelden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "hochfelden.ch" + ], + "guess": [ + "hochfelden.ch" + ] + }, + "flags": [] + }, + "60": { + "bfs": "60", + "name": "Höri", + "canton": "Kanton Zürich", + "domain": "hoeri.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hoeri.ch" + ], + "redirect": [], + "wikidata": [ + "hoeri.ch" + ], + "guess": [ + "hoeri.ch", + "hoeri.zh.ch", + "hri.ch" + ] + }, + "flags": [] + }, + "61": { + "bfs": "61", + "name": "Hüntwangen", + "canton": "Kanton Zürich", + "domain": "huentwangen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "huentwangen.ch" + ], + "redirect": [], + "wikidata": [ + "huentwangen.ch" + ], + "guess": [ + "huentwangen.ch" + ] + }, + "flags": [] + }, + "62": { + "bfs": "62", + "name": "Kloten", + "canton": "Kanton Zürich", + "domain": "kloten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kloten.ch", + "kompol.zh.ch" + ], + "redirect": [], + "wikidata": [ + "kloten.ch" + ], + "guess": [ + "kloten.ch" + ] + }, + "flags": [] + }, + "63": { + "bfs": "63", + "name": "Lufingen", + "canton": "Kanton Zürich", + "domain": "lufingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lufingen.ch" + ], + "redirect": [], + "wikidata": [ + "lufingen.ch" + ], + "guess": [ + "lufingen.ch" + ] + }, + "flags": [] + }, + "64": { + "bfs": "64", + "name": "Nürensdorf", + "canton": "Kanton Zürich", + "domain": "nuerensdorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "nuerensdorf.ch" + ], + "guess": [ + "nuerensdorf.ch" + ] + }, + "flags": [] + }, + "65": { + "bfs": "65", + "name": "Oberembrach", + "canton": "Kanton Zürich", + "domain": "oberembrach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberembrach.ch" + ], + "redirect": [], + "wikidata": [ + "oberembrach.ch" + ], + "guess": [ + "oberembrach.ch" + ] + }, + "flags": [] + }, + "66": { + "bfs": "66", + "name": "Opfikon", + "canton": "Kanton Zürich", + "domain": "opfikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "opfikon.ch" + ], + "redirect": [], + "wikidata": [ + "opfikon.ch" + ], + "guess": [ + "opfikon.ch", + "opfikon.zh.ch" + ] + }, + "flags": [] + }, + "67": { + "bfs": "67", + "name": "Rafz", + "canton": "Kanton Zürich", + "domain": "rafz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rafz.ch" + ], + "redirect": [], + "wikidata": [ + "rafz.ch" + ], + "guess": [ + "rafz.ch", + "rafz.zh.ch" + ] + }, + "flags": [] + }, + "68": { + "bfs": "68", + "name": "Rorbas", + "canton": "Kanton Zürich", + "domain": "rorbas.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rorbas.ch" + ], + "redirect": [], + "wikidata": [ + "rorbas.ch" + ], + "guess": [ + "rorbas.ch" + ] + }, + "flags": [] + }, + "69": { + "bfs": "69", + "name": "Wallisellen", + "canton": "Kanton Zürich", + "domain": "wallisellen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wallisellen.ch" + ], + "redirect": [], + "wikidata": [ + "wallisellen.ch" + ], + "guess": [ + "stadt-wallisellen.ch", + "wallisellen.ch", + "wallisellen.zh.ch" + ] + }, + "flags": [] + }, + "70": { + "bfs": "70", + "name": "Wasterkingen", + "canton": "Kanton Zürich", + "domain": "wasterkingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wasterkingen.ch" + ], + "redirect": [], + "wikidata": [ + "wasterkingen.ch" + ], + "guess": [ + "wasterkingen.ch", + "wasterkingen.zh.ch" + ] + }, + "flags": [] + }, + "71": { + "bfs": "71", + "name": "Wil (ZH)", + "canton": "Kanton Zürich", + "domain": "wil-zh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wil-zh.ch" + ], + "redirect": [], + "wikidata": [ + "wil-zh.ch" + ], + "guess": [ + "stadt-wil.ch", + "wil.ch" + ] + }, + "flags": [] + }, + "72": { + "bfs": "72", + "name": "Winkel", + "canton": "Kanton Zürich", + "domain": "winkel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "winkel.ch" + ], + "redirect": [], + "wikidata": [ + "winkel.ch" + ], + "guess": [ + "winkel.ch" + ] + }, + "flags": [] + }, + "81": { + "bfs": "81", + "name": "Bachs", + "canton": "Kanton Zürich", + "domain": "bachs.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bachs.ch" + ], + "redirect": [], + "wikidata": [ + "bachs.ch" + ], + "guess": [ + "bachs.ch" + ] + }, + "flags": [] + }, + "82": { + "bfs": "82", + "name": "Boppelsen", + "canton": "Kanton Zürich", + "domain": "boppelsen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boppelsen.ch" + ], + "redirect": [], + "wikidata": [ + "boppelsen.ch" + ], + "guess": [ + "boppelsen.ch", + "boppelsen.zh.ch" + ] + }, + "flags": [] + }, + "83": { + "bfs": "83", + "name": "Buchs (ZH)", + "canton": "Kanton Zürich", + "domain": "buchs-zh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchs-zh.ch" + ], + "redirect": [], + "wikidata": [ + "buchs-zh.ch" + ], + "guess": [ + "buchs.ch", + "buchs.zh.ch" + ] + }, + "flags": [] + }, + "84": { + "bfs": "84", + "name": "Dällikon", + "canton": "Kanton Zürich", + "domain": "daellikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "daellikon.ch" + ], + "redirect": [], + "wikidata": [ + "daellikon.ch" + ], + "guess": [ + "daellikon.ch" + ] + }, + "flags": [] + }, + "85": { + "bfs": "85", + "name": "Dänikon", + "canton": "Kanton Zürich", + "domain": "daenikon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "daenikon.ch" + ], + "guess": [ + "daenikon.ch" + ] + }, + "flags": [] + }, + "86": { + "bfs": "86", + "name": "Dielsdorf", + "canton": "Kanton Zürich", + "domain": "dielsdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dielsdorf.ch" + ], + "redirect": [], + "wikidata": [ + "dielsdorf.ch" + ], + "guess": [ + "dielsdorf.ch" + ] + }, + "flags": [] + }, + "87": { + "bfs": "87", + "name": "Hüttikon", + "canton": "Kanton Zürich", + "domain": "huettikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "huettikon.ch" + ], + "redirect": [], + "wikidata": [ + "huettikon.ch" + ], + "guess": [ + "huettikon.ch" + ] + }, + "flags": [] + }, + "88": { + "bfs": "88", + "name": "Neerach", + "canton": "Kanton Zürich", + "domain": "neerach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neerach.ch" + ], + "redirect": [], + "wikidata": [ + "neerach.ch" + ], + "guess": [ + "neerach.ch", + "neerach.zh.ch" + ] + }, + "flags": [] + }, + "89": { + "bfs": "89", + "name": "Niederglatt", + "canton": "Kanton Zürich", + "domain": "niederglatt-zh.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "niederglatt-zh.ch" + ] + }, + "flags": [] + }, + "90": { + "bfs": "90", + "name": "Niederhasli", + "canton": "Kanton Zürich", + "domain": "niederhasli.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederhasli.ch" + ], + "redirect": [], + "wikidata": [ + "niederhasli.ch" + ], + "guess": [ + "niederhasli.ch", + "niederhasli.zh.ch" + ] + }, + "flags": [] + }, + "91": { + "bfs": "91", + "name": "Niederweningen", + "canton": "Kanton Zürich", + "domain": "niederweningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederweningen.ch" + ], + "redirect": [], + "wikidata": [ + "niederweningen.ch" + ], + "guess": [ + "niederweningen.ch", + "niederweningen.zh.ch" + ] + }, + "flags": [] + }, + "92": { + "bfs": "92", + "name": "Oberglatt", + "canton": "Kanton Zürich", + "domain": "oberglatt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberglatt.ch" + ], + "redirect": [], + "wikidata": [ + "oberglatt.ch" + ], + "guess": [ + "oberglatt.ch", + "oberglatt.zh.ch" + ] + }, + "flags": [] + }, + "93": { + "bfs": "93", + "name": "Oberweningen", + "canton": "Kanton Zürich", + "domain": "oberweningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberweningen.ch" + ], + "redirect": [], + "wikidata": [ + "oberweningen.ch" + ], + "guess": [ + "oberweningen.ch", + "oberweningen.zh.ch" + ] + }, + "flags": [] + }, + "94": { + "bfs": "94", + "name": "Otelfingen", + "canton": "Kanton Zürich", + "domain": "otelfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "otelfingen.ch" + ], + "redirect": [], + "wikidata": [ + "otelfingen.ch" + ], + "guess": [ + "otelfingen.ch" + ] + }, + "flags": [] + }, + "95": { + "bfs": "95", + "name": "Regensberg", + "canton": "Kanton Zürich", + "domain": "regensberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "regensberg.ch" + ], + "redirect": [], + "wikidata": [ + "regensberg.ch" + ], + "guess": [ + "regensberg.ch", + "regensberg.zh.ch" + ] + }, + "flags": [] + }, + "96": { + "bfs": "96", + "name": "Regensdorf", + "canton": "Kanton Zürich", + "domain": "regensdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "regensdorf.ch" + ], + "redirect": [], + "wikidata": [ + "regensdorf.ch" + ], + "guess": [ + "regensdorf.ch" + ] + }, + "flags": [] + }, + "97": { + "bfs": "97", + "name": "Rümlang", + "canton": "Kanton Zürich", + "domain": "ruemlang.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruemlang.ch" + ], + "redirect": [], + "wikidata": [ + "ruemlang.ch" + ], + "guess": [ + "ruemlang.ch", + "ruemlang.zh.ch" + ] + }, + "flags": [] + }, + "98": { + "bfs": "98", + "name": "Schleinikon", + "canton": "Kanton Zürich", + "domain": "schleinikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schleinikon.ch" + ], + "redirect": [], + "wikidata": [ + "schleinikon.ch" + ], + "guess": [ + "schleinikon.ch" + ] + }, + "flags": [] + }, + "99": { + "bfs": "99", + "name": "Schöfflisdorf", + "canton": "Kanton Zürich", + "domain": "schoefflisdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schoefflisdorf.ch" + ], + "redirect": [], + "wikidata": [ + "schoefflisdorf.ch" + ], + "guess": [ + "schoefflisdorf.ch", + "schoefflisdorf.zh.ch" + ] + }, + "flags": [] + }, + "100": { + "bfs": "100", + "name": "Stadel", + "canton": "Kanton Zürich", + "domain": "stadel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stadel.ch" + ], + "redirect": [], + "wikidata": [ + "stadel.ch" + ], + "guess": [ + "stadel.ch", + "stadel.zh.ch" + ] + }, + "flags": [] + }, + "101": { + "bfs": "101", + "name": "Steinmaur", + "canton": "Kanton Zürich", + "domain": "steinmaur.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "steinmaur.ch" + ], + "redirect": [], + "wikidata": [ + "steinmaur.ch" + ], + "guess": [ + "steinmaur.ch", + "steinmaur.zh.ch" + ] + }, + "flags": [] + }, + "102": { + "bfs": "102", + "name": "Weiach", + "canton": "Kanton Zürich", + "domain": "weiach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "weiach.ch" + ], + "redirect": [], + "wikidata": [ + "weiach.ch" + ], + "guess": [ + "weiach.ch" + ] + }, + "flags": [] + }, + "111": { + "bfs": "111", + "name": "Bäretswil", + "canton": "Kanton Zürich", + "domain": "baeretswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "baeretswil.ch" + ], + "redirect": [], + "wikidata": [ + "baeretswil.ch" + ], + "guess": [ + "baeretswil.ch" + ] + }, + "flags": [] + }, + "112": { + "bfs": "112", + "name": "Bubikon", + "canton": "Kanton Zürich", + "domain": "bubikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bubikon.ch" + ], + "redirect": [], + "wikidata": [ + "bubikon.ch" + ], + "guess": [ + "bubikon.ch" + ] + }, + "flags": [] + }, + "113": { + "bfs": "113", + "name": "Dürnten", + "canton": "Kanton Zürich", + "domain": "duernten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duernten.ch" + ], + "redirect": [], + "wikidata": [ + "duernten.ch" + ], + "guess": [ + "duernten.ch" + ] + }, + "flags": [] + }, + "114": { + "bfs": "114", + "name": "Fischenthal", + "canton": "Kanton Zürich", + "domain": "fischenthal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fischenthal.ch" + ], + "guess": [ + "fischenthal.ch" + ] + }, + "flags": [] + }, + "115": { + "bfs": "115", + "name": "Gossau (ZH)", + "canton": "Kanton Zürich", + "domain": "gossau-zh.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gossau-zh.ch" + ], + "guess": [] + }, + "flags": [] + }, + "116": { + "bfs": "116", + "name": "Grüningen", + "canton": "Kanton Zürich", + "domain": "grueningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grueningen.ch" + ], + "redirect": [], + "wikidata": [ + "grueningen.ch" + ], + "guess": [ + "grueningen.ch" + ] + }, + "flags": [] + }, + "117": { + "bfs": "117", + "name": "Hinwil", + "canton": "Kanton Zürich", + "domain": "hinwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hinwil.ch" + ], + "redirect": [], + "wikidata": [ + "hinwil.ch" + ], + "guess": [ + "gemeinde-hinwil.ch", + "hinwil.ch" + ] + }, + "flags": [] + }, + "118": { + "bfs": "118", + "name": "Rüti (ZH)", + "canton": "Kanton Zürich", + "domain": "rueti.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rueti.ch" + ], + "redirect": [], + "wikidata": [ + "rueti.ch" + ], + "guess": [ + "r-ti.ch", + "rti.ch", + "rueti.ch" + ] + }, + "flags": [] + }, + "119": { + "bfs": "119", + "name": "Seegräben", + "canton": "Kanton Zürich", + "domain": "seegraeben.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seegraeben.ch" + ], + "redirect": [], + "wikidata": [ + "seegraeben.ch" + ], + "guess": [ + "seegraeben.ch" + ] + }, + "flags": [] + }, + "120": { + "bfs": "120", + "name": "Wald (ZH)", + "canton": "Kanton Zürich", + "domain": "wald-zh.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "wald-zh.ch" + ] + }, + "flags": [] + }, + "121": { + "bfs": "121", + "name": "Wetzikon (ZH)", + "canton": "Kanton Zürich", + "domain": "wetzikon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wetzikon.ch" + ], + "guess": [ + "stadt-wetzikon.ch", + "wetzikon.ch" + ] + }, + "flags": [] + }, + "131": { + "bfs": "131", + "name": "Adliswil", + "canton": "", + "domain": "adliswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "adliswil.ch" + ], + "redirect": [], + "wikidata": [ + "adliswil.ch" + ], + "guess": [ + "adliswil.ch" + ] + }, + "flags": [] + }, + "135": { + "bfs": "135", + "name": "Kilchberg (ZH)", + "canton": "", + "domain": "kilchberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kilchberg.ch" + ], + "redirect": [], + "wikidata": [ + "kilchberg.ch" + ], + "guess": [ + "kilchberg.ch" + ] + }, + "flags": [] + }, + "136": { + "bfs": "136", + "name": "Langnau am Albis", + "canton": "", + "domain": "solicom.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "langnau.ch", + "solicom.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [] + }, + "flags": [] + }, + "137": { + "bfs": "137", + "name": "Oberrieden", + "canton": "", + "domain": "oberrieden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberrieden.ch" + ], + "redirect": [], + "wikidata": [ + "oberrieden.ch" + ], + "guess": [ + "oberrieden.ch" + ] + }, + "flags": [] + }, + "138": { + "bfs": "138", + "name": "Richterswil", + "canton": "", + "domain": "richterswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "richterswil.ch" + ], + "redirect": [], + "wikidata": [ + "richterswil.ch" + ], + "guess": [ + "richterswil.ch" + ] + }, + "flags": [] + }, + "139": { + "bfs": "139", + "name": "Rüschlikon", + "canton": "", + "domain": "rueschlikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rueschlikon.ch" + ], + "redirect": [], + "wikidata": [ + "rueschlikon.ch" + ], + "guess": [ + "rueschlikon.ch" + ] + }, + "flags": [] + }, + "141": { + "bfs": "141", + "name": "Thalwil", + "canton": "", + "domain": "thalwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thalwil.ch" + ], + "redirect": [], + "wikidata": [ + "thalwil.ch" + ], + "guess": [ + "thalwil.ch" + ] + }, + "flags": [] + }, + "151": { + "bfs": "151", + "name": "Erlenbach (ZH)", + "canton": "Kanton Zürich", + "domain": "erlenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "erlenbach.ch" + ], + "redirect": [], + "wikidata": [ + "erlenbach.ch" + ], + "guess": [ + "erlenbach.ch", + "gemeinde-erlenbach.ch" + ] + }, + "flags": [] + }, + "152": { + "bfs": "152", + "name": "Herrliberg", + "canton": "Kanton Zürich", + "domain": "herrliberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "herrliberg.ch" + ], + "redirect": [], + "wikidata": [ + "herrliberg.ch" + ], + "guess": [ + "herrliberg.ch" + ] + }, + "flags": [] + }, + "153": { + "bfs": "153", + "name": "Hombrechtikon", + "canton": "Kanton Zürich", + "domain": "hombrechtikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hombrechtikon.ch" + ], + "redirect": [], + "wikidata": [ + "hombrechtikon.ch" + ], + "guess": [ + "hombrechtikon.ch" + ] + }, + "flags": [] + }, + "154": { + "bfs": "154", + "name": "Küsnacht (ZH)", + "canton": "Kanton Zürich", + "domain": "kuesnacht.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kuesnacht.ch" + ], + "redirect": [], + "wikidata": [ + "kuesnacht.ch" + ], + "guess": [ + "kuesnacht.ch" + ] + }, + "flags": [] + }, + "155": { + "bfs": "155", + "name": "Männedorf", + "canton": "Kanton Zürich", + "domain": "maennedorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maennedorf.ch" + ], + "redirect": [], + "wikidata": [ + "maennedorf.ch" + ], + "guess": [ + "maennedorf.ch" + ] + }, + "flags": [] + }, + "156": { + "bfs": "156", + "name": "Meilen", + "canton": "Kanton Zürich", + "domain": "meilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meilen.ch" + ], + "redirect": [], + "wikidata": [ + "meilen.ch" + ], + "guess": [ + "meilen.ch", + "meilen.zh.ch" + ] + }, + "flags": [] + }, + "157": { + "bfs": "157", + "name": "Oetwil am See", + "canton": "Kanton Zürich", + "domain": "oetwil.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oetwil.ch" + ], + "guess": [] + }, + "flags": [] + }, + "158": { + "bfs": "158", + "name": "Stäfa", + "canton": "Kanton Zürich", + "domain": "staefa.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "staefa.ch" + ], + "guess": [ + "gemeinde-staefa.ch", + "staefa.ch" + ] + }, + "flags": [] + }, + "159": { + "bfs": "159", + "name": "Uetikon am See", + "canton": "Kanton Zürich", + "domain": "uetikonamsee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uetikonamsee.ch" + ], + "redirect": [ + "uetikonamsee.ch" + ], + "wikidata": [], + "guess": [ + "uetikonamsee.ch" + ] + }, + "flags": [] + }, + "160": { + "bfs": "160", + "name": "Zumikon", + "canton": "Kanton Zürich", + "domain": "zumikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zumikon.ch" + ], + "redirect": [], + "wikidata": [ + "zumikon.ch" + ], + "guess": [ + "zumikon.ch" + ] + }, + "flags": [] + }, + "161": { + "bfs": "161", + "name": "Zollikon", + "canton": "Kanton Zürich", + "domain": "zollikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zollikon.ch" + ], + "redirect": [], + "wikidata": [ + "zollikon.ch" + ], + "guess": [ + "zollikon.ch", + "zollikon.zh.ch" + ] + }, + "flags": [] + }, + "172": { + "bfs": "172", + "name": "Fehraltorf", + "canton": "Kanton Zürich", + "domain": "fehraltorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fehraltorf.ch" + ], + "redirect": [], + "wikidata": [ + "fehraltorf.ch" + ], + "guess": [ + "fehraltorf.ch" + ] + }, + "flags": [] + }, + "173": { + "bfs": "173", + "name": "Hittnau", + "canton": "Kanton Zürich", + "domain": "hittnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hittnau.ch" + ], + "redirect": [], + "wikidata": [ + "hittnau.ch" + ], + "guess": [ + "hittnau.ch" + ] + }, + "flags": [] + }, + "176": { + "bfs": "176", + "name": "Lindau", + "canton": "Kanton Zürich", + "domain": "lindau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lindau.ch" + ], + "redirect": [], + "wikidata": [ + "lindau.ch" + ], + "guess": [ + "lindau.ch", + "lindau.zh.ch" + ] + }, + "flags": [] + }, + "177": { + "bfs": "177", + "name": "Pfäffikon", + "canton": "Kanton Zürich", + "domain": "pfaeffikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pfaeffikon.ch" + ], + "redirect": [], + "wikidata": [ + "pfaeffikon.ch" + ], + "guess": [ + "pfaeffikon.ch" + ] + }, + "flags": [] + }, + "178": { + "bfs": "178", + "name": "Russikon", + "canton": "Kanton Zürich", + "domain": "russikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "russikon.ch" + ], + "redirect": [], + "wikidata": [ + "russikon.ch" + ], + "guess": [ + "russikon.ch" + ] + }, + "flags": [] + }, + "180": { + "bfs": "180", + "name": "Weisslingen", + "canton": "Kanton Zürich", + "domain": "weisslingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "weisslingen.ch" + ], + "redirect": [], + "wikidata": [ + "weisslingen.ch" + ], + "guess": [ + "weisslingen.ch" + ] + }, + "flags": [] + }, + "181": { + "bfs": "181", + "name": "Wila", + "canton": "Kanton Zürich", + "domain": "wila.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wila.ch" + ], + "redirect": [], + "wikidata": [ + "wila.ch" + ], + "guess": [ + "wila.ch" + ] + }, + "flags": [] + }, + "182": { + "bfs": "182", + "name": "Wildberg", + "canton": "Kanton Zürich", + "domain": "wildberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wildberg.ch" + ], + "redirect": [], + "wikidata": [ + "wildberg.ch" + ], + "guess": [ + "wildberg.ch" + ] + }, + "flags": [] + }, + "191": { + "bfs": "191", + "name": "Dübendorf", + "canton": "Kanton Zürich", + "domain": "duebendorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duebendorf.ch" + ], + "redirect": [], + "wikidata": [ + "duebendorf.ch" + ], + "guess": [ + "duebendorf.ch" + ] + }, + "flags": [] + }, + "192": { + "bfs": "192", + "name": "Egg", + "canton": "Kanton Zürich", + "domain": "egg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "egg.ch" + ], + "redirect": [], + "wikidata": [ + "egg.ch" + ], + "guess": [ + "egg.ch" + ] + }, + "flags": [] + }, + "193": { + "bfs": "193", + "name": "Fällanden", + "canton": "Kanton Zürich", + "domain": "faellanden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "faellanden.ch" + ], + "redirect": [], + "wikidata": [ + "faellanden.ch" + ], + "guess": [ + "faellanden.ch" + ] + }, + "flags": [] + }, + "194": { + "bfs": "194", + "name": "Greifensee", + "canton": "Kanton Zürich", + "domain": "greifensee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "greifensee.ch" + ], + "redirect": [], + "wikidata": [ + "greifensee.ch" + ], + "guess": [ + "greifensee.ch", + "greifensee.zh.ch" + ] + }, + "flags": [] + }, + "195": { + "bfs": "195", + "name": "Maur", + "canton": "Kanton Zürich", + "domain": "maur.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maur.ch" + ], + "redirect": [], + "wikidata": [ + "maur.ch" + ], + "guess": [ + "maur.ch" + ] + }, + "flags": [] + }, + "196": { + "bfs": "196", + "name": "Mönchaltorf", + "canton": "Kanton Zürich", + "domain": "moenchaltorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moenchaltorf.ch" + ], + "redirect": [], + "wikidata": [ + "moenchaltorf.ch" + ], + "guess": [ + "moenchaltorf.ch" + ] + }, + "flags": [] + }, + "197": { + "bfs": "197", + "name": "Schwerzenbach", + "canton": "Kanton Zürich", + "domain": "schwerzenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schwerzenbach.ch" + ], + "redirect": [], + "wikidata": [ + "schwerzenbach.ch" + ], + "guess": [ + "schwerzenbach.ch" + ] + }, + "flags": [] + }, + "198": { + "bfs": "198", + "name": "Uster", + "canton": "Kanton Zürich", + "domain": "uster.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "uster.ch" + ], + "guess": [ + "stadt-uster.ch", + "uster.ch" + ] + }, + "flags": [] + }, + "199": { + "bfs": "199", + "name": "Volketswil", + "canton": "Kanton Zürich", + "domain": "volketswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "volketswil.ch" + ], + "guess": [ + "volketswil.ch" + ] + }, + "flags": [] + }, + "200": { + "bfs": "200", + "name": "Wangen-Brüttisellen", + "canton": "Kanton Zürich", + "domain": "wangen-bruettisellen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wangen-bruettisellen.ch" + ], + "redirect": [], + "wikidata": [ + "wangen-bruettisellen.ch" + ], + "guess": [ + "wangen-bruettisellen.ch" + ] + }, + "flags": [] + }, + "211": { + "bfs": "211", + "name": "Altikon", + "canton": "Kanton Zürich", + "domain": "altikon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "altikon.ch" + ], + "guess": [ + "altikon.ch" + ] + }, + "flags": [] + }, + "213": { + "bfs": "213", + "name": "Brütten", + "canton": "Kanton Zürich", + "domain": "bruetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bruetten.ch" + ], + "redirect": [], + "wikidata": [ + "bruetten.ch" + ], + "guess": [ + "bruetten.ch" + ] + }, + "flags": [] + }, + "214": { + "bfs": "214", + "name": "Dägerlen", + "canton": "Kanton Zürich", + "domain": "daegerlen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "daegerlen.ch" + ], + "redirect": [], + "wikidata": [ + "daegerlen.ch" + ], + "guess": [ + "daegerlen.ch" + ] + }, + "flags": [] + }, + "215": { + "bfs": "215", + "name": "Dättlikon", + "canton": "Kanton Zürich", + "domain": "daettlikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "daettlikon.ch" + ], + "redirect": [], + "wikidata": [ + "daettlikon.ch" + ], + "guess": [ + "daettlikon.ch" + ] + }, + "flags": [] + }, + "216": { + "bfs": "216", + "name": "Dinhard", + "canton": "Kanton Zürich", + "domain": "dinhard.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dinhard.ch" + ], + "redirect": [], + "wikidata": [ + "dinhard.ch" + ], + "guess": [ + "dinhard.ch", + "dinhard.zh.ch" + ] + }, + "flags": [] + }, + "218": { + "bfs": "218", + "name": "Ellikon an der Thur", + "canton": "Kanton Zürich", + "domain": "ellikonanderthur.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ellikonanderthur.ch" + ], + "redirect": [], + "wikidata": [ + "ellikonanderthur.ch" + ], + "guess": [ + "ellikonanderthur.ch" + ] + }, + "flags": [] + }, + "219": { + "bfs": "219", + "name": "Elsau", + "canton": "Kanton Zürich", + "domain": "elsau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "elsau.ch" + ], + "redirect": [], + "wikidata": [ + "elsau.ch" + ], + "guess": [ + "elsau.ch" + ] + }, + "flags": [] + }, + "220": { + "bfs": "220", + "name": "Hagenbuch", + "canton": "Kanton Zürich", + "domain": "hagenbuch-zh.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "hagenbuch-zh.ch" + ] + }, + "flags": [] + }, + "221": { + "bfs": "221", + "name": "Hettlingen", + "canton": "Kanton Zürich", + "domain": "hettlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hettlingen.ch" + ], + "redirect": [], + "wikidata": [ + "hettlingen.ch" + ], + "guess": [ + "hettlingen.ch", + "hettlingen.zh.ch" + ] + }, + "flags": [] + }, + "223": { + "bfs": "223", + "name": "Neftenbach", + "canton": "Kanton Zürich", + "domain": "neftenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neftenbach.ch" + ], + "redirect": [], + "wikidata": [ + "neftenbach.ch" + ], + "guess": [ + "neftenbach.ch" + ] + }, + "flags": [] + }, + "224": { + "bfs": "224", + "name": "Pfungen", + "canton": "Kanton Zürich", + "domain": "pfungen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pfungen.ch", + "schulepfungen.ch" + ], + "redirect": [], + "wikidata": [ + "pfungen.ch" + ], + "guess": [ + "pfungen.ch", + "pfungen.zh.ch" + ] + }, + "flags": [] + }, + "225": { + "bfs": "225", + "name": "Rickenbach (ZH)", + "canton": "Kanton Zürich", + "domain": "rickenbach-zh.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "rickenbach-zh.ch" + ] + }, + "flags": [] + }, + "226": { + "bfs": "226", + "name": "Schlatt (ZH)", + "canton": "Kanton Zürich", + "domain": "schlatt-zh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schlatt-zh.ch" + ], + "redirect": [], + "wikidata": [ + "schlatt-zh.ch" + ], + "guess": [ + "schlatt.ch" + ] + }, + "flags": [] + }, + "227": { + "bfs": "227", + "name": "Seuzach", + "canton": "Kanton Zürich", + "domain": "seuzach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seuzach.ch" + ], + "redirect": [], + "wikidata": [ + "seuzach.ch" + ], + "guess": [ + "seuzach.ch" + ] + }, + "flags": [] + }, + "228": { + "bfs": "228", + "name": "Turbenthal", + "canton": "Kanton Zürich", + "domain": "turbenthal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "turbenthal.ch" + ], + "guess": [ + "turbenthal.ch" + ] + }, + "flags": [] + }, + "230": { + "bfs": "230", + "name": "Winterthur", + "canton": "Kanton Zürich", + "domain": "win.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "win.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "stadt-winterthur.ch" + ] + }, + "flags": [] + }, + "231": { + "bfs": "231", + "name": "Zell (ZH)", + "canton": "Kanton Zürich", + "domain": "zell.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zell.ch" + ], + "redirect": [], + "wikidata": [ + "zell.ch" + ], + "guess": [ + "zell.ch", + "zell.zh.ch" + ] + }, + "flags": [] + }, + "241": { + "bfs": "241", + "name": "Aesch (ZH)", + "canton": "Kanton Zürich", + "domain": "aesch-zh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aesch-zh.ch" + ], + "redirect": [], + "wikidata": [ + "aesch-zh.ch" + ], + "guess": [ + "aesch.ch", + "aesch.zh.ch" + ] + }, + "flags": [] + }, + "242": { + "bfs": "242", + "name": "Birmensdorf (ZH)", + "canton": "Kanton Zürich", + "domain": "birmensdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "birmensdorf.ch" + ], + "redirect": [], + "wikidata": [ + "birmensdorf.ch" + ], + "guess": [ + "birmensdorf.ch", + "birmensdorf.zh.ch" + ] + }, + "flags": [] + }, + "243": { + "bfs": "243", + "name": "Dietikon", + "canton": "Kanton Zürich", + "domain": "dietikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dietikon.ch" + ], + "redirect": [], + "wikidata": [ + "dietikon.ch" + ], + "guess": [ + "dietikon.ch", + "stadt-dietikon.ch" + ] + }, + "flags": [] + }, + "244": { + "bfs": "244", + "name": "Geroldswil", + "canton": "Kanton Zürich", + "domain": "geroldswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "geroldswil.ch" + ], + "guess": [ + "geroldswil.ch" + ] + }, + "flags": [] + }, + "245": { + "bfs": "245", + "name": "Oberengstringen", + "canton": "Kanton Zürich", + "domain": "oberengstringen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberengstringen.ch" + ], + "redirect": [], + "wikidata": [ + "oberengstringen.ch" + ], + "guess": [ + "oberengstringen.ch" + ] + }, + "flags": [] + }, + "246": { + "bfs": "246", + "name": "Oetwil an der Limmat", + "canton": "Kanton Zürich", + "domain": "oetwil-limmat.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oetwil-limmat.ch" + ], + "guess": [] + }, + "flags": [] + }, + "247": { + "bfs": "247", + "name": "Schlieren", + "canton": "Kanton Zürich", + "domain": "schlieren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schlieren.ch" + ], + "redirect": [], + "wikidata": [ + "schlieren.ch" + ], + "guess": [ + "schlieren.ch" + ] + }, + "flags": [] + }, + "248": { + "bfs": "248", + "name": "Uitikon", + "canton": "Kanton Zürich", + "domain": "uitikon.org", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "uitikon.org" + ] + }, + "flags": [] + }, + "249": { + "bfs": "249", + "name": "Unterengstringen", + "canton": "Kanton Zürich", + "domain": "unterengstringen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unterengstringen.ch" + ], + "redirect": [], + "wikidata": [ + "unterengstringen.ch" + ], + "guess": [ + "unterengstringen.ch" + ] + }, + "flags": [] + }, + "250": { + "bfs": "250", + "name": "Urdorf", + "canton": "Kanton Zürich", + "domain": "urdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "urdorf.ch" + ], + "redirect": [], + "wikidata": [ + "urdorf.ch" + ], + "guess": [ + "urdorf.ch" + ] + }, + "flags": [] + }, + "251": { + "bfs": "251", + "name": "Weiningen (ZH)", + "canton": "Kanton Zürich", + "domain": "weiningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "weiningen.ch" + ], + "redirect": [], + "wikidata": [ + "weiningen.ch" + ], + "guess": [ + "weiningen.ch" + ] + }, + "flags": [] + }, + "261": { + "bfs": "261", + "name": "Zürich", + "canton": "Kanton Zürich", + "domain": "zuerich.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "zuerich.ch" + ] + }, + "flags": [] + }, + "291": { + "bfs": "291", + "name": "Andelfingen", + "canton": "Kanton Zürich", + "domain": "andelfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "andelfingen.ch" + ], + "redirect": [], + "wikidata": [ + "andelfingen.ch" + ], + "guess": [ + "andelfingen.ch" + ] + }, + "flags": [] + }, + "292": { + "bfs": "292", + "name": "Stammheim", + "canton": "Kanton Zürich", + "domain": "stammheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stammheim.ch" + ], + "redirect": [], + "wikidata": [ + "stammheim.ch" + ], + "guess": [ + "stammheim.ch" + ] + }, + "flags": [] + }, + "293": { + "bfs": "293", + "name": "Wädenswil", + "canton": "", + "domain": "waedenswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "waedenswil.ch" + ], + "redirect": [], + "wikidata": [ + "waedenswil.ch" + ], + "guess": [ + "waedenswil.ch" + ] + }, + "flags": [] + }, + "294": { + "bfs": "294", + "name": "Elgg", + "canton": "Kanton Zürich", + "domain": "elgg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "elgg.ch" + ], + "redirect": [], + "wikidata": [ + "elgg.ch" + ], + "guess": [ + "elgg.ch" + ] + }, + "flags": [] + }, + "295": { + "bfs": "295", + "name": "Horgen", + "canton": "", + "domain": "horgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "horgen.ch" + ], + "redirect": [], + "wikidata": [ + "horgen.ch" + ], + "guess": [ + "horgen.ch" + ] + }, + "flags": [] + }, + "296": { + "bfs": "296", + "name": "Illnau-Effretikon", + "canton": "Kanton Zürich", + "domain": "ilef.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ilef.ch" + ], + "redirect": [ + "ilef.ch" + ], + "wikidata": [], + "guess": [] + }, + "flags": [] + }, + "297": { + "bfs": "297", + "name": "Bauma", + "canton": "Kanton Zürich", + "domain": "bauma.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bauma.ch" + ], + "redirect": [], + "wikidata": [ + "bauma.ch" + ], + "guess": [ + "bauma.ch" + ] + }, + "flags": [] + }, + "298": { + "bfs": "298", + "name": "Wiesendangen", + "canton": "Kanton Zürich", + "domain": "wiesendangen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wiesendangen.ch" + ], + "redirect": [], + "wikidata": [ + "wiesendangen.ch" + ], + "guess": [ + "wiesendangen.ch" + ] + }, + "flags": [] + }, + "301": { + "bfs": "301", + "name": "Aarberg", + "canton": "Kanton Bern", + "domain": "aarberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "aarberg.ch" + ], + "guess": [ + "aarberg.ch" + ] + }, + "flags": [] + }, + "302": { + "bfs": "302", + "name": "Bargen (BE)", + "canton": "Kanton Bern", + "domain": "bargen-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bargen-be.ch" + ], + "redirect": [], + "wikidata": [ + "bargen-be.ch" + ], + "guess": [ + "bargen.ch" + ] + }, + "flags": [] + }, + "303": { + "bfs": "303", + "name": "Grossaffoltern", + "canton": "Kanton Bern", + "domain": "grossaffoltern.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grossaffoltern.ch" + ], + "guess": [ + "grossaffoltern.ch" + ] + }, + "flags": [] + }, + "304": { + "bfs": "304", + "name": "Kallnach", + "canton": "Kanton Bern", + "domain": "kallnach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kallnach.ch" + ], + "redirect": [], + "wikidata": [ + "kallnach.ch" + ], + "guess": [ + "gemeinde-kallnach.ch", + "kallnach.ch" + ] + }, + "flags": [] + }, + "305": { + "bfs": "305", + "name": "Kappelen", + "canton": "Kanton Bern", + "domain": "kappelen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kappelen.ch" + ], + "redirect": [], + "wikidata": [ + "kappelen.ch" + ], + "guess": [ + "kappelen.ch" + ] + }, + "flags": [] + }, + "306": { + "bfs": "306", + "name": "Lyss", + "canton": "Kanton Bern", + "domain": "lyss.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lyss.ch" + ], + "redirect": [], + "wikidata": [ + "lyss.ch" + ], + "guess": [ + "lyss.ch" + ] + }, + "flags": [] + }, + "307": { + "bfs": "307", + "name": "Meikirch", + "canton": "Kanton Bern", + "domain": "meikirch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meikirch.ch" + ], + "redirect": [], + "wikidata": [ + "meikirch.ch" + ], + "guess": [ + "meikirch.ch" + ] + }, + "flags": [] + }, + "309": { + "bfs": "309", + "name": "Radelfingen", + "canton": "Kanton Bern", + "domain": "radelfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "radelfingen.ch" + ], + "redirect": [], + "wikidata": [ + "radelfingen.ch" + ], + "guess": [ + "radelfingen.ch" + ] + }, + "flags": [] + }, + "310": { + "bfs": "310", + "name": "Rapperswil (BE)", + "canton": "Kanton Bern", + "domain": "rapperswil-be.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rapperswil-be.ch" + ], + "guess": [] + }, + "flags": [] + }, + "311": { + "bfs": "311", + "name": "Schüpfen", + "canton": "Kanton Bern", + "domain": "schuepfen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "schuepfen.ch" + ], + "guess": [ + "schuepfen.ch" + ] + }, + "flags": [] + }, + "312": { + "bfs": "312", + "name": "Seedorf (BE)", + "canton": "Kanton Bern", + "domain": "seedorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "seedorf.ch" + ], + "guess": [ + "seedorf.ch" + ] + }, + "flags": [] + }, + "321": { + "bfs": "321", + "name": "Aarwangen", + "canton": "Kanton Bern", + "domain": "aarwangen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aarwangen.ch" + ], + "redirect": [], + "wikidata": [ + "aarwangen.ch" + ], + "guess": [ + "aarwangen.ch" + ] + }, + "flags": [] + }, + "322": { + "bfs": "322", + "name": "Auswil", + "canton": "Kanton Bern", + "domain": "auswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "auswil.ch" + ], + "guess": [ + "auswil.ch" + ] + }, + "flags": [] + }, + "323": { + "bfs": "323", + "name": "Bannwil", + "canton": "Kanton Bern", + "domain": "bannwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bannwil.ch" + ], + "redirect": [], + "wikidata": [ + "bannwil.ch" + ], + "guess": [ + "bannwil.ch" + ] + }, + "flags": [] + }, + "324": { + "bfs": "324", + "name": "Bleienbach", + "canton": "Kanton Bern", + "domain": "bleienbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bleienbach.ch" + ], + "redirect": [], + "wikidata": [ + "bleienbach.ch" + ], + "guess": [ + "bleienbach.ch" + ] + }, + "flags": [] + }, + "325": { + "bfs": "325", + "name": "Busswil bei Melchnau", + "canton": "Kanton Bern", + "domain": "busswil-bm.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "busswil-bm.ch" + ], + "redirect": [], + "wikidata": [ + "busswil-bm.ch" + ], + "guess": [] + }, + "flags": [] + }, + "326": { + "bfs": "326", + "name": "Gondiswil", + "canton": "Kanton Bern", + "domain": "gondiswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gondiswil.ch" + ], + "guess": [ + "gondiswil.ch" + ] + }, + "flags": [] + }, + "329": { + "bfs": "329", + "name": "Langenthal", + "canton": "Kanton Bern", + "domain": "langenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "langenthal.ch" + ], + "redirect": [], + "wikidata": [ + "langenthal.ch" + ], + "guess": [ + "langenthal.ch" + ] + }, + "flags": [] + }, + "331": { + "bfs": "331", + "name": "Lotzwil", + "canton": "Kanton Bern", + "domain": "lotzwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lotzwil.ch" + ], + "guess": [ + "lotzwil.ch" + ] + }, + "flags": [] + }, + "332": { + "bfs": "332", + "name": "Madiswil", + "canton": "Kanton Bern", + "domain": "madiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "madiswil.ch" + ], + "redirect": [], + "wikidata": [ + "madiswil.ch" + ], + "guess": [ + "madiswil.ch" + ] + }, + "flags": [] + }, + "333": { + "bfs": "333", + "name": "Melchnau", + "canton": "Kanton Bern", + "domain": "melchnau.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "melchnau.ch" + ], + "guess": [ + "melchnau.ch" + ] + }, + "flags": [] + }, + "335": { + "bfs": "335", + "name": "Oeschenbach", + "canton": "Kanton Bern", + "domain": "oeschenbach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oeschenbach.ch" + ], + "guess": [ + "oeschenbach.ch" + ] + }, + "flags": [] + }, + "336": { + "bfs": "336", + "name": "Reisiswil", + "canton": "Kanton Bern", + "domain": "reisiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reisiswil.ch" + ], + "redirect": [], + "wikidata": [ + "reisiswil.ch" + ], + "guess": [ + "reisiswil.ch" + ] + }, + "flags": [] + }, + "337": { + "bfs": "337", + "name": "Roggwil (BE)", + "canton": "Kanton Bern", + "domain": "roggwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roggwil.ch" + ], + "redirect": [], + "wikidata": [ + "roggwil.ch" + ], + "guess": [ + "roggwil.ch" + ] + }, + "flags": [] + }, + "338": { + "bfs": "338", + "name": "Rohrbach", + "canton": "Kanton Bern", + "domain": "rohrbach-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rohrbach-be.ch" + ], + "redirect": [], + "wikidata": [ + "rohrbach-be.ch" + ], + "guess": [ + "gemeinde-rohrbach.ch", + "rohrbach.ch" + ] + }, + "flags": [] + }, + "339": { + "bfs": "339", + "name": "Rohrbachgraben", + "canton": "Kanton Bern", + "domain": "rohrbachgraben.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rohrbachgraben.ch" + ], + "guess": [ + "rohrbachgraben.ch" + ] + }, + "flags": [] + }, + "340": { + "bfs": "340", + "name": "Rütschelen", + "canton": "Kanton Bern", + "domain": "ruetschelen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruetschelen.ch" + ], + "redirect": [], + "wikidata": [ + "ruetschelen.ch" + ], + "guess": [ + "ruetschelen.ch" + ] + }, + "flags": [] + }, + "341": { + "bfs": "341", + "name": "Schwarzhäusern", + "canton": "Kanton Bern", + "domain": "schwarzhaeusern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schwarzhaeusern.ch" + ], + "redirect": [], + "wikidata": [ + "schwarzhaeusern.ch" + ], + "guess": [ + "schwarzhaeusern.ch" + ] + }, + "flags": [] + }, + "342": { + "bfs": "342", + "name": "Thunstetten", + "canton": "Kanton Bern", + "domain": "thunstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thunstetten.ch" + ], + "redirect": [], + "wikidata": [ + "thunstetten.ch" + ], + "guess": [ + "thunstetten.ch" + ] + }, + "flags": [] + }, + "344": { + "bfs": "344", + "name": "Ursenbach", + "canton": "Kanton Bern", + "domain": "ursenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ursenbach.ch" + ], + "redirect": [], + "wikidata": [ + "ursenbach.ch" + ], + "guess": [ + "ursenbach.ch" + ] + }, + "flags": [] + }, + "345": { + "bfs": "345", + "name": "Wynau", + "canton": "Kanton Bern", + "domain": "wynau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wynau.ch" + ], + "redirect": [], + "wikidata": [ + "wynau.ch" + ], + "guess": [ + "wynau.ch" + ] + }, + "flags": [] + }, + "351": { + "bfs": "351", + "name": "Bern", + "canton": "Kanton Bern", + "domain": "bern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bern.ch" + ], + "redirect": [], + "wikidata": [ + "bern.ch" + ], + "guess": [ + "bern.ch", + "stadt-bern.ch" + ] + }, + "flags": [] + }, + "352": { + "bfs": "352", + "name": "Bolligen", + "canton": "Kanton Bern", + "domain": "bolligen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bolligen.ch" + ], + "guess": [ + "bolligen.ch" + ] + }, + "flags": [] + }, + "353": { + "bfs": "353", + "name": "Bremgarten bei Bern", + "canton": "Kanton Bern", + "domain": "3047.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "3047.ch" + ], + "redirect": [], + "wikidata": [ + "3047.ch" + ], + "guess": [] + }, + "flags": [ + "website_mismatch" + ] + }, + "354": { + "bfs": "354", + "name": "Kirchlindach", + "canton": "Kanton Bern", + "domain": "kirchlindach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kirchlindach.ch" + ], + "redirect": [], + "wikidata": [ + "kirchlindach.ch" + ], + "guess": [ + "kirchlindach.ch" + ] + }, + "flags": [] + }, + "355": { + "bfs": "355", + "name": "Köniz", + "canton": "Kanton Bern", + "domain": "koeniz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "koeniz.ch" + ], + "guess": [ + "koeniz.ch" + ] + }, + "flags": [] + }, + "356": { + "bfs": "356", + "name": "Muri bei Bern", + "canton": "Kanton Bern", + "domain": "muri-guemligen.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muri-guemligen.ch" + ], + "guess": [] + }, + "flags": [] + }, + "357": { + "bfs": "357", + "name": "Oberbalm", + "canton": "Kanton Bern", + "domain": "oberbalm.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberbalm.ch" + ], + "redirect": [], + "wikidata": [ + "oberbalm.ch" + ], + "guess": [ + "oberbalm.ch" + ] + }, + "flags": [] + }, + "358": { + "bfs": "358", + "name": "Stettlen", + "canton": "Kanton Bern", + "domain": "stettlen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stettlen.ch" + ], + "redirect": [], + "wikidata": [ + "stettlen.ch" + ], + "guess": [ + "stettlen.ch" + ] + }, + "flags": [] + }, + "359": { + "bfs": "359", + "name": "Vechigen", + "canton": "Kanton Bern", + "domain": "vechigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vechigen.ch" + ], + "guess": [ + "vechigen.ch" + ] + }, + "flags": [] + }, + "360": { + "bfs": "360", + "name": "Wohlen bei Bern", + "canton": "Kanton Bern", + "domain": "wohlen-be.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wohlen-be.ch" + ], + "guess": [] + }, + "flags": [] + }, + "361": { + "bfs": "361", + "name": "Zollikofen", + "canton": "Kanton Bern", + "domain": "zollikofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zollikofen.ch" + ], + "redirect": [], + "wikidata": [ + "zollikofen.ch" + ], + "guess": [ + "zollikofen.ch" + ] + }, + "flags": [] + }, + "362": { + "bfs": "362", + "name": "Ittigen", + "canton": "Kanton Bern", + "domain": "ittigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ittigen.ch" + ], + "redirect": [], + "wikidata": [ + "ittigen.ch" + ], + "guess": [ + "ittigen.ch" + ] + }, + "flags": [] + }, + "363": { + "bfs": "363", + "name": "Ostermundigen", + "canton": "Kanton Bern", + "domain": "ostermundigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ostermundigen.ch" + ], + "guess": [ + "ostermundigen.ch" + ] + }, + "flags": [] + }, + "371": { + "bfs": "371", + "name": "Biel/Bienne", + "canton": "Kanton Bern", + "domain": "biel-bienne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "biel-bienne.ch" + ], + "redirect": [], + "wikidata": [ + "biel-bienne.ch" + ], + "guess": [ + "biel-bienne.ch", + "bielbienne.ch", + "bienne.ch", + "stadt-biel.ch" + ] + }, + "flags": [] + }, + "372": { + "bfs": "372", + "name": "Evilard", + "canton": "Kanton Bern", + "domain": "evilard.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "evilard.ch" + ], + "guess": [ + "evilard.ch" + ] + }, + "flags": [] + }, + "381": { + "bfs": "381", + "name": "Arch", + "canton": "Kanton Bern", + "domain": "arch-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arch-be.ch" + ], + "redirect": [], + "wikidata": [ + "arch-be.ch" + ], + "guess": [ + "arch.ch" + ] + }, + "flags": [] + }, + "382": { + "bfs": "382", + "name": "Büetigen", + "canton": "Kanton Bern", + "domain": "bueetigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bueetigen.ch" + ], + "redirect": [], + "wikidata": [ + "bueetigen.ch" + ], + "guess": [ + "bueetigen.ch" + ] + }, + "flags": [] + }, + "383": { + "bfs": "383", + "name": "Büren an der Aare", + "canton": "Kanton Bern", + "domain": "bueren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "be.ch", + "bueren.ch" + ], + "redirect": [], + "wikidata": [ + "bueren.ch" + ], + "guess": [] + }, + "flags": [] + }, + "385": { + "bfs": "385", + "name": "Diessbach bei Büren", + "canton": "Kanton Bern", + "domain": "diessbach.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "diessbach.ch" + ], + "guess": [] + }, + "flags": [] + }, + "386": { + "bfs": "386", + "name": "Dotzigen", + "canton": "Kanton Bern", + "domain": "dotzigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dotzigen.ch" + ], + "redirect": [], + "wikidata": [ + "dotzigen.ch" + ], + "guess": [ + "dotzigen.ch" + ] + }, + "flags": [] + }, + "387": { + "bfs": "387", + "name": "Lengnau (BE)", + "canton": "Kanton Bern", + "domain": "lengnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lengnau.ch" + ], + "redirect": [], + "wikidata": [ + "lengnau.ch" + ], + "guess": [ + "lengnau.ch" + ] + }, + "flags": [] + }, + "388": { + "bfs": "388", + "name": "Leuzigen", + "canton": "Kanton Bern", + "domain": "leuzigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leuzigen.ch" + ], + "redirect": [], + "wikidata": [ + "leuzigen.ch" + ], + "guess": [ + "leuzigen.ch" + ] + }, + "flags": [] + }, + "389": { + "bfs": "389", + "name": "Meienried", + "canton": "Kanton Bern", + "domain": "meienried.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meienried.ch" + ], + "redirect": [], + "wikidata": [ + "meienried.ch" + ], + "guess": [ + "meienried.ch" + ] + }, + "flags": [] + }, + "390": { + "bfs": "390", + "name": "Meinisberg", + "canton": "Kanton Bern", + "domain": "meinisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meinisberg.ch" + ], + "redirect": [], + "wikidata": [ + "meinisberg.ch" + ], + "guess": [ + "meinisberg.ch" + ] + }, + "flags": [] + }, + "391": { + "bfs": "391", + "name": "Oberwil bei Büren", + "canton": "Kanton Bern", + "domain": "oberwil-bueren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberwil-bueren.ch" + ], + "redirect": [], + "wikidata": [ + "oberwil-bueren.ch" + ], + "guess": [] + }, + "flags": [] + }, + "392": { + "bfs": "392", + "name": "Pieterlen", + "canton": "Kanton Bern", + "domain": "pieterlen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pieterlen.ch" + ], + "redirect": [], + "wikidata": [ + "pieterlen.ch" + ], + "guess": [ + "pieterlen.ch" + ] + }, + "flags": [] + }, + "393": { + "bfs": "393", + "name": "Rüti bei Büren", + "canton": "Kanton Bern", + "domain": "ruetibeibueren.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ruetibeibueren.ch" + ], + "guess": [ + "ruetibeibueren.ch" + ] + }, + "flags": [] + }, + "394": { + "bfs": "394", + "name": "Wengi", + "canton": "Kanton Bern", + "domain": "wengi-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wengi-be.ch" + ], + "redirect": [], + "wikidata": [ + "wengi-be.ch" + ], + "guess": [ + "wengi.ch" + ] + }, + "flags": [] + }, + "401": { + "bfs": "401", + "name": "Aefligen", + "canton": "Kanton Bern", + "domain": "aefligen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aefligen.ch" + ], + "redirect": [], + "wikidata": [ + "aefligen.ch" + ], + "guess": [ + "aefligen.ch" + ] + }, + "flags": [] + }, + "402": { + "bfs": "402", + "name": "Alchenstorf", + "canton": "Kanton Bern", + "domain": "alchenstorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "alchenstorf.ch" + ], + "redirect": [], + "wikidata": [ + "alchenstorf.ch" + ], + "guess": [ + "alchenstorf.ch" + ] + }, + "flags": [] + }, + "403": { + "bfs": "403", + "name": "Bäriswil", + "canton": "Kanton Bern", + "domain": "baeriswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "baeriswil.ch" + ], + "guess": [ + "baeriswil.ch" + ] + }, + "flags": [] + }, + "404": { + "bfs": "404", + "name": "Burgdorf", + "canton": "Kanton Bern", + "domain": "burgdorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "burgdorf.ch" + ], + "guess": [ + "burgdorf.ch" + ] + }, + "flags": [] + }, + "405": { + "bfs": "405", + "name": "Ersigen", + "canton": "Kanton Bern", + "domain": "ersigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ersigen.ch" + ], + "redirect": [], + "wikidata": [ + "ersigen.ch" + ], + "guess": [ + "ersigen.ch" + ] + }, + "flags": [] + }, + "406": { + "bfs": "406", + "name": "Hasle bei Burgdorf", + "canton": "Kanton Bern", + "domain": "hasle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hasle.ch" + ], + "redirect": [], + "wikidata": [ + "hasle.ch" + ], + "guess": [] + }, + "flags": [] + }, + "407": { + "bfs": "407", + "name": "Heimiswil", + "canton": "Kanton Bern", + "domain": "heimiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "heimiswil.ch" + ], + "redirect": [], + "wikidata": [ + "heimiswil.ch" + ], + "guess": [ + "heimiswil.ch" + ] + }, + "flags": [] + }, + "408": { + "bfs": "408", + "name": "Hellsau", + "canton": "Kanton Bern", + "domain": "hellsau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hellsau.ch" + ], + "redirect": [], + "wikidata": [ + "hellsau.ch" + ], + "guess": [ + "hellsau.ch" + ] + }, + "flags": [] + }, + "409": { + "bfs": "409", + "name": "Hindelbank", + "canton": "Kanton Bern", + "domain": "hindelbank.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hindelbank.ch" + ], + "redirect": [], + "wikidata": [ + "hindelbank.ch" + ], + "guess": [ + "hindelbank.ch" + ] + }, + "flags": [] + }, + "410": { + "bfs": "410", + "name": "Höchstetten", + "canton": "Kanton Bern", + "domain": "hoechstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hoechstetten.ch" + ], + "redirect": [], + "wikidata": [ + "hoechstetten.ch" + ], + "guess": [ + "hoechstetten.ch" + ] + }, + "flags": [] + }, + "411": { + "bfs": "411", + "name": "Kernenried", + "canton": "Kanton Bern", + "domain": "kernenried.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kernenried.ch" + ], + "redirect": [], + "wikidata": [ + "kernenried.ch" + ], + "guess": [ + "kernenried.ch" + ] + }, + "flags": [] + }, + "412": { + "bfs": "412", + "name": "Kirchberg (BE)", + "canton": "Kanton Bern", + "domain": "kirchberg-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kirchberg-be.ch" + ], + "redirect": [], + "wikidata": [ + "kirchberg-be.ch" + ], + "guess": [ + "kirchberg.ch" + ] + }, + "flags": [] + }, + "413": { + "bfs": "413", + "name": "Koppigen", + "canton": "Kanton Bern", + "domain": "koppigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "koppigen.ch" + ], + "redirect": [], + "wikidata": [ + "koppigen.ch" + ], + "guess": [ + "koppigen.ch" + ] + }, + "flags": [] + }, + "414": { + "bfs": "414", + "name": "Krauchthal", + "canton": "Kanton Bern", + "domain": "krauchthal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "krauchthal.ch" + ], + "guess": [ + "krauchthal.ch" + ] + }, + "flags": [] + }, + "415": { + "bfs": "415", + "name": "Lyssach", + "canton": "Kanton Bern", + "domain": "lyssach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lyssach.ch" + ], + "redirect": [], + "wikidata": [ + "lyssach.ch" + ], + "guess": [ + "gemeinde-lyssach.ch", + "lyssach.ch" + ] + }, + "flags": [] + }, + "418": { + "bfs": "418", + "name": "Oberburg", + "canton": "Kanton Bern", + "domain": "oberburg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oberburg.ch" + ], + "guess": [ + "oberburg.ch" + ] + }, + "flags": [] + }, + "420": { + "bfs": "420", + "name": "Rüdtligen-Alchenflüh", + "canton": "Kanton Bern", + "domain": "rual.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "rual.ch" + ] + }, + "flags": [] + }, + "421": { + "bfs": "421", + "name": "Rumendingen", + "canton": "Kanton Bern", + "domain": "wynigen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "wynigen.ch" + ] + }, + "flags": [] + }, + "422": { + "bfs": "422", + "name": "Rüti bei Lyssach", + "canton": "Kanton Bern", + "domain": "ruetibeilyssach.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ruetibeilyssach.ch" + ] + }, + "flags": [] + }, + "423": { + "bfs": "423", + "name": "Willadingen", + "canton": "Kanton Bern", + "domain": "koppigen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "koppigen.ch" + ] + }, + "flags": [] + }, + "424": { + "bfs": "424", + "name": "Wynigen", + "canton": "Kanton Bern", + "domain": "wynigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wynigen.ch" + ], + "redirect": [], + "wikidata": [ + "wynigen.ch" + ], + "guess": [ + "wynigen.ch" + ] + }, + "flags": [] + }, + "431": { + "bfs": "431", + "name": "Corgémont", + "canton": "Kanton Bern", + "domain": "corgemont.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "corgemont.ch" + ], + "guess": [ + "corgemont.ch" + ] + }, + "flags": [] + }, + "432": { + "bfs": "432", + "name": "Cormoret", + "canton": "Kanton Bern", + "domain": "cormoret.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "cormoret.ch" + ], + "guess": [ + "cormoret.ch" + ] + }, + "flags": [] + }, + "433": { + "bfs": "433", + "name": "Cortébert", + "canton": "Kanton Bern", + "domain": "cortebert.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cortebert.ch" + ], + "redirect": [], + "wikidata": [ + "cortebert.ch" + ], + "guess": [ + "cortebert.ch" + ] + }, + "flags": [] + }, + "434": { + "bfs": "434", + "name": "Courtelary", + "canton": "Kanton Bern", + "domain": "courtelary.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "courtelary.ch" + ], + "redirect": [], + "wikidata": [ + "courtelary.ch" + ], + "guess": [ + "courtelary.ch" + ] + }, + "flags": [] + }, + "435": { + "bfs": "435", + "name": "La Ferrière", + "canton": "Kanton Bern", + "domain": "laferriere.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laferriere.ch" + ], + "redirect": [], + "wikidata": [ + "laferriere.ch" + ], + "guess": [ + "laferriere.ch" + ] + }, + "flags": [] + }, + "437": { + "bfs": "437", + "name": "Mont-Tramelan", + "canton": "Kanton Bern", + "domain": "mont-tramelan.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mont-tramelan.ch" + ], + "redirect": [], + "wikidata": [ + "mont-tramelan.ch" + ], + "guess": [ + "mont-tramelan.ch" + ] + }, + "flags": [] + }, + "438": { + "bfs": "438", + "name": "Orvin", + "canton": "Kanton Bern", + "domain": "orvin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "orvin.ch" + ], + "redirect": [], + "wikidata": [ + "orvin.ch" + ], + "guess": [ + "orvin.ch" + ] + }, + "flags": [] + }, + "441": { + "bfs": "441", + "name": "Renan (BE)", + "canton": "Kanton Bern", + "domain": "renan.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "renan.ch" + ], + "redirect": [], + "wikidata": [ + "renan.ch" + ], + "guess": [ + "renan.ch" + ] + }, + "flags": [] + }, + "442": { + "bfs": "442", + "name": "Romont (BE)", + "canton": "Kanton Bern", + "domain": "romont-jb.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "romont-jb.ch" + ], + "redirect": [], + "wikidata": [ + "romont-jb.ch" + ], + "guess": [ + "romont.ch" + ] + }, + "flags": [] + }, + "443": { + "bfs": "443", + "name": "Saint-Imier", + "canton": "Kanton Bern", + "domain": "saint-imier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saint-imier.ch" + ], + "redirect": [], + "wikidata": [ + "saint-imier.ch" + ], + "guess": [ + "saint-imier.ch" + ] + }, + "flags": [] + }, + "444": { + "bfs": "444", + "name": "Sonceboz-Sombeval", + "canton": "Kanton Bern", + "domain": "sonceboz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sonceboz.ch" + ], + "redirect": [], + "wikidata": [ + "sonceboz.ch" + ], + "guess": [ + "sonceboz-sombeval.ch" + ] + }, + "flags": [] + }, + "445": { + "bfs": "445", + "name": "Sonvilier", + "canton": "Kanton Bern", + "domain": "sonvilier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sonvilier.ch" + ], + "guess": [ + "sonvilier.ch" + ] + }, + "flags": [] + }, + "446": { + "bfs": "446", + "name": "Tramelan", + "canton": "Kanton Bern", + "domain": "tramelan.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tramelan.ch" + ], + "redirect": [], + "wikidata": [ + "tramelan.ch" + ], + "guess": [ + "tramelan.ch" + ] + }, + "flags": [] + }, + "448": { + "bfs": "448", + "name": "Villeret", + "canton": "Kanton Bern", + "domain": "villeret.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "villeret.ch" + ], + "guess": [ + "villeret.ch" + ] + }, + "flags": [] + }, + "449": { + "bfs": "449", + "name": "Sauge", + "canton": "Kanton Bern", + "domain": "sauge-jb.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sauge-jb.ch" + ], + "redirect": [], + "wikidata": [ + "sauge-jb.ch" + ], + "guess": [ + "sauge.ch" + ] + }, + "flags": [] + }, + "450": { + "bfs": "450", + "name": "Péry-La Heutte", + "canton": "Kanton Bern", + "domain": "pery-laheutte.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pery-laheutte.ch" + ], + "redirect": [], + "wikidata": [ + "pery-laheutte.ch" + ], + "guess": [] + }, + "flags": [] + }, + "491": { + "bfs": "491", + "name": "Brüttelen", + "canton": "Kanton Bern", + "domain": "bruettelen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bruettelen.ch" + ], + "redirect": [], + "wikidata": [ + "bruettelen.ch" + ], + "guess": [ + "bruettelen.ch" + ] + }, + "flags": [] + }, + "492": { + "bfs": "492", + "name": "Erlach", + "canton": "Kanton Bern", + "domain": "erlach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "erlach.ch" + ], + "guess": [ + "erlach.ch" + ] + }, + "flags": [] + }, + "493": { + "bfs": "493", + "name": "Finsterhennen", + "canton": "Kanton Bern", + "domain": "finsterhennen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "finsterhennen.ch" + ], + "redirect": [], + "wikidata": [ + "finsterhennen.ch" + ], + "guess": [ + "finsterhennen.ch" + ] + }, + "flags": [] + }, + "494": { + "bfs": "494", + "name": "Gals", + "canton": "Kanton Bern", + "domain": "gals.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gals.ch" + ], + "redirect": [], + "wikidata": [ + "gals.ch" + ], + "guess": [ + "gals.ch" + ] + }, + "flags": [] + }, + "495": { + "bfs": "495", + "name": "Gampelen", + "canton": "Kanton Bern", + "domain": "gampelen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gampelen.ch" + ], + "guess": [ + "gampelen.ch" + ] + }, + "flags": [] + }, + "496": { + "bfs": "496", + "name": "Ins", + "canton": "Kanton Bern", + "domain": "ins.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ins.ch" + ], + "guess": [ + "ins.ch" + ] + }, + "flags": [] + }, + "497": { + "bfs": "497", + "name": "Lüscherz", + "canton": "Kanton Bern", + "domain": "luescherz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luescherz.ch" + ], + "redirect": [], + "wikidata": [ + "luescherz.ch" + ], + "guess": [ + "luescherz.ch" + ] + }, + "flags": [] + }, + "498": { + "bfs": "498", + "name": "Müntschemier", + "canton": "Kanton Bern", + "domain": "muentschemier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muentschemier.ch" + ], + "guess": [ + "muentschemier.ch" + ] + }, + "flags": [] + }, + "499": { + "bfs": "499", + "name": "Siselen", + "canton": "Kanton Bern", + "domain": "siselen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "siselen.ch" + ], + "redirect": [], + "wikidata": [ + "siselen.ch" + ], + "guess": [ + "siselen.ch" + ] + }, + "flags": [] + }, + "500": { + "bfs": "500", + "name": "Treiten", + "canton": "Kanton Bern", + "domain": "treiten.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "treiten.ch" + ], + "guess": [ + "treiten.ch" + ] + }, + "flags": [] + }, + "501": { + "bfs": "501", + "name": "Tschugg", + "canton": "Kanton Bern", + "domain": "tschugg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tschugg.ch" + ], + "redirect": [], + "wikidata": [ + "tschugg.ch" + ], + "guess": [ + "tschugg.ch" + ] + }, + "flags": [] + }, + "502": { + "bfs": "502", + "name": "Vinelz", + "canton": "Kanton Bern", + "domain": "vinelz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vinelz.ch" + ], + "redirect": [], + "wikidata": [ + "vinelz.ch" + ], + "guess": [ + "vinelz.ch" + ] + }, + "flags": [] + }, + "533": { + "bfs": "533", + "name": "Bätterkinden", + "canton": "Kanton Bern", + "domain": "baetterkinden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "baetterkinden.ch" + ], + "redirect": [], + "wikidata": [ + "baetterkinden.ch" + ], + "guess": [ + "baetterkinden.ch" + ] + }, + "flags": [] + }, + "535": { + "bfs": "535", + "name": "Deisswil bei Münchenbuchsee", + "canton": "Kanton Bern", + "domain": "deisswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "deisswil.ch" + ], + "redirect": [], + "wikidata": [ + "deisswil.ch" + ], + "guess": [] + }, + "flags": [] + }, + "538": { + "bfs": "538", + "name": "Fraubrunnen", + "canton": "Kanton Bern", + "domain": "fraubrunnen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fraubrunnen.ch" + ], + "redirect": [], + "wikidata": [ + "fraubrunnen.ch" + ], + "guess": [ + "fraubrunnen.ch" + ] + }, + "flags": [] + }, + "540": { + "bfs": "540", + "name": "Jegenstorf", + "canton": "Kanton Bern", + "domain": "jegenstorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "jegenstorf.ch" + ], + "guess": [ + "jegenstorf.ch" + ] + }, + "flags": [] + }, + "541": { + "bfs": "541", + "name": "Iffwil", + "canton": "Kanton Bern", + "domain": "iffwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "iffwil.ch" + ], + "redirect": [], + "wikidata": [ + "iffwil.ch" + ], + "guess": [ + "iffwil.ch" + ] + }, + "flags": [] + }, + "543": { + "bfs": "543", + "name": "Mattstetten", + "canton": "Kanton Bern", + "domain": "mattstetten.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mattstetten.ch" + ], + "guess": [ + "mattstetten.ch" + ] + }, + "flags": [] + }, + "544": { + "bfs": "544", + "name": "Moosseedorf", + "canton": "Kanton Bern", + "domain": "moosseedorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "moosseedorf.ch" + ], + "guess": [ + "moosseedorf.ch" + ] + }, + "flags": [] + }, + "546": { + "bfs": "546", + "name": "Münchenbuchsee", + "canton": "Kanton Bern", + "domain": "muenchenbuchsee.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muenchenbuchsee.ch" + ], + "guess": [ + "muenchenbuchsee.ch" + ] + }, + "flags": [] + }, + "551": { + "bfs": "551", + "name": "Urtenen-Schönbühl", + "canton": "Kanton Bern", + "domain": "urtenen-schoenbuehl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "urtenen-schoenbuehl.ch" + ], + "redirect": [], + "wikidata": [ + "urtenen-schoenbuehl.ch" + ], + "guess": [ + "urtenen-schoenbuehl.ch" + ] + }, + "flags": [] + }, + "552": { + "bfs": "552", + "name": "Utzenstorf", + "canton": "Kanton Bern", + "domain": "utzenstorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "utzenstorf.ch" + ], + "redirect": [], + "wikidata": [ + "utzenstorf.ch" + ], + "guess": [ + "utzenstorf.ch" + ] + }, + "flags": [] + }, + "553": { + "bfs": "553", + "name": "Wiggiswil", + "canton": "Kanton Bern", + "domain": "wiggiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wiggiswil.ch" + ], + "redirect": [], + "wikidata": [ + "wiggiswil.ch" + ], + "guess": [ + "wiggiswil.ch" + ] + }, + "flags": [] + }, + "554": { + "bfs": "554", + "name": "Wiler bei Utzenstorf", + "canton": "Kanton Bern", + "domain": "wiler.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wiler.ch" + ], + "guess": [] + }, + "flags": [] + }, + "556": { + "bfs": "556", + "name": "Zielebach", + "canton": "Kanton Bern", + "domain": "zielebach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "zielebach.ch" + ], + "guess": [ + "zielebach.ch" + ] + }, + "flags": [] + }, + "557": { + "bfs": "557", + "name": "Zuzwil (BE)", + "canton": "Kanton Bern", + "domain": "zuzwil-be.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "zuzwil-be.ch" + ], + "guess": [ + "zuzwil.ch" + ] + }, + "flags": [] + }, + "561": { + "bfs": "561", + "name": "Adelboden", + "canton": "Kanton Bern", + "domain": "3715.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "3715.ch" + ], + "guess": [ + "adelboden.ch" + ] + }, + "flags": [ + "website_mismatch" + ] + }, + "562": { + "bfs": "562", + "name": "Aeschi bei Spiez", + "canton": "Kanton Bern", + "domain": "aeschi.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "aeschi.ch" + ], + "guess": [] + }, + "flags": [] + }, + "563": { + "bfs": "563", + "name": "Frutigen", + "canton": "Kanton Bern", + "domain": "frutigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "frutigen.ch" + ], + "guess": [ + "frutigen.ch" + ] + }, + "flags": [] + }, + "564": { + "bfs": "564", + "name": "Kandergrund", + "canton": "Kanton Bern", + "domain": "kandergrund.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kandergrund.ch" + ], + "redirect": [], + "wikidata": [ + "kandergrund.ch" + ], + "guess": [ + "kandergrund.ch" + ] + }, + "flags": [] + }, + "565": { + "bfs": "565", + "name": "Kandersteg", + "canton": "Kanton Bern", + "domain": "gemeindekandersteg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeindekandersteg.ch" + ], + "redirect": [], + "wikidata": [ + "gemeindekandersteg.ch" + ], + "guess": [ + "kandersteg.ch" + ] + }, + "flags": [] + }, + "566": { + "bfs": "566", + "name": "Krattigen", + "canton": "Kanton Bern", + "domain": "krattigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "krattigen.ch" + ], + "redirect": [], + "wikidata": [ + "krattigen.ch" + ], + "guess": [ + "krattigen.ch" + ] + }, + "flags": [] + }, + "567": { + "bfs": "567", + "name": "Reichenbach im Kandertal", + "canton": "Kanton Bern", + "domain": "reichenbach.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "reichenbach.ch" + ], + "guess": [] + }, + "flags": [] + }, + "571": { + "bfs": "571", + "name": "Beatenberg", + "canton": "Kanton Bern", + "domain": "beatenberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "beatenberg.ch" + ], + "guess": [ + "beatenberg.ch" + ] + }, + "flags": [] + }, + "572": { + "bfs": "572", + "name": "Bönigen", + "canton": "Kanton Bern", + "domain": "boenigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boenigen.ch" + ], + "redirect": [], + "wikidata": [ + "boenigen.ch" + ], + "guess": [ + "boenigen.ch" + ] + }, + "flags": [] + }, + "573": { + "bfs": "573", + "name": "Brienz (BE)", + "canton": "Kanton Bern", + "domain": "brienz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brienz.ch" + ], + "redirect": [], + "wikidata": [ + "brienz.ch" + ], + "guess": [ + "brienz.ch" + ] + }, + "flags": [] + }, + "574": { + "bfs": "574", + "name": "Brienzwiler", + "canton": "Kanton Bern", + "domain": "brienzwiler.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "brienzwiler.ch" + ], + "guess": [ + "brienzwiler.ch" + ] + }, + "flags": [] + }, + "575": { + "bfs": "575", + "name": "Därligen", + "canton": "Kanton Bern", + "domain": "daerligen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "daerligen.ch" + ], + "redirect": [], + "wikidata": [ + "daerligen.ch" + ], + "guess": [ + "daerligen.ch" + ] + }, + "flags": [] + }, + "576": { + "bfs": "576", + "name": "Grindelwald", + "canton": "Kanton Bern", + "domain": "gemeinde-grindelwald.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeinde-grindelwald.ch" + ] + }, + "flags": [] + }, + "577": { + "bfs": "577", + "name": "Gsteigwiler", + "canton": "Kanton Bern", + "domain": "gsteigwiler.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gsteigwiler.ch" + ], + "guess": [ + "gsteigwiler.ch" + ] + }, + "flags": [] + }, + "578": { + "bfs": "578", + "name": "Gündlischwand", + "canton": "Kanton Bern", + "domain": "guendlischwand.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "guendlischwand.ch" + ], + "guess": [ + "guendlischwand.ch" + ] + }, + "flags": [] + }, + "579": { + "bfs": "579", + "name": "Habkern", + "canton": "Kanton Bern", + "domain": "habkern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "habkern.ch" + ], + "redirect": [], + "wikidata": [ + "habkern.ch" + ], + "guess": [ + "habkern.ch" + ] + }, + "flags": [] + }, + "580": { + "bfs": "580", + "name": "Hofstetten bei Brienz", + "canton": "Kanton Bern", + "domain": "hofstetten-ballenberg.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "hofstetten-ballenberg.ch" + ], + "guess": [] + }, + "flags": [] + }, + "581": { + "bfs": "581", + "name": "Interlaken", + "canton": "Kanton Bern", + "domain": "interlaken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "interlaken.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "interlaken.ch", + "stadt-interlaken.ch" + ] + }, + "flags": [] + }, + "582": { + "bfs": "582", + "name": "Iseltwald", + "canton": "Kanton Bern", + "domain": "iseltwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "iseltwald.ch" + ], + "redirect": [], + "wikidata": [ + "iseltwald.ch" + ], + "guess": [ + "iseltwald.ch" + ] + }, + "flags": [] + }, + "584": { + "bfs": "584", + "name": "Lauterbrunnen", + "canton": "Kanton Bern", + "domain": "lauterbrunnen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lauterbrunnen.ch" + ], + "redirect": [], + "wikidata": [ + "lauterbrunnen.ch" + ], + "guess": [ + "lauterbrunnen.ch" + ] + }, + "flags": [] + }, + "585": { + "bfs": "585", + "name": "Leissigen", + "canton": "Kanton Bern", + "domain": "leissigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "leissigen.ch" + ], + "guess": [ + "leissigen.ch" + ] + }, + "flags": [] + }, + "586": { + "bfs": "586", + "name": "Lütschental", + "canton": "Kanton Bern", + "domain": "luetschental.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "luetschental.ch" + ], + "guess": [ + "luetschental.ch" + ] + }, + "flags": [] + }, + "587": { + "bfs": "587", + "name": "Matten bei Interlaken", + "canton": "Kanton Bern", + "domain": "matten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "matten.ch" + ], + "redirect": [], + "wikidata": [ + "matten.ch" + ], + "guess": [] + }, + "flags": [] + }, + "588": { + "bfs": "588", + "name": "Niederried bei Interlaken", + "canton": "Kanton Bern", + "domain": "niederried-be.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "niederried-be.ch" + ], + "guess": [] + }, + "flags": [] + }, + "589": { + "bfs": "589", + "name": "Oberried am Brienzersee", + "canton": "Kanton Bern", + "domain": "oberried.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberried.ch" + ], + "redirect": [], + "wikidata": [ + "oberried.ch" + ], + "guess": [] + }, + "flags": [] + }, + "590": { + "bfs": "590", + "name": "Ringgenberg (BE)", + "canton": "Kanton Bern", + "domain": "ringgenberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ringgenberg.ch" + ], + "redirect": [], + "wikidata": [ + "ringgenberg.ch" + ], + "guess": [ + "ringgenberg.ch" + ] + }, + "flags": [] + }, + "591": { + "bfs": "591", + "name": "Saxeten", + "canton": "Kanton Bern", + "domain": "saxeten.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saxeten.ch" + ], + "guess": [ + "saxeten.ch" + ] + }, + "flags": [] + }, + "592": { + "bfs": "592", + "name": "Schwanden bei Brienz", + "canton": "Kanton Bern", + "domain": "schwandenbrienz.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "schwandenbrienz.ch" + ], + "guess": [] + }, + "flags": [] + }, + "593": { + "bfs": "593", + "name": "Unterseen", + "canton": "Kanton Bern", + "domain": "unterseen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "unterseen.ch" + ], + "guess": [ + "unterseen.ch" + ] + }, + "flags": [] + }, + "594": { + "bfs": "594", + "name": "Wilderswil", + "canton": "Kanton Bern", + "domain": "wilderswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wilderswil.ch" + ], + "redirect": [], + "wikidata": [ + "wilderswil.ch" + ], + "guess": [ + "wilderswil.ch" + ] + }, + "flags": [] + }, + "602": { + "bfs": "602", + "name": "Arni (BE)", + "canton": "Kanton Bern", + "domain": "arnibe.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "arnibe.ch" + ], + "guess": [ + "arni.ch" + ] + }, + "flags": [] + }, + "603": { + "bfs": "603", + "name": "Biglen", + "canton": "Kanton Bern", + "domain": "biglen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "biglen.ch" + ], + "guess": [ + "biglen.ch" + ] + }, + "flags": [] + }, + "605": { + "bfs": "605", + "name": "Bowil", + "canton": "Kanton Bern", + "domain": "bowil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bowil.ch" + ], + "redirect": [], + "wikidata": [ + "bowil.ch" + ], + "guess": [ + "bowil.ch" + ] + }, + "flags": [] + }, + "606": { + "bfs": "606", + "name": "Brenzikofen", + "canton": "Kanton Bern", + "domain": "brenzikofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brenzikofen.ch" + ], + "redirect": [], + "wikidata": [ + "brenzikofen.ch" + ], + "guess": [ + "brenzikofen.ch" + ] + }, + "flags": [] + }, + "607": { + "bfs": "607", + "name": "Freimettigen", + "canton": "Kanton Bern", + "domain": "freimettigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "freimettigen.ch" + ], + "redirect": [], + "wikidata": [ + "freimettigen.ch" + ], + "guess": [ + "freimettigen.ch" + ] + }, + "flags": [] + }, + "608": { + "bfs": "608", + "name": "Grosshöchstetten", + "canton": "Kanton Bern", + "domain": "grosshoechstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grosshoechstetten.ch" + ], + "redirect": [], + "wikidata": [ + "grosshoechstetten.ch" + ], + "guess": [ + "grosshoechstetten.ch" + ] + }, + "flags": [] + }, + "609": { + "bfs": "609", + "name": "Häutligen", + "canton": "Kanton Bern", + "domain": "haeutligen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haeutligen.ch" + ], + "redirect": [], + "wikidata": [ + "haeutligen.ch" + ], + "guess": [ + "haeutligen.ch" + ] + }, + "flags": [] + }, + "610": { + "bfs": "610", + "name": "Herbligen", + "canton": "Kanton Bern", + "domain": "herbligen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "herbligen.ch" + ], + "redirect": [], + "wikidata": [ + "herbligen.ch" + ], + "guess": [ + "herbligen.ch" + ] + }, + "flags": [] + }, + "611": { + "bfs": "611", + "name": "Kiesen", + "canton": "Kanton Bern", + "domain": "kiesen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kiesen.ch", + "mehrdigital.ch" + ], + "redirect": [], + "wikidata": [ + "kiesen.ch" + ], + "guess": [ + "kiesen.ch" + ] + }, + "flags": [] + }, + "612": { + "bfs": "612", + "name": "Konolfingen", + "canton": "Kanton Bern", + "domain": "konolfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "konolfingen.ch" + ], + "redirect": [], + "wikidata": [ + "konolfingen.ch" + ], + "guess": [ + "konolfingen.ch" + ] + }, + "flags": [] + }, + "613": { + "bfs": "613", + "name": "Landiswil", + "canton": "Kanton Bern", + "domain": "landiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "landiswil.ch" + ], + "redirect": [], + "wikidata": [ + "landiswil.ch" + ], + "guess": [ + "landiswil.ch" + ] + }, + "flags": [] + }, + "614": { + "bfs": "614", + "name": "Linden", + "canton": "Kanton Bern", + "domain": "linden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "linden.ch" + ], + "redirect": [], + "wikidata": [ + "linden.ch" + ], + "guess": [ + "linden.ch" + ] + }, + "flags": [] + }, + "615": { + "bfs": "615", + "name": "Mirchel", + "canton": "Kanton Bern", + "domain": "mirchel.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mirchel.ch" + ], + "guess": [ + "mirchel.ch" + ] + }, + "flags": [] + }, + "616": { + "bfs": "616", + "name": "Münsingen", + "canton": "Kanton Bern", + "domain": "muensingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muensingen.ch" + ], + "redirect": [], + "wikidata": [ + "muensingen.ch" + ], + "guess": [ + "muensingen.ch" + ] + }, + "flags": [] + }, + "617": { + "bfs": "617", + "name": "Niederhünigen", + "canton": "Kanton Bern", + "domain": "niederhuenigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederhuenigen.ch" + ], + "redirect": [], + "wikidata": [ + "niederhuenigen.ch" + ], + "guess": [ + "niederhuenigen.ch" + ] + }, + "flags": [] + }, + "619": { + "bfs": "619", + "name": "Oberdiessbach", + "canton": "Kanton Bern", + "domain": "oberdiessbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberdiessbach.ch" + ], + "redirect": [], + "wikidata": [ + "oberdiessbach.ch" + ], + "guess": [ + "oberdiessbach.ch" + ] + }, + "flags": [] + }, + "620": { + "bfs": "620", + "name": "Oberthal", + "canton": "Kanton Bern", + "domain": "oberthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberthal.ch" + ], + "redirect": [], + "wikidata": [ + "oberthal.ch" + ], + "guess": [ + "oberthal.ch" + ] + }, + "flags": [] + }, + "622": { + "bfs": "622", + "name": "Oppligen", + "canton": "Kanton Bern", + "domain": "oppligen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oppligen.ch" + ], + "guess": [ + "oppligen.ch" + ] + }, + "flags": [] + }, + "623": { + "bfs": "623", + "name": "Rubigen", + "canton": "Kanton Bern", + "domain": "rubigen.swiss", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "rubigen.swiss" + ] + }, + "flags": [] + }, + "626": { + "bfs": "626", + "name": "Walkringen", + "canton": "Kanton Bern", + "domain": "walkringen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walkringen.ch" + ], + "redirect": [], + "wikidata": [ + "walkringen.ch" + ], + "guess": [ + "walkringen.ch" + ] + }, + "flags": [] + }, + "627": { + "bfs": "627", + "name": "Worb", + "canton": "Kanton Bern", + "domain": "worb.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "worb.ch" + ], + "redirect": [], + "wikidata": [ + "worb.ch" + ], + "guess": [ + "worb.ch" + ] + }, + "flags": [] + }, + "628": { + "bfs": "628", + "name": "Zäziwil", + "canton": "Kanton Bern", + "domain": "zaeziwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "zaeziwil.ch" + ], + "guess": [ + "zaeziwil.ch" + ] + }, + "flags": [] + }, + "629": { + "bfs": "629", + "name": "Oberhünigen", + "canton": "Kanton Bern", + "domain": "oberhuenigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oberhuenigen.ch" + ], + "guess": [ + "oberhuenigen.ch" + ] + }, + "flags": [] + }, + "630": { + "bfs": "630", + "name": "Allmendingen", + "canton": "Kanton Bern", + "domain": "allmendingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "allmendingen.ch" + ], + "guess": [ + "allmendingen.ch" + ] + }, + "flags": [] + }, + "632": { + "bfs": "632", + "name": "Wichtrach", + "canton": "Kanton Bern", + "domain": "wichtrach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wichtrach.ch" + ], + "guess": [ + "wichtrach.ch" + ] + }, + "flags": [] + }, + "662": { + "bfs": "662", + "name": "Ferenbalm", + "canton": "Kanton Bern", + "domain": "ferenbalm.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ferenbalm.ch" + ], + "redirect": [], + "wikidata": [ + "ferenbalm.ch" + ], + "guess": [ + "ferenbalm.ch" + ] + }, + "flags": [] + }, + "663": { + "bfs": "663", + "name": "Frauenkappelen", + "canton": "Kanton Bern", + "domain": "frauenkappelen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "frauenkappelen.ch" + ], + "guess": [ + "frauenkappelen.ch" + ] + }, + "flags": [] + }, + "665": { + "bfs": "665", + "name": "Gurbrü", + "canton": "Kanton Bern", + "domain": "gurbrue.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gurbrue.ch" + ], + "redirect": [], + "wikidata": [ + "gurbrue.ch" + ], + "guess": [ + "gurbrue.ch" + ] + }, + "flags": [] + }, + "666": { + "bfs": "666", + "name": "Kriechenwil", + "canton": "Kanton Bern", + "domain": "kriechenwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kriechenwil.ch" + ], + "redirect": [], + "wikidata": [ + "kriechenwil.ch" + ], + "guess": [ + "kriechenwil.ch" + ] + }, + "flags": [] + }, + "667": { + "bfs": "667", + "name": "Laupen", + "canton": "Kanton Bern", + "domain": "laupen-be.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "laupen-be.ch" + ] + }, + "flags": [] + }, + "668": { + "bfs": "668", + "name": "Mühleberg", + "canton": "Kanton Bern", + "domain": "muehleberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muehleberg.ch" + ], + "guess": [ + "muehleberg.ch" + ] + }, + "flags": [] + }, + "669": { + "bfs": "669", + "name": "Münchenwiler", + "canton": "Kanton Bern", + "domain": "muenchenwiler.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muenchenwiler.ch" + ], + "redirect": [], + "wikidata": [ + "muenchenwiler.ch" + ], + "guess": [ + "muenchenwiler.ch" + ] + }, + "flags": [] + }, + "670": { + "bfs": "670", + "name": "Neuenegg", + "canton": "Kanton Bern", + "domain": "neuenegg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "neuenegg.ch" + ], + "guess": [ + "neuenegg.ch" + ] + }, + "flags": [] + }, + "671": { + "bfs": "671", + "name": "Wileroltigen", + "canton": "Kanton Bern", + "domain": "wileroltigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wileroltigen.ch" + ], + "redirect": [], + "wikidata": [ + "wileroltigen.ch" + ], + "guess": [ + "wileroltigen.ch" + ] + }, + "flags": [] + }, + "681": { + "bfs": "681", + "name": "Belprahon", + "canton": "Kanton Bern", + "domain": "belprahon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "belprahon.ch" + ], + "redirect": [], + "wikidata": [ + "belprahon.ch" + ], + "guess": [ + "belprahon.ch" + ] + }, + "flags": [] + }, + "683": { + "bfs": "683", + "name": "Champoz", + "canton": "Kanton Bern", + "domain": "champoz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "champoz.ch" + ], + "redirect": [], + "wikidata": [ + "champoz.ch" + ], + "guess": [ + "champoz.ch" + ] + }, + "flags": [] + }, + "687": { + "bfs": "687", + "name": "Corcelles (BE)", + "canton": "Kanton Bern", + "domain": "corcelles-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corcelles-be.ch" + ], + "redirect": [], + "wikidata": [ + "corcelles-be.ch" + ], + "guess": [ + "corcelles.ch" + ] + }, + "flags": [] + }, + "690": { + "bfs": "690", + "name": "Court", + "canton": "Kanton Bern", + "domain": "court.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "court.ch" + ], + "redirect": [], + "wikidata": [ + "court.ch" + ], + "guess": [ + "court.ch" + ] + }, + "flags": [] + }, + "691": { + "bfs": "691", + "name": "Crémines", + "canton": "Kanton Bern", + "domain": "cremines.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "cremines.ch" + ], + "guess": [ + "cremines.ch" + ] + }, + "flags": [] + }, + "692": { + "bfs": "692", + "name": "Eschert", + "canton": "Kanton Bern", + "domain": "eschert.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eschert.ch" + ], + "guess": [ + "eschert.ch" + ] + }, + "flags": [] + }, + "694": { + "bfs": "694", + "name": "Grandval", + "canton": "Kanton Bern", + "domain": "grandval.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grandval.ch" + ], + "redirect": [], + "wikidata": [ + "grandval.ch" + ], + "guess": [ + "grandval.ch" + ] + }, + "flags": [] + }, + "696": { + "bfs": "696", + "name": "Loveresse", + "canton": "Kanton Bern", + "domain": "loveresse.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jb-b.ch", + "loveresse.ch" + ], + "redirect": [], + "wikidata": [ + "loveresse.ch" + ], + "guess": [ + "loveresse.ch" + ] + }, + "flags": [] + }, + "701": { + "bfs": "701", + "name": "Perrefitte", + "canton": "Kanton Bern", + "domain": "perrefitte.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "perrefitte.ch" + ], + "redirect": [], + "wikidata": [ + "perrefitte.ch" + ], + "guess": [ + "perrefitte.ch" + ] + }, + "flags": [] + }, + "703": { + "bfs": "703", + "name": "Reconvilier", + "canton": "Kanton Bern", + "domain": "reconvilier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reconvilier.ch" + ], + "redirect": [], + "wikidata": [ + "reconvilier.ch" + ], + "guess": [ + "reconvilier.ch" + ] + }, + "flags": [] + }, + "704": { + "bfs": "704", + "name": "Roches (BE)", + "canton": "Kanton Bern", + "domain": "roches.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roches.ch" + ], + "redirect": [], + "wikidata": [ + "roches.ch" + ], + "guess": [ + "roches.ch" + ] + }, + "flags": [] + }, + "706": { + "bfs": "706", + "name": "Saicourt", + "canton": "Kanton Bern", + "domain": "saicourt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saicourt.ch" + ], + "redirect": [], + "wikidata": [ + "saicourt.ch" + ], + "guess": [ + "saicourt.ch" + ] + }, + "flags": [] + }, + "707": { + "bfs": "707", + "name": "Saules (BE)", + "canton": "Kanton Bern", + "domain": "saules-be.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saules-be.ch" + ], + "guess": [] + }, + "flags": [] + }, + "708": { + "bfs": "708", + "name": "Schelten", + "canton": "Kanton Bern", + "domain": "gemeinde-schelten.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeinde-schelten.ch" + ] + }, + "flags": [] + }, + "709": { + "bfs": "709", + "name": "Seehof", + "canton": "Kanton Bern", + "domain": "gemeindeseehof.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeindeseehof.ch" + ] + }, + "flags": [] + }, + "711": { + "bfs": "711", + "name": "Sorvilier", + "canton": "Kanton Bern", + "domain": "sorvilier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sorvilier.ch" + ], + "redirect": [], + "wikidata": [ + "sorvilier.ch" + ], + "guess": [ + "sorvilier.ch" + ] + }, + "flags": [] + }, + "713": { + "bfs": "713", + "name": "Tavannes", + "canton": "Kanton Bern", + "domain": "tavannes.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tavannes.ch" + ], + "redirect": [], + "wikidata": [ + "tavannes.ch" + ], + "guess": [ + "tavannes.ch" + ] + }, + "flags": [] + }, + "715": { + "bfs": "715", + "name": "Rebévelier", + "canton": "Kanton Bern", + "domain": "bluewin.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bluewin.ch" + ] + }, + "flags": [] + }, + "716": { + "bfs": "716", + "name": "Petit-Val", + "canton": "Kanton Bern", + "domain": "petit-val.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "petit-val.ch" + ], + "redirect": [], + "wikidata": [ + "petit-val.ch" + ], + "guess": [ + "petit-val.ch", + "petitval.ch" + ] + }, + "flags": [] + }, + "717": { + "bfs": "717", + "name": "Valbirse", + "canton": "Kanton Bern", + "domain": "valbirse.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "valbirse.ch" + ], + "guess": [ + "valbirse.ch" + ] + }, + "flags": [] + }, + "723": { + "bfs": "723", + "name": "La Neuveville", + "canton": "Kanton Bern", + "domain": "neuveville.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "neuveville.ch" + ] + }, + "flags": [] + }, + "724": { + "bfs": "724", + "name": "Nods", + "canton": "Kanton Bern", + "domain": "nods.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nods.ch" + ], + "redirect": [], + "wikidata": [ + "nods.ch" + ], + "guess": [ + "nods.ch" + ] + }, + "flags": [] + }, + "726": { + "bfs": "726", + "name": "Plateau de Diesse", + "canton": "Kanton Bern", + "domain": "leplateaudediesse.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "leplateaudediesse.ch" + ], + "guess": [ + "plateau-de-diesse.ch", + "plateaudediesse.ch" + ] + }, + "flags": [] + }, + "731": { + "bfs": "731", + "name": "Aegerten", + "canton": "Kanton Bern", + "domain": "aegerten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aegerten.ch" + ], + "redirect": [], + "wikidata": [ + "aegerten.ch" + ], + "guess": [ + "aegerten.ch" + ] + }, + "flags": [] + }, + "732": { + "bfs": "732", + "name": "Bellmund", + "canton": "Kanton Bern", + "domain": "bellmund.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bellmund.ch" + ], + "redirect": [], + "wikidata": [ + "bellmund.ch" + ], + "guess": [ + "bellmund.ch" + ] + }, + "flags": [] + }, + "733": { + "bfs": "733", + "name": "Brügg", + "canton": "Kanton Bern", + "domain": "bruegg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bruegg.ch" + ], + "guess": [ + "bruegg.ch" + ] + }, + "flags": [] + }, + "734": { + "bfs": "734", + "name": "Bühl", + "canton": "Kanton Bern", + "domain": "buehl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buehl.ch" + ], + "redirect": [], + "wikidata": [ + "buehl.ch" + ], + "guess": [ + "bhl.ch", + "buehl.ch" + ] + }, + "flags": [] + }, + "735": { + "bfs": "735", + "name": "Epsach", + "canton": "Kanton Bern", + "domain": "epsach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "epsach.ch" + ], + "redirect": [], + "wikidata": [ + "epsach.ch" + ], + "guess": [ + "epsach.ch" + ] + }, + "flags": [] + }, + "736": { + "bfs": "736", + "name": "Hagneck", + "canton": "Kanton Bern", + "domain": "hagneck.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hagneck.ch" + ], + "redirect": [], + "wikidata": [ + "hagneck.ch" + ], + "guess": [ + "hagneck.ch" + ] + }, + "flags": [] + }, + "737": { + "bfs": "737", + "name": "Hermrigen", + "canton": "Kanton Bern", + "domain": "hermrigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hermrigen.ch" + ], + "redirect": [], + "wikidata": [ + "hermrigen.ch" + ], + "guess": [ + "hermrigen.ch" + ] + }, + "flags": [] + }, + "738": { + "bfs": "738", + "name": "Jens", + "canton": "Kanton Bern", + "domain": "jens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jens.ch" + ], + "redirect": [], + "wikidata": [ + "jens.ch" + ], + "guess": [ + "jens.ch" + ] + }, + "flags": [] + }, + "739": { + "bfs": "739", + "name": "Ipsach", + "canton": "Kanton Bern", + "domain": "ipsach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ipsach.ch" + ], + "redirect": [], + "wikidata": [ + "ipsach.ch" + ], + "guess": [ + "ipsach.ch" + ] + }, + "flags": [] + }, + "740": { + "bfs": "740", + "name": "Ligerz", + "canton": "Kanton Bern", + "domain": "ligerz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ligerz.ch" + ], + "redirect": [], + "wikidata": [ + "ligerz.ch" + ], + "guess": [ + "ligerz.ch" + ] + }, + "flags": [] + }, + "741": { + "bfs": "741", + "name": "Merzligen", + "canton": "Kanton Bern", + "domain": "merzligen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "merzligen.ch" + ], + "redirect": [], + "wikidata": [ + "merzligen.ch" + ], + "guess": [ + "merzligen.ch" + ] + }, + "flags": [] + }, + "742": { + "bfs": "742", + "name": "Mörigen", + "canton": "Kanton Bern", + "domain": "moerigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "moerigen.ch" + ], + "guess": [ + "moerigen.ch" + ] + }, + "flags": [] + }, + "743": { + "bfs": "743", + "name": "Nidau", + "canton": "Kanton Bern", + "domain": "nidau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nidau.ch" + ], + "redirect": [], + "wikidata": [ + "nidau.ch" + ], + "guess": [ + "nidau.ch" + ] + }, + "flags": [] + }, + "744": { + "bfs": "744", + "name": "Orpund", + "canton": "Kanton Bern", + "domain": "orpund.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "orpund.ch" + ], + "guess": [ + "orpund.ch" + ] + }, + "flags": [] + }, + "745": { + "bfs": "745", + "name": "Port", + "canton": "Kanton Bern", + "domain": "port.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "port.ch" + ], + "redirect": [], + "wikidata": [ + "port.ch" + ], + "guess": [ + "port.ch" + ] + }, + "flags": [] + }, + "746": { + "bfs": "746", + "name": "Safnern", + "canton": "Kanton Bern", + "domain": "safnern.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "safnern.ch" + ], + "guess": [ + "safnern.ch" + ] + }, + "flags": [] + }, + "747": { + "bfs": "747", + "name": "Scheuren", + "canton": "Kanton Bern", + "domain": "scheuren.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "scheuren.ch" + ], + "redirect": [ + "scheuren.ch" + ], + "wikidata": [ + "gemeinde-scheuren.ch" + ], + "guess": [ + "gemeinde-scheuren.ch", + "scheuren.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "748": { + "bfs": "748", + "name": "Schwadernau", + "canton": "Kanton Bern", + "domain": "schwadernau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schwadernau.ch" + ], + "redirect": [], + "wikidata": [ + "schwadernau.ch" + ], + "guess": [ + "schwadernau.ch" + ] + }, + "flags": [] + }, + "749": { + "bfs": "749", + "name": "Studen (BE)", + "canton": "Kanton Bern", + "domain": "studen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "studen.ch" + ], + "redirect": [], + "wikidata": [ + "studen.ch" + ], + "guess": [ + "studen.ch" + ] + }, + "flags": [] + }, + "750": { + "bfs": "750", + "name": "Sutz-Lattrigen", + "canton": "Kanton Bern", + "domain": "sutz-lattrigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sutz-lattrigen.ch" + ], + "redirect": [], + "wikidata": [ + "sutz-lattrigen.ch" + ], + "guess": [ + "sutz-lattrigen.ch" + ] + }, + "flags": [] + }, + "751": { + "bfs": "751", + "name": "Täuffelen", + "canton": "Kanton Bern", + "domain": "taeuffelen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "taeuffelen.ch" + ], + "redirect": [], + "wikidata": [ + "taeuffelen.ch" + ], + "guess": [ + "taeuffelen.ch" + ] + }, + "flags": [] + }, + "754": { + "bfs": "754", + "name": "Walperswil", + "canton": "Kanton Bern", + "domain": "walperswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "walperswil.ch" + ], + "guess": [ + "walperswil.ch" + ] + }, + "flags": [] + }, + "755": { + "bfs": "755", + "name": "Worben", + "canton": "Kanton Bern", + "domain": "worben.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "worben.ch" + ], + "guess": [ + "worben.ch" + ] + }, + "flags": [] + }, + "756": { + "bfs": "756", + "name": "Twann-Tüscherz", + "canton": "Kanton Bern", + "domain": "twann-tuescherz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "twann-tuescherz.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "twann-tuescherz.ch" + ] + }, + "flags": [] + }, + "761": { + "bfs": "761", + "name": "Därstetten", + "canton": "Kanton Bern", + "domain": "daerstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "daerstetten.ch" + ], + "redirect": [], + "wikidata": [ + "daerstetten.ch" + ], + "guess": [ + "daerstetten.ch", + "drstetten.ch" + ] + }, + "flags": [] + }, + "762": { + "bfs": "762", + "name": "Diemtigen", + "canton": "Kanton Bern", + "domain": "diemtigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "diemtigen.ch" + ], + "redirect": [], + "wikidata": [ + "diemtigen.ch" + ], + "guess": [ + "diemtigen.ch" + ] + }, + "flags": [] + }, + "763": { + "bfs": "763", + "name": "Erlenbach im Simmental", + "canton": "Kanton Bern", + "domain": "erlenbach-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "erlenbach-be.ch" + ], + "redirect": [], + "wikidata": [ + "erlenbach-be.ch" + ], + "guess": [] + }, + "flags": [] + }, + "766": { + "bfs": "766", + "name": "Oberwil im Simmental", + "canton": "Kanton Bern", + "domain": "oberwil-im-simmental.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberwil-im-simmental.ch" + ], + "redirect": [], + "wikidata": [ + "oberwil-im-simmental.ch" + ], + "guess": [ + "oberwil-im-simmental.ch" + ] + }, + "flags": [] + }, + "767": { + "bfs": "767", + "name": "Reutigen", + "canton": "Kanton Bern", + "domain": "reutigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reutigen.ch" + ], + "redirect": [], + "wikidata": [ + "reutigen.ch" + ], + "guess": [ + "reutigen.ch" + ] + }, + "flags": [] + }, + "768": { + "bfs": "768", + "name": "Spiez", + "canton": "Kanton Bern", + "domain": "spiez.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "spiez.ch" + ], + "guess": [ + "spiez.ch" + ] + }, + "flags": [] + }, + "769": { + "bfs": "769", + "name": "Wimmis", + "canton": "Kanton Bern", + "domain": "wimmis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wimmis.ch" + ], + "redirect": [], + "wikidata": [ + "wimmis.ch" + ], + "guess": [ + "wimmis.ch" + ] + }, + "flags": [] + }, + "770": { + "bfs": "770", + "name": "Stocken-Höfen", + "canton": "Kanton Bern", + "domain": "stocken-hoefen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "stocken-hoefen.ch" + ], + "guess": [ + "stocken-hoefen.ch" + ] + }, + "flags": [] + }, + "782": { + "bfs": "782", + "name": "Guttannen", + "canton": "Kanton Bern", + "domain": "guttannen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "guttannen.ch" + ], + "redirect": [], + "wikidata": [ + "guttannen.ch" + ], + "guess": [ + "guttannen.ch" + ] + }, + "flags": [] + }, + "783": { + "bfs": "783", + "name": "Hasliberg", + "canton": "Kanton Bern", + "domain": "hasliberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hasliberg.ch" + ], + "redirect": [], + "wikidata": [ + "hasliberg.ch" + ], + "guess": [ + "hasliberg.ch" + ] + }, + "flags": [] + }, + "784": { + "bfs": "784", + "name": "Innertkirchen", + "canton": "Kanton Bern", + "domain": "innertkirchen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "innertkirchen.ch" + ], + "redirect": [], + "wikidata": [ + "innertkirchen.ch" + ], + "guess": [ + "innertkirchen.ch" + ] + }, + "flags": [] + }, + "785": { + "bfs": "785", + "name": "Meiringen", + "canton": "Kanton Bern", + "domain": "meiringen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meiringen.ch" + ], + "redirect": [], + "wikidata": [ + "meiringen.ch" + ], + "guess": [ + "meiringen.ch" + ] + }, + "flags": [] + }, + "786": { + "bfs": "786", + "name": "Schattenhalb", + "canton": "Kanton Bern", + "domain": "schattenhalb.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schattenhalb.ch" + ], + "redirect": [], + "wikidata": [ + "schattenhalb.ch" + ], + "guess": [ + "schattenhalb.ch" + ] + }, + "flags": [] + }, + "791": { + "bfs": "791", + "name": "Boltigen", + "canton": "Kanton Bern", + "domain": "boltigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "boltigen.ch" + ], + "guess": [ + "boltigen.ch" + ] + }, + "flags": [] + }, + "792": { + "bfs": "792", + "name": "Lenk", + "canton": "Kanton Bern", + "domain": "lenkgemeinde.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lenkgemeinde.ch" + ], + "redirect": [], + "wikidata": [ + "lenkgemeinde.ch" + ], + "guess": [ + "lenk.ch" + ] + }, + "flags": [] + }, + "793": { + "bfs": "793", + "name": "St. Stephan", + "canton": "Kanton Bern", + "domain": "ststephan.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ststephan.ch" + ], + "redirect": [], + "wikidata": [ + "ststephan.ch" + ], + "guess": [ + "ststephan.ch" + ] + }, + "flags": [] + }, + "794": { + "bfs": "794", + "name": "Zweisimmen", + "canton": "Kanton Bern", + "domain": "zweisimmen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zweisimmen.ch" + ], + "redirect": [], + "wikidata": [ + "zweisimmen.ch" + ], + "guess": [ + "zweisimmen.ch" + ] + }, + "flags": [] + }, + "841": { + "bfs": "841", + "name": "Gsteig", + "canton": "Kanton Bern", + "domain": "gsteig.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gsteig.ch" + ], + "redirect": [], + "wikidata": [ + "gsteig.ch" + ], + "guess": [ + "gsteig.ch" + ] + }, + "flags": [] + }, + "842": { + "bfs": "842", + "name": "Lauenen", + "canton": "Kanton Bern", + "domain": "lauenen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lauenen.ch" + ], + "redirect": [], + "wikidata": [ + "lauenen.ch" + ], + "guess": [ + "lauenen.ch" + ] + }, + "flags": [] + }, + "843": { + "bfs": "843", + "name": "Saanen", + "canton": "Kanton Bern", + "domain": "saanen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saanen.ch" + ], + "guess": [ + "saanen.ch" + ] + }, + "flags": [] + }, + "852": { + "bfs": "852", + "name": "Guggisberg", + "canton": "Kanton Bern", + "domain": "guggisberg-be.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "guggisberg-be.ch" + ] + }, + "flags": [] + }, + "853": { + "bfs": "853", + "name": "Rüschegg", + "canton": "Kanton Bern", + "domain": "rueschegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rueschegg.ch" + ], + "redirect": [], + "wikidata": [ + "rueschegg.ch" + ], + "guess": [ + "rueschegg.ch" + ] + }, + "flags": [] + }, + "855": { + "bfs": "855", + "name": "Schwarzenburg", + "canton": "Kanton Bern", + "domain": "schwarzenburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "be.ch", + "hispeed.ch", + "schwarzenburg.ch" + ], + "redirect": [], + "wikidata": [ + "schwarzenburg.ch" + ], + "guess": [ + "schwarzenburg.ch" + ] + }, + "flags": [] + }, + "861": { + "bfs": "861", + "name": "Belp", + "canton": "Kanton Bern", + "domain": "belp.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "belp.ch" + ], + "redirect": [], + "wikidata": [ + "belp.ch" + ], + "guess": [ + "belp.ch" + ] + }, + "flags": [] + }, + "863": { + "bfs": "863", + "name": "Burgistein", + "canton": "Kanton Bern", + "domain": "burgistein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "burgistein.ch" + ], + "redirect": [], + "wikidata": [ + "burgistein.ch" + ], + "guess": [ + "burgistein.ch" + ] + }, + "flags": [] + }, + "866": { + "bfs": "866", + "name": "Gerzensee", + "canton": "Kanton Bern", + "domain": "gerzensee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gerzensee.ch" + ], + "redirect": [], + "wikidata": [ + "gerzensee.ch" + ], + "guess": [ + "gerzensee.ch" + ] + }, + "flags": [] + }, + "867": { + "bfs": "867", + "name": "Gurzelen", + "canton": "Kanton Bern", + "domain": "gurzelen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gurzelen.ch" + ], + "redirect": [], + "wikidata": [ + "gurzelen.ch" + ], + "guess": [ + "gurzelen.ch" + ] + }, + "flags": [] + }, + "868": { + "bfs": "868", + "name": "Jaberg", + "canton": "Kanton Bern", + "domain": "jaberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jaberg.ch" + ], + "redirect": [], + "wikidata": [ + "jaberg.ch" + ], + "guess": [ + "jaberg.ch" + ] + }, + "flags": [] + }, + "869": { + "bfs": "869", + "name": "Kaufdorf", + "canton": "Kanton Bern", + "domain": "kaufdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kaufdorf.ch" + ], + "redirect": [], + "wikidata": [ + "kaufdorf.ch" + ], + "guess": [ + "kaufdorf.ch" + ] + }, + "flags": [] + }, + "870": { + "bfs": "870", + "name": "Kehrsatz", + "canton": "Kanton Bern", + "domain": "kehrsatz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kehrsatz.ch" + ], + "redirect": [], + "wikidata": [ + "kehrsatz.ch" + ], + "guess": [ + "kehrsatz.ch" + ] + }, + "flags": [] + }, + "872": { + "bfs": "872", + "name": "Kirchdorf (BE)", + "canton": "Kanton Bern", + "domain": "kirchdorf-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kirchdorf-be.ch", + "kommunalpartner.ch", + "wichtrach.ch" + ], + "redirect": [], + "wikidata": [ + "kirchdorf-be.ch" + ], + "guess": [ + "kirchdorf.ch" + ] + }, + "flags": [] + }, + "877": { + "bfs": "877", + "name": "Niedermuhlern", + "canton": "Kanton Bern", + "domain": "niedermuhlern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niedermuhlern.ch" + ], + "redirect": [], + "wikidata": [ + "niedermuhlern.ch" + ], + "guess": [ + "niedermuhlern.ch" + ] + }, + "flags": [] + }, + "879": { + "bfs": "879", + "name": "Riggisberg", + "canton": "Kanton Bern", + "domain": "riggisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "itds.ch", + "riggisberg.ch" + ], + "redirect": [], + "wikidata": [ + "riggisberg.ch" + ], + "guess": [ + "riggisberg.ch" + ] + }, + "flags": [] + }, + "880": { + "bfs": "880", + "name": "Rüeggisberg", + "canton": "Kanton Bern", + "domain": "rueggisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "itds.ch", + "rueggisberg.ch" + ], + "redirect": [], + "wikidata": [ + "rueggisberg.ch" + ], + "guess": [] + }, + "flags": [] + }, + "883": { + "bfs": "883", + "name": "Seftigen", + "canton": "Kanton Bern", + "domain": "seftigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seftigen.ch" + ], + "redirect": [], + "wikidata": [ + "seftigen.ch" + ], + "guess": [ + "seftigen.ch" + ] + }, + "flags": [] + }, + "884": { + "bfs": "884", + "name": "Toffen", + "canton": "Kanton Bern", + "domain": "toffen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "toffen.ch" + ], + "redirect": [], + "wikidata": [ + "toffen.ch" + ], + "guess": [ + "toffen.ch" + ] + }, + "flags": [] + }, + "885": { + "bfs": "885", + "name": "Uttigen", + "canton": "Kanton Bern", + "domain": "uttigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "uttigen.ch" + ], + "guess": [ + "uttigen.ch" + ] + }, + "flags": [] + }, + "886": { + "bfs": "886", + "name": "Wattenwil", + "canton": "Kanton Bern", + "domain": "wattenwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "intersim.ch", + "wattenwil.ch" + ], + "redirect": [], + "wikidata": [ + "wattenwil.ch" + ], + "guess": [ + "wattenwil.ch" + ] + }, + "flags": [] + }, + "888": { + "bfs": "888", + "name": "Wald (BE)", + "canton": "Kanton Bern", + "domain": "wald-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wald-be.ch" + ], + "redirect": [], + "wikidata": [ + "wald-be.ch" + ], + "guess": [ + "gemeinde-wald.ch", + "wald.ch" + ] + }, + "flags": [] + }, + "889": { + "bfs": "889", + "name": "Thurnen", + "canton": "Kanton Bern", + "domain": "thurnen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "itds.ch", + "thurnen.ch" + ], + "redirect": [], + "wikidata": [ + "thurnen.ch" + ], + "guess": [ + "thurnen.ch" + ] + }, + "flags": [] + }, + "901": { + "bfs": "901", + "name": "Eggiwil", + "canton": "Kanton Bern", + "domain": "eggiwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eggiwil.ch" + ], + "redirect": [], + "wikidata": [ + "eggiwil.ch" + ], + "guess": [ + "eggiwil.ch" + ] + }, + "flags": [] + }, + "902": { + "bfs": "902", + "name": "Langnau im Emmental", + "canton": "Kanton Bern", + "domain": "langnau-ie.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "langnau-ie.ch" + ], + "redirect": [], + "wikidata": [ + "langnau-ie.ch" + ], + "guess": [] + }, + "flags": [] + }, + "903": { + "bfs": "903", + "name": "Lauperswil", + "canton": "Kanton Bern", + "domain": "lauperswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lauperswil.ch" + ], + "redirect": [], + "wikidata": [ + "lauperswil.ch" + ], + "guess": [ + "lauperswil.ch" + ] + }, + "flags": [] + }, + "904": { + "bfs": "904", + "name": "Röthenbach im Emmental", + "canton": "Kanton Bern", + "domain": "roethenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roethenbach.ch" + ], + "redirect": [], + "wikidata": [ + "roethenbach.ch" + ], + "guess": [] + }, + "flags": [] + }, + "905": { + "bfs": "905", + "name": "Rüderswil", + "canton": "Kanton Bern", + "domain": "ruederswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruederswil.ch" + ], + "redirect": [], + "wikidata": [ + "ruederswil.ch" + ], + "guess": [ + "ruederswil.ch" + ] + }, + "flags": [] + }, + "906": { + "bfs": "906", + "name": "Schangnau", + "canton": "Kanton Bern", + "domain": "schangnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schangnau.ch" + ], + "redirect": [], + "wikidata": [ + "schangnau.ch" + ], + "guess": [ + "schangnau.ch" + ] + }, + "flags": [] + }, + "907": { + "bfs": "907", + "name": "Signau", + "canton": "Kanton Bern", + "domain": "signau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "signau.ch" + ], + "redirect": [], + "wikidata": [ + "signau.ch" + ], + "guess": [ + "signau.ch" + ] + }, + "flags": [] + }, + "908": { + "bfs": "908", + "name": "Trub", + "canton": "Kanton Bern", + "domain": "trub.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trub.ch" + ], + "redirect": [], + "wikidata": [ + "trub.ch" + ], + "guess": [ + "trub.ch" + ] + }, + "flags": [] + }, + "909": { + "bfs": "909", + "name": "Trubschachen", + "canton": "Kanton Bern", + "domain": "trubschachen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trubschachen.ch" + ], + "redirect": [], + "wikidata": [ + "trubschachen.ch" + ], + "guess": [ + "trubschachen.ch" + ] + }, + "flags": [] + }, + "921": { + "bfs": "921", + "name": "Amsoldingen", + "canton": "Kanton Bern", + "domain": "amsoldingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "amsoldingen.ch" + ], + "redirect": [], + "wikidata": [ + "amsoldingen.ch" + ], + "guess": [ + "amsoldingen.ch" + ] + }, + "flags": [] + }, + "922": { + "bfs": "922", + "name": "Blumenstein", + "canton": "Kanton Bern", + "domain": "blumenstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "blumenstein.ch" + ], + "redirect": [], + "wikidata": [ + "blumenstein.ch" + ], + "guess": [ + "blumenstein.ch" + ] + }, + "flags": [] + }, + "923": { + "bfs": "923", + "name": "Buchholterberg", + "canton": "Kanton Bern", + "domain": "buchholterberg.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "buchholterberg.ch" + ], + "redirect": [ + "buchholterberg.ch" + ], + "wikidata": [ + "heimenschwand.ch" + ], + "guess": [ + "buchholterberg.ch" + ] + }, + "flags": [ + "sources_disagree", + "website_mismatch" + ] + }, + "924": { + "bfs": "924", + "name": "Eriz", + "canton": "Kanton Bern", + "domain": "eriz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eriz.ch" + ], + "redirect": [], + "wikidata": [ + "eriz.ch" + ], + "guess": [ + "eriz.ch" + ] + }, + "flags": [] + }, + "925": { + "bfs": "925", + "name": "Fahrni", + "canton": "Kanton Bern", + "domain": "gemeinde-fahrni.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeinde-fahrni.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-fahrni.ch" + ], + "guess": [ + "fahrni.ch", + "gemeinde-fahrni.ch" + ] + }, + "flags": [] + }, + "927": { + "bfs": "927", + "name": "Heiligenschwendi", + "canton": "Kanton Bern", + "domain": "heiligenschwendi.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "heiligenschwendi.ch" + ], + "guess": [ + "heiligenschwendi.ch" + ] + }, + "flags": [] + }, + "928": { + "bfs": "928", + "name": "Heimberg", + "canton": "Kanton Bern", + "domain": "heimberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "heimberg.ch" + ], + "guess": [ + "heimberg.ch" + ] + }, + "flags": [] + }, + "929": { + "bfs": "929", + "name": "Hilterfingen", + "canton": "Kanton Bern", + "domain": "hilterfingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "hilterfingen.ch" + ], + "guess": [ + "hilterfingen.ch" + ] + }, + "flags": [] + }, + "931": { + "bfs": "931", + "name": "Homberg", + "canton": "Kanton Bern", + "domain": "homberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "homberg.ch" + ], + "redirect": [], + "wikidata": [ + "homberg.ch" + ], + "guess": [ + "homberg.ch" + ] + }, + "flags": [] + }, + "932": { + "bfs": "932", + "name": "Horrenbach-Buchen", + "canton": "Kanton Bern", + "domain": "horrenbach-buchen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "horrenbach-buchen.ch" + ], + "redirect": [], + "wikidata": [ + "horrenbach-buchen.ch" + ], + "guess": [ + "horrenbach-buchen.ch" + ] + }, + "flags": [] + }, + "934": { + "bfs": "934", + "name": "Oberhofen am Thunersee", + "canton": "Kanton Bern", + "domain": "oberhofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberhofen.ch" + ], + "redirect": [], + "wikidata": [ + "oberhofen.ch" + ], + "guess": [] + }, + "flags": [] + }, + "935": { + "bfs": "935", + "name": "Oberlangenegg", + "canton": "Kanton Bern", + "domain": "oberlangenegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberlangenegg.ch" + ], + "redirect": [], + "wikidata": [ + "oberlangenegg.ch" + ], + "guess": [ + "oberlangenegg.ch" + ] + }, + "flags": [] + }, + "936": { + "bfs": "936", + "name": "Pohlern", + "canton": "Kanton Bern", + "domain": "pohlern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pohlern.ch" + ], + "redirect": [], + "wikidata": [ + "pohlern.ch" + ], + "guess": [ + "pohlern.ch" + ] + }, + "flags": [] + }, + "938": { + "bfs": "938", + "name": "Sigriswil", + "canton": "Kanton Bern", + "domain": "sigriswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sigriswil.ch" + ], + "guess": [ + "sigriswil.ch" + ] + }, + "flags": [] + }, + "939": { + "bfs": "939", + "name": "Steffisburg", + "canton": "Kanton Bern", + "domain": "steffisburg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "steffisburg.ch" + ], + "guess": [ + "steffisburg.ch" + ] + }, + "flags": [] + }, + "940": { + "bfs": "940", + "name": "Teuffenthal (BE)", + "canton": "Kanton Bern", + "domain": "teuffenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "teuffenthal.ch" + ], + "redirect": [], + "wikidata": [ + "teuffenthal.ch" + ], + "guess": [ + "teuffenthal.ch" + ] + }, + "flags": [] + }, + "941": { + "bfs": "941", + "name": "Thierachern", + "canton": "Kanton Bern", + "domain": "thierachern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thierachern.ch" + ], + "redirect": [], + "wikidata": [ + "thierachern.ch" + ], + "guess": [ + "thierachern.ch" + ] + }, + "flags": [] + }, + "942": { + "bfs": "942", + "name": "Thun", + "canton": "Kanton Bern", + "domain": "thun.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thun.ch" + ], + "redirect": [], + "wikidata": [ + "thun.ch" + ], + "guess": [ + "stadt-thun.ch", + "thun.ch" + ] + }, + "flags": [] + }, + "943": { + "bfs": "943", + "name": "Uebeschi", + "canton": "Kanton Bern", + "domain": "uebeschi.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uebeschi.ch" + ], + "redirect": [], + "wikidata": [ + "uebeschi.ch" + ], + "guess": [ + "uebeschi.ch" + ] + }, + "flags": [] + }, + "944": { + "bfs": "944", + "name": "Uetendorf", + "canton": "Kanton Bern", + "domain": "uetendorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "uetendorf.ch" + ], + "guess": [ + "uetendorf.ch" + ] + }, + "flags": [] + }, + "945": { + "bfs": "945", + "name": "Unterlangenegg", + "canton": "Kanton Bern", + "domain": "unterlangenegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unterlangenegg.ch" + ], + "redirect": [], + "wikidata": [ + "unterlangenegg.ch" + ], + "guess": [ + "unterlangenegg.ch" + ] + }, + "flags": [] + }, + "946": { + "bfs": "946", + "name": "Wachseldorn", + "canton": "Kanton Bern", + "domain": "wachseldorn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wachseldorn.ch" + ], + "redirect": [], + "wikidata": [ + "wachseldorn.ch" + ], + "guess": [ + "wachseldorn.ch" + ] + }, + "flags": [] + }, + "948": { + "bfs": "948", + "name": "Forst-Längenbühl", + "canton": "Kanton Bern", + "domain": "3636.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "3636.ch" + ] + }, + "flags": [] + }, + "951": { + "bfs": "951", + "name": "Affoltern im Emmental", + "canton": "Kanton Bern", + "domain": "affolternimemmental.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "affolternimemmental.ch" + ], + "guess": [ + "affolternimemmental.ch" + ] + }, + "flags": [] + }, + "952": { + "bfs": "952", + "name": "Dürrenroth", + "canton": "Kanton Bern", + "domain": "duerrenroth.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duerrenroth.ch" + ], + "redirect": [], + "wikidata": [ + "duerrenroth.ch" + ], + "guess": [ + "duerrenroth.ch" + ] + }, + "flags": [] + }, + "953": { + "bfs": "953", + "name": "Eriswil", + "canton": "Kanton Bern", + "domain": "eriswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eriswil.ch" + ], + "redirect": [], + "wikidata": [ + "eriswil.ch" + ], + "guess": [ + "eriswil.ch" + ] + }, + "flags": [] + }, + "954": { + "bfs": "954", + "name": "Huttwil", + "canton": "Kanton Bern", + "domain": "huttwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "huttwil.ch" + ], + "guess": [ + "huttwil.ch" + ] + }, + "flags": [] + }, + "955": { + "bfs": "955", + "name": "Lützelflüh", + "canton": "Kanton Bern", + "domain": "luetzelflueh.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "luetzelflueh.ch" + ], + "guess": [ + "luetzelflueh.ch" + ] + }, + "flags": [] + }, + "956": { + "bfs": "956", + "name": "Rüegsau", + "canton": "Kanton Bern", + "domain": "ruegsau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruegsau.ch" + ], + "redirect": [], + "wikidata": [ + "ruegsau.ch" + ], + "guess": [] + }, + "flags": [] + }, + "957": { + "bfs": "957", + "name": "Sumiswald", + "canton": "Kanton Bern", + "domain": "sumiswald.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sumiswald.ch" + ], + "guess": [ + "sumiswald.ch" + ] + }, + "flags": [] + }, + "958": { + "bfs": "958", + "name": "Trachselwald", + "canton": "Kanton Bern", + "domain": "trachselwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trachselwald.ch" + ], + "redirect": [], + "wikidata": [ + "trachselwald.ch" + ], + "guess": [ + "trachselwald.ch" + ] + }, + "flags": [] + }, + "959": { + "bfs": "959", + "name": "Walterswil (BE)", + "canton": "Kanton Bern", + "domain": "walterswil-be.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walterswil-be.ch" + ], + "redirect": [], + "wikidata": [ + "walterswil-be.ch" + ], + "guess": [ + "walterswil.ch" + ] + }, + "flags": [] + }, + "960": { + "bfs": "960", + "name": "Wyssachen", + "canton": "Kanton Bern", + "domain": "wyssachen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wyssachen.ch" + ], + "guess": [ + "wyssachen.ch" + ] + }, + "flags": [] + }, + "971": { + "bfs": "971", + "name": "Attiswil", + "canton": "Kanton Bern", + "domain": "attiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "attiswil.ch" + ], + "redirect": [], + "wikidata": [ + "attiswil.ch" + ], + "guess": [ + "attiswil.ch" + ] + }, + "flags": [] + }, + "972": { + "bfs": "972", + "name": "Berken", + "canton": "Kanton Bern", + "domain": "inkwil.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "inkwil.ch" + ] + }, + "flags": [] + }, + "973": { + "bfs": "973", + "name": "Bettenhausen", + "canton": "Kanton Bern", + "domain": "bettenhausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bettenhausen.ch" + ], + "redirect": [], + "wikidata": [ + "bettenhausen.ch" + ], + "guess": [ + "bettenhausen.ch" + ] + }, + "flags": [] + }, + "975": { + "bfs": "975", + "name": "Farnern", + "canton": "Kanton Bern", + "domain": "farnern.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "farnern.ch" + ], + "guess": [ + "farnern.ch" + ] + }, + "flags": [] + }, + "976": { + "bfs": "976", + "name": "Graben", + "canton": "Kanton Bern", + "domain": "graben.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "graben.ch" + ], + "redirect": [], + "wikidata": [ + "graben.ch" + ], + "guess": [ + "graben.ch" + ] + }, + "flags": [] + }, + "977": { + "bfs": "977", + "name": "Heimenhausen", + "canton": "Kanton Bern", + "domain": "heimenhausen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "heimenhausen.ch" + ], + "guess": [ + "heimenhausen.ch" + ] + }, + "flags": [] + }, + "979": { + "bfs": "979", + "name": "Herzogenbuchsee", + "canton": "Kanton Bern", + "domain": "herzogenbuchsee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "herzogenbuchsee.ch" + ], + "redirect": [], + "wikidata": [ + "herzogenbuchsee.ch" + ], + "guess": [ + "herzogenbuchsee.ch" + ] + }, + "flags": [] + }, + "980": { + "bfs": "980", + "name": "Inkwil", + "canton": "Kanton Bern", + "domain": "inkwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "be.prosenectute.ch", + "inkwil.ch" + ], + "redirect": [], + "wikidata": [ + "inkwil.ch" + ], + "guess": [ + "inkwil.ch" + ] + }, + "flags": [] + }, + "981": { + "bfs": "981", + "name": "Niederbipp", + "canton": "Kanton Bern", + "domain": "niederbipp.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederbipp.ch" + ], + "redirect": [], + "wikidata": [ + "niederbipp.ch" + ], + "guess": [ + "niederbipp.ch" + ] + }, + "flags": [] + }, + "982": { + "bfs": "982", + "name": "Niederönz", + "canton": "Kanton Bern", + "domain": "niederoenz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "niederoenz.ch" + ], + "guess": [ + "niederoenz.ch" + ] + }, + "flags": [] + }, + "983": { + "bfs": "983", + "name": "Oberbipp", + "canton": "Kanton Bern", + "domain": "oberbipp.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oberbipp.ch" + ], + "guess": [ + "oberbipp.ch" + ] + }, + "flags": [] + }, + "985": { + "bfs": "985", + "name": "Ochlenberg", + "canton": "Kanton Bern", + "domain": "ochlenberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ochlenberg.ch" + ], + "redirect": [], + "wikidata": [ + "ochlenberg.ch" + ], + "guess": [ + "ochlenberg.ch" + ] + }, + "flags": [] + }, + "987": { + "bfs": "987", + "name": "Rumisberg", + "canton": "Kanton Bern", + "domain": "rumisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rumisberg.ch" + ], + "redirect": [], + "wikidata": [ + "rumisberg.ch" + ], + "guess": [ + "rumisberg.ch" + ] + }, + "flags": [] + }, + "988": { + "bfs": "988", + "name": "Seeberg", + "canton": "Kanton Bern", + "domain": "seeberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seeberg.ch" + ], + "redirect": [], + "wikidata": [ + "seeberg.ch" + ], + "guess": [ + "seeberg.ch" + ] + }, + "flags": [] + }, + "989": { + "bfs": "989", + "name": "Thörigen", + "canton": "Kanton Bern", + "domain": "thoerigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "thoerigen.ch" + ], + "guess": [ + "thoerigen.ch" + ] + }, + "flags": [] + }, + "990": { + "bfs": "990", + "name": "Walliswil bei Niederbipp", + "canton": "Kanton Bern", + "domain": "walliswil-bipp.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walliswil-bipp.ch" + ], + "redirect": [], + "wikidata": [ + "walliswil-bipp.ch" + ], + "guess": [] + }, + "flags": [] + }, + "991": { + "bfs": "991", + "name": "Walliswil bei Wangen", + "canton": "Kanton Bern", + "domain": "walliswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walliswil.ch" + ], + "redirect": [], + "wikidata": [ + "walliswil.ch" + ], + "guess": [] + }, + "flags": [] + }, + "992": { + "bfs": "992", + "name": "Wangen an der Aare", + "canton": "Kanton Bern", + "domain": "wangen-a-a.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wangen-a-a.ch" + ], + "redirect": [], + "wikidata": [ + "wangen-a-a.ch" + ], + "guess": [] + }, + "flags": [] + }, + "995": { + "bfs": "995", + "name": "Wiedlisbach", + "canton": "Kanton Bern", + "domain": "wiedlisbach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wiedlisbach.ch" + ], + "guess": [ + "wiedlisbach.ch" + ] + }, + "flags": [] + }, + "1001": { + "bfs": "1001", + "name": "Doppleschwand", + "canton": "", + "domain": "doppleschwand.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "doppleschwand.ch" + ], + "redirect": [], + "wikidata": [ + "doppleschwand.ch" + ], + "guess": [ + "doppleschwand.ch" + ] + }, + "flags": [] + }, + "1002": { + "bfs": "1002", + "name": "Entlebuch", + "canton": "", + "domain": "entlebuch.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "entlebuch.ch" + ], + "guess": [ + "entlebuch.ch" + ] + }, + "flags": [] + }, + "1004": { + "bfs": "1004", + "name": "Flühli", + "canton": "", + "domain": "fluehli.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fluehli.ch" + ], + "redirect": [], + "wikidata": [ + "fluehli.ch" + ], + "guess": [ + "fluehli.ch" + ] + }, + "flags": [] + }, + "1005": { + "bfs": "1005", + "name": "Hasle (LU)", + "canton": "", + "domain": "hasle-lu.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hasle-lu.ch" + ], + "redirect": [], + "wikidata": [ + "hasle-lu.ch" + ], + "guess": [ + "hasle.ch" + ] + }, + "flags": [] + }, + "1007": { + "bfs": "1007", + "name": "Romoos", + "canton": "", + "domain": "romoos.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "romoos.ch" + ], + "redirect": [], + "wikidata": [ + "romoos.ch" + ], + "guess": [ + "romoos.ch" + ] + }, + "flags": [] + }, + "1008": { + "bfs": "1008", + "name": "Schüpfheim", + "canton": "", + "domain": "schuepfheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schuepfheim.ch" + ], + "redirect": [], + "wikidata": [ + "schuepfheim.ch" + ], + "guess": [ + "schuepfheim.ch" + ] + }, + "flags": [] + }, + "1009": { + "bfs": "1009", + "name": "Werthenstein", + "canton": "", + "domain": "werthenstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "werthenstein.ch" + ], + "redirect": [], + "wikidata": [ + "werthenstein.ch" + ], + "guess": [ + "werthenstein.ch" + ] + }, + "flags": [] + }, + "1010": { + "bfs": "1010", + "name": "Escholzmatt-Marbach", + "canton": "", + "domain": "escholzmatt-marbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "escholzmatt-marbach.ch" + ], + "redirect": [], + "wikidata": [ + "escholzmatt-marbach.ch" + ], + "guess": [ + "escholzmatt-marbach.ch", + "escholzmattmarbach.ch" + ] + }, + "flags": [] + }, + "1021": { + "bfs": "1021", + "name": "Aesch (LU)", + "canton": "Kanton Luzern", + "domain": "aesch-lu.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aesch-lu.ch" + ], + "redirect": [], + "wikidata": [ + "aesch-lu.ch" + ], + "guess": [ + "aesch.ch" + ] + }, + "flags": [] + }, + "1023": { + "bfs": "1023", + "name": "Ballwil", + "canton": "Kanton Luzern", + "domain": "ballwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ballwil.ch" + ], + "redirect": [], + "wikidata": [ + "ballwil.ch" + ], + "guess": [ + "ballwil.ch" + ] + }, + "flags": [] + }, + "1024": { + "bfs": "1024", + "name": "Emmen", + "canton": "Kanton Luzern", + "domain": "emmen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "emmen.ch" + ], + "redirect": [], + "wikidata": [ + "emmen.ch" + ], + "guess": [ + "emmen.ch" + ] + }, + "flags": [] + }, + "1025": { + "bfs": "1025", + "name": "Ermensee", + "canton": "Kanton Luzern", + "domain": "ermensee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ermensee.ch" + ], + "redirect": [], + "wikidata": [ + "ermensee.ch" + ], + "guess": [ + "ermensee.ch", + "ermensee.lu.ch" + ] + }, + "flags": [] + }, + "1026": { + "bfs": "1026", + "name": "Eschenbach (LU)", + "canton": "Kanton Luzern", + "domain": "eschenbach-luzern.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eschenbach-luzern.ch" + ], + "guess": [ + "eschenbach.ch" + ] + }, + "flags": [] + }, + "1030": { + "bfs": "1030", + "name": "Hitzkirch", + "canton": "Kanton Luzern", + "domain": "hitzkirch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hitzkirch.ch" + ], + "redirect": [], + "wikidata": [ + "hitzkirch.ch" + ], + "guess": [ + "hitzkirch.ch" + ] + }, + "flags": [] + }, + "1031": { + "bfs": "1031", + "name": "Hochdorf", + "canton": "Kanton Luzern", + "domain": "hochdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hochdorf.ch" + ], + "redirect": [], + "wikidata": [ + "hochdorf.ch" + ], + "guess": [ + "hochdorf.ch" + ] + }, + "flags": [] + }, + "1032": { + "bfs": "1032", + "name": "Hohenrain", + "canton": "Kanton Luzern", + "domain": "hohenrain.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hohenrain.ch" + ], + "redirect": [], + "wikidata": [ + "hohenrain.ch" + ], + "guess": [ + "hohenrain.ch" + ] + }, + "flags": [] + }, + "1033": { + "bfs": "1033", + "name": "Inwil", + "canton": "Kanton Luzern", + "domain": "inwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "inwil.ch" + ], + "redirect": [], + "wikidata": [ + "inwil.ch" + ], + "guess": [ + "inwil.ch" + ] + }, + "flags": [] + }, + "1037": { + "bfs": "1037", + "name": "Rain", + "canton": "Kanton Luzern", + "domain": "rain.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rain.ch" + ], + "redirect": [], + "wikidata": [ + "rain.ch" + ], + "guess": [ + "rain.ch" + ] + }, + "flags": [] + }, + "1039": { + "bfs": "1039", + "name": "Römerswil", + "canton": "Kanton Luzern", + "domain": "roemerswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roemerswil.ch" + ], + "redirect": [], + "wikidata": [ + "roemerswil.ch" + ], + "guess": [ + "roemerswil.ch" + ] + }, + "flags": [] + }, + "1040": { + "bfs": "1040", + "name": "Rothenburg", + "canton": "Kanton Luzern", + "domain": "rothenburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rothenburg.ch" + ], + "redirect": [], + "wikidata": [ + "rothenburg.ch" + ], + "guess": [ + "rothenburg.ch" + ] + }, + "flags": [] + }, + "1041": { + "bfs": "1041", + "name": "Schongau", + "canton": "Kanton Luzern", + "domain": "schongau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schongau.ch" + ], + "redirect": [], + "wikidata": [ + "schongau.ch" + ], + "guess": [ + "schongau.ch" + ] + }, + "flags": [] + }, + "1051": { + "bfs": "1051", + "name": "Adligenswil", + "canton": "Kanton Luzern", + "domain": "adligenswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "adligenswil.ch" + ], + "guess": [ + "adligenswil.ch", + "gemeinde-adligenswil.ch" + ] + }, + "flags": [] + }, + "1052": { + "bfs": "1052", + "name": "Buchrain", + "canton": "Kanton Luzern", + "domain": "buchrain.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchrain.ch" + ], + "redirect": [], + "wikidata": [ + "buchrain.ch" + ], + "guess": [ + "buchrain.ch" + ] + }, + "flags": [] + }, + "1053": { + "bfs": "1053", + "name": "Dierikon", + "canton": "Kanton Luzern", + "domain": "dierikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dierikon.ch" + ], + "redirect": [], + "wikidata": [ + "dierikon.ch" + ], + "guess": [ + "dierikon.ch" + ] + }, + "flags": [] + }, + "1054": { + "bfs": "1054", + "name": "Ebikon", + "canton": "Kanton Luzern", + "domain": "ebikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ebikon.ch" + ], + "redirect": [], + "wikidata": [ + "ebikon.ch" + ], + "guess": [ + "ebikon.ch" + ] + }, + "flags": [] + }, + "1055": { + "bfs": "1055", + "name": "Gisikon", + "canton": "Kanton Luzern", + "domain": "gisikon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gisikon.ch" + ], + "guess": [ + "gisikon.ch" + ] + }, + "flags": [] + }, + "1056": { + "bfs": "1056", + "name": "Greppen", + "canton": "Kanton Luzern", + "domain": "greppen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "greppen.ch" + ], + "redirect": [], + "wikidata": [ + "greppen.ch" + ], + "guess": [ + "greppen.ch" + ] + }, + "flags": [] + }, + "1058": { + "bfs": "1058", + "name": "Horw", + "canton": "Kanton Luzern", + "domain": "horw.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "horw.ch" + ], + "redirect": [], + "wikidata": [ + "horw.ch" + ], + "guess": [ + "horw.ch" + ] + }, + "flags": [] + }, + "1059": { + "bfs": "1059", + "name": "Kriens", + "canton": "Kanton Luzern", + "domain": "kriens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kriens.ch" + ], + "redirect": [], + "wikidata": [ + "kriens.ch" + ], + "guess": [ + "gemeinde-kriens.ch", + "kriens.ch", + "stadt-kriens.ch" + ] + }, + "flags": [] + }, + "1061": { + "bfs": "1061", + "name": "Luzern", + "canton": "Kanton Luzern", + "domain": "stadtluzern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stadtluzern.ch" + ], + "redirect": [], + "wikidata": [ + "stadtluzern.ch" + ], + "guess": [ + "luzern.ch" + ] + }, + "flags": [] + }, + "1062": { + "bfs": "1062", + "name": "Malters", + "canton": "Kanton Luzern", + "domain": "malters.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "malters.ch" + ], + "redirect": [], + "wikidata": [ + "malters.ch" + ], + "guess": [ + "malters.ch" + ] + }, + "flags": [] + }, + "1063": { + "bfs": "1063", + "name": "Meggen", + "canton": "Kanton Luzern", + "domain": "meggen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meggen.ch" + ], + "redirect": [], + "wikidata": [ + "meggen.ch" + ], + "guess": [ + "meggen.ch" + ] + }, + "flags": [] + }, + "1064": { + "bfs": "1064", + "name": "Meierskappel", + "canton": "Kanton Luzern", + "domain": "meierskappel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meierskappel.ch" + ], + "redirect": [], + "wikidata": [ + "meierskappel.ch" + ], + "guess": [ + "meierskappel.ch" + ] + }, + "flags": [] + }, + "1065": { + "bfs": "1065", + "name": "Root", + "canton": "Kanton Luzern", + "domain": "gemeinde-root.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeinde-root.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-root.ch" + ], + "guess": [ + "gemeinde-root.ch", + "root.ch" + ] + }, + "flags": [] + }, + "1066": { + "bfs": "1066", + "name": "Schwarzenberg", + "canton": "Kanton Luzern", + "domain": "schwarzenberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schwarzenberg.ch" + ], + "redirect": [], + "wikidata": [ + "schwarzenberg.ch" + ], + "guess": [ + "schwarzenberg.ch" + ] + }, + "flags": [] + }, + "1067": { + "bfs": "1067", + "name": "Udligenswil", + "canton": "Kanton Luzern", + "domain": "udligenswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "udligenswil.ch" + ], + "redirect": [], + "wikidata": [ + "udligenswil.ch" + ], + "guess": [ + "udligenswil.ch" + ] + }, + "flags": [] + }, + "1068": { + "bfs": "1068", + "name": "Vitznau", + "canton": "Kanton Luzern", + "domain": "vitznau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vitznau.ch" + ], + "redirect": [], + "wikidata": [ + "vitznau.ch" + ], + "guess": [ + "vitznau.ch", + "vitznau.lu.ch" + ] + }, + "flags": [] + }, + "1069": { + "bfs": "1069", + "name": "Weggis", + "canton": "Kanton Luzern", + "domain": "weggis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "weggis.ch" + ], + "redirect": [], + "wikidata": [ + "weggis.ch" + ], + "guess": [ + "weggis.ch", + "weggis.lu.ch" + ] + }, + "flags": [] + }, + "1081": { + "bfs": "1081", + "name": "Beromünster", + "canton": "", + "domain": "beromuenster.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "beromuenster.ch" + ], + "guess": [ + "beromuenster.ch" + ] + }, + "flags": [] + }, + "1082": { + "bfs": "1082", + "name": "Büron", + "canton": "", + "domain": "bueron.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bueron.ch" + ], + "redirect": [], + "wikidata": [ + "bueron.ch" + ], + "guess": [ + "bron.ch", + "bueron.ch" + ] + }, + "flags": [] + }, + "1083": { + "bfs": "1083", + "name": "Buttisholz", + "canton": "", + "domain": "buttisholz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buttisholz.ch" + ], + "redirect": [], + "wikidata": [ + "buttisholz.ch" + ], + "guess": [ + "buttisholz.ch" + ] + }, + "flags": [] + }, + "1084": { + "bfs": "1084", + "name": "Eich", + "canton": "", + "domain": "eich.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eich.ch" + ], + "redirect": [], + "wikidata": [ + "eich.ch" + ], + "guess": [ + "eich.ch" + ] + }, + "flags": [] + }, + "1085": { + "bfs": "1085", + "name": "Geuensee", + "canton": "", + "domain": "geuensee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "geuensee.ch" + ], + "redirect": [], + "wikidata": [ + "geuensee.ch" + ], + "guess": [ + "geuensee.ch" + ] + }, + "flags": [] + }, + "1086": { + "bfs": "1086", + "name": "Grosswangen", + "canton": "", + "domain": "grosswangen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grosswangen.ch" + ], + "guess": [ + "grosswangen.ch" + ] + }, + "flags": [] + }, + "1088": { + "bfs": "1088", + "name": "Hildisrieden", + "canton": "", + "domain": "hildisrieden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hildisrieden.ch" + ], + "redirect": [], + "wikidata": [ + "hildisrieden.ch" + ], + "guess": [ + "hildisrieden.ch" + ] + }, + "flags": [] + }, + "1089": { + "bfs": "1089", + "name": "Knutwil", + "canton": "", + "domain": "knutwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "knutwil.ch" + ], + "redirect": [], + "wikidata": [ + "knutwil.ch" + ], + "guess": [ + "knutwil.ch" + ] + }, + "flags": [] + }, + "1091": { + "bfs": "1091", + "name": "Mauensee", + "canton": "", + "domain": "mauensee.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mauensee.ch" + ], + "redirect": [], + "wikidata": [ + "mauensee.ch" + ], + "guess": [ + "mauensee.ch" + ] + }, + "flags": [] + }, + "1093": { + "bfs": "1093", + "name": "Neuenkirch", + "canton": "", + "domain": "neuenkirch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neuenkirch.ch" + ], + "redirect": [], + "wikidata": [ + "neuenkirch.ch" + ], + "guess": [ + "neuenkirch.ch" + ] + }, + "flags": [] + }, + "1094": { + "bfs": "1094", + "name": "Nottwil", + "canton": "", + "domain": "nottwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nottwil.ch" + ], + "redirect": [], + "wikidata": [ + "nottwil.ch" + ], + "guess": [ + "nottwil.ch" + ] + }, + "flags": [] + }, + "1095": { + "bfs": "1095", + "name": "Oberkirch", + "canton": "", + "domain": "oberkirch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberkirch.ch" + ], + "redirect": [], + "wikidata": [ + "oberkirch.ch" + ], + "guess": [ + "oberkirch.ch" + ] + }, + "flags": [] + }, + "1097": { + "bfs": "1097", + "name": "Rickenbach (LU)", + "canton": "", + "domain": "rickenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rickenbach.ch" + ], + "redirect": [], + "wikidata": [ + "rickenbach.ch" + ], + "guess": [ + "rickenbach.ch" + ] + }, + "flags": [] + }, + "1098": { + "bfs": "1098", + "name": "Ruswil", + "canton": "", + "domain": "ruswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruswil.ch" + ], + "redirect": [], + "wikidata": [ + "ruswil.ch" + ], + "guess": [ + "ruswil.ch" + ] + }, + "flags": [] + }, + "1099": { + "bfs": "1099", + "name": "Schenkon", + "canton": "", + "domain": "schenkon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schenkon.ch" + ], + "redirect": [], + "wikidata": [ + "schenkon.ch" + ], + "guess": [ + "schenkon.ch" + ] + }, + "flags": [] + }, + "1100": { + "bfs": "1100", + "name": "Schlierbach", + "canton": "", + "domain": "schlierbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schlierbach.ch" + ], + "redirect": [], + "wikidata": [ + "schlierbach.ch" + ], + "guess": [ + "schlierbach.ch" + ] + }, + "flags": [] + }, + "1102": { + "bfs": "1102", + "name": "Sempach", + "canton": "", + "domain": "sempach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sempach.ch" + ], + "redirect": [], + "wikidata": [ + "sempach.ch" + ], + "guess": [ + "sempach.ch" + ] + }, + "flags": [] + }, + "1103": { + "bfs": "1103", + "name": "Sursee", + "canton": "", + "domain": "stadtsursee.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "stadtsursee.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [] + }, + "flags": [] + }, + "1104": { + "bfs": "1104", + "name": "Triengen", + "canton": "", + "domain": "triengen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "triengen.ch" + ], + "redirect": [], + "wikidata": [ + "triengen.ch" + ], + "guess": [ + "triengen.ch" + ] + }, + "flags": [] + }, + "1107": { + "bfs": "1107", + "name": "Wolhusen", + "canton": "", + "domain": "wolhusen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wolhusen.ch" + ], + "redirect": [], + "wikidata": [ + "wolhusen.ch" + ], + "guess": [ + "wolhusen.ch" + ] + }, + "flags": [] + }, + "1121": { + "bfs": "1121", + "name": "Alberswil", + "canton": "Kanton Luzern", + "domain": "alberswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "alberswil.ch", + "printex.ch" + ], + "redirect": [], + "wikidata": [ + "alberswil.ch" + ], + "guess": [ + "alberswil.ch" + ] + }, + "flags": [] + }, + "1122": { + "bfs": "1122", + "name": "Altbüron", + "canton": "Kanton Luzern", + "domain": "altbueron.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altbueron.ch" + ], + "redirect": [], + "wikidata": [ + "altbueron.ch" + ], + "guess": [ + "altbueron.ch" + ] + }, + "flags": [] + }, + "1123": { + "bfs": "1123", + "name": "Altishofen", + "canton": "Kanton Luzern", + "domain": "altishofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altishofen.ch" + ], + "redirect": [], + "wikidata": [ + "altishofen.ch" + ], + "guess": [ + "altishofen.ch", + "altishofen.lu.ch" + ] + }, + "flags": [] + }, + "1125": { + "bfs": "1125", + "name": "Dagmersellen", + "canton": "Kanton Luzern", + "domain": "dagmersellen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "dagmersellen.ch" + ], + "guess": [ + "dagmersellen.ch" + ] + }, + "flags": [] + }, + "1127": { + "bfs": "1127", + "name": "Egolzwil", + "canton": "Kanton Luzern", + "domain": "egolzwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "egolzwil.ch" + ], + "redirect": [], + "wikidata": [ + "egolzwil.ch" + ], + "guess": [ + "egolzwil.ch" + ] + }, + "flags": [] + }, + "1128": { + "bfs": "1128", + "name": "Ettiswil", + "canton": "Kanton Luzern", + "domain": "ettiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aldec.ch", + "ettiswil.ch" + ], + "redirect": [], + "wikidata": [ + "ettiswil.ch" + ], + "guess": [ + "ettiswil.ch" + ] + }, + "flags": [] + }, + "1129": { + "bfs": "1129", + "name": "Fischbach", + "canton": "Kanton Luzern", + "domain": "fischbach-lu.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fischbach-lu.ch" + ], + "redirect": [], + "wikidata": [ + "fischbach-lu.ch" + ], + "guess": [] + }, + "flags": [] + }, + "1131": { + "bfs": "1131", + "name": "Grossdietwil", + "canton": "Kanton Luzern", + "domain": "grossdietwil.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "schule-grossdietwil.ch" + ], + "redirect": [], + "wikidata": [ + "grossdietwil.ch" + ], + "guess": [ + "grossdietwil.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "1132": { + "bfs": "1132", + "name": "Hergiswil bei Willisau", + "canton": "Kanton Luzern", + "domain": "hergiswil-lu.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hergiswil-lu.ch" + ], + "redirect": [], + "wikidata": [ + "hergiswil-lu.ch" + ], + "guess": [] + }, + "flags": [] + }, + "1135": { + "bfs": "1135", + "name": "Luthern", + "canton": "Kanton Luzern", + "domain": "luthern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luthern.ch" + ], + "redirect": [], + "wikidata": [ + "luthern.ch" + ], + "guess": [ + "luthern.ch" + ] + }, + "flags": [] + }, + "1136": { + "bfs": "1136", + "name": "Menznau", + "canton": "Kanton Luzern", + "domain": "menznau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "menznau.ch" + ], + "redirect": [], + "wikidata": [ + "menznau.ch" + ], + "guess": [ + "menznau.ch" + ] + }, + "flags": [] + }, + "1137": { + "bfs": "1137", + "name": "Nebikon", + "canton": "Kanton Luzern", + "domain": "nebikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nebikon.ch" + ], + "redirect": [], + "wikidata": [ + "nebikon.ch" + ], + "guess": [ + "nebikon.ch" + ] + }, + "flags": [] + }, + "1139": { + "bfs": "1139", + "name": "Pfaffnau", + "canton": "Kanton Luzern", + "domain": "pfaffnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pfaffnau.ch" + ], + "redirect": [], + "wikidata": [ + "pfaffnau.ch" + ], + "guess": [ + "pfaffnau.ch" + ] + }, + "flags": [] + }, + "1140": { + "bfs": "1140", + "name": "Reiden", + "canton": "Kanton Luzern", + "domain": "reiden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reiden.ch" + ], + "redirect": [], + "wikidata": [ + "reiden.ch" + ], + "guess": [ + "reiden.ch" + ] + }, + "flags": [] + }, + "1142": { + "bfs": "1142", + "name": "Roggliswil", + "canton": "Kanton Luzern", + "domain": "roggliswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roggliswil.ch" + ], + "redirect": [], + "wikidata": [ + "roggliswil.ch" + ], + "guess": [ + "roggliswil.ch" + ] + }, + "flags": [] + }, + "1143": { + "bfs": "1143", + "name": "Schötz", + "canton": "Kanton Luzern", + "domain": "schoetz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schoetz.ch" + ], + "redirect": [], + "wikidata": [ + "schoetz.ch" + ], + "guess": [ + "schoetz.ch" + ] + }, + "flags": [] + }, + "1145": { + "bfs": "1145", + "name": "Ufhusen", + "canton": "Kanton Luzern", + "domain": "ufhusen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ufhusen.ch" + ], + "redirect": [], + "wikidata": [ + "ufhusen.ch" + ], + "guess": [ + "ufhusen.ch" + ] + }, + "flags": [] + }, + "1146": { + "bfs": "1146", + "name": "Wauwil", + "canton": "Kanton Luzern", + "domain": "wauwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wauwil.ch" + ], + "redirect": [], + "wikidata": [ + "wauwil.ch" + ], + "guess": [ + "gemeinde-wauwil.ch", + "wauwil.ch" + ] + }, + "flags": [] + }, + "1147": { + "bfs": "1147", + "name": "Wikon", + "canton": "Kanton Luzern", + "domain": "wikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wikon.ch" + ], + "redirect": [], + "wikidata": [ + "wikon.ch" + ], + "guess": [ + "wikon.ch" + ] + }, + "flags": [] + }, + "1150": { + "bfs": "1150", + "name": "Zell (LU)", + "canton": "Kanton Luzern", + "domain": "zell-lu.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zell-lu.ch" + ], + "redirect": [], + "wikidata": [ + "zell-lu.ch" + ], + "guess": [ + "zell.ch" + ] + }, + "flags": [] + }, + "1151": { + "bfs": "1151", + "name": "Willisau", + "canton": "Kanton Luzern", + "domain": "willisau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "willisau.ch" + ], + "redirect": [], + "wikidata": [ + "willisau.ch" + ], + "guess": [ + "willisau.ch" + ] + }, + "flags": [] + }, + "1201": { + "bfs": "1201", + "name": "Altdorf (UR)", + "canton": "Kanton Uri", + "domain": "altdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altdorf.ch" + ], + "redirect": [], + "wikidata": [ + "altdorf.ch" + ], + "guess": [ + "altdorf.ch" + ] + }, + "flags": [] + }, + "1202": { + "bfs": "1202", + "name": "Andermatt", + "canton": "Kanton Uri", + "domain": "andermatt.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "andermatt.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-andermatt.ch" + ], + "guess": [ + "andermatt.ch", + "gemeinde-andermatt.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "1203": { + "bfs": "1203", + "name": "Attinghausen", + "canton": "Kanton Uri", + "domain": "attinghausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "attinghausen.ch" + ], + "redirect": [], + "wikidata": [ + "attinghausen.ch" + ], + "guess": [ + "attinghausen.ch" + ] + }, + "flags": [] + }, + "1205": { + "bfs": "1205", + "name": "Bürglen (UR)", + "canton": "Kanton Uri", + "domain": "buerglen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buerglen.ch" + ], + "redirect": [], + "wikidata": [ + "buerglen.ch" + ], + "guess": [ + "buerglen.ch" + ] + }, + "flags": [] + }, + "1206": { + "bfs": "1206", + "name": "Erstfeld", + "canton": "Kanton Uri", + "domain": "erstfeld.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "erstfeld.ch", + "ubiq.swiss" + ], + "redirect": [], + "wikidata": [ + "erstfeld.ch" + ], + "guess": [ + "erstfeld.ch" + ] + }, + "flags": [] + }, + "1207": { + "bfs": "1207", + "name": "Flüelen", + "canton": "Kanton Uri", + "domain": "flueelen.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "flueelen.ch" + ], + "redirect": [ + "flueelen.ch" + ], + "wikidata": [ + "fluelen.ch" + ], + "guess": [ + "flueelen.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "1208": { + "bfs": "1208", + "name": "Göschenen", + "canton": "Kanton Uri", + "domain": "goeschenen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "goeschenen.ch" + ], + "redirect": [], + "wikidata": [ + "goeschenen.ch" + ], + "guess": [ + "goeschenen.ch" + ] + }, + "flags": [] + }, + "1209": { + "bfs": "1209", + "name": "Gurtnellen", + "canton": "Kanton Uri", + "domain": "gurtnellen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gurtnellen.ch", + "ubiq.swiss" + ], + "redirect": [], + "wikidata": [ + "gurtnellen.ch" + ], + "guess": [ + "gurtnellen.ch" + ] + }, + "flags": [] + }, + "1210": { + "bfs": "1210", + "name": "Hospental", + "canton": "Kanton Uri", + "domain": "andermatt.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "andermatt.ch" + ] + }, + "flags": [] + }, + "1211": { + "bfs": "1211", + "name": "Isenthal", + "canton": "Kanton Uri", + "domain": "isenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "isenthal.ch" + ], + "redirect": [], + "wikidata": [ + "isenthal.ch" + ], + "guess": [ + "isenthal.ch" + ] + }, + "flags": [] + }, + "1212": { + "bfs": "1212", + "name": "Realp", + "canton": "Kanton Uri", + "domain": "realp.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "realp.ch", + "ubiq.swiss" + ], + "redirect": [], + "wikidata": [ + "realp.ch" + ], + "guess": [ + "realp.ch" + ] + }, + "flags": [] + }, + "1213": { + "bfs": "1213", + "name": "Schattdorf", + "canton": "Kanton Uri", + "domain": "schattdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schattdorf.ch" + ], + "redirect": [], + "wikidata": [ + "schattdorf.ch" + ], + "guess": [ + "schattdorf.ch" + ] + }, + "flags": [] + }, + "1214": { + "bfs": "1214", + "name": "Seedorf (UR)", + "canton": "Kanton Uri", + "domain": "seedorf-uri.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seedorf-uri.ch" + ], + "redirect": [], + "wikidata": [ + "seedorf-uri.ch" + ], + "guess": [ + "seedorf.ch" + ] + }, + "flags": [] + }, + "1215": { + "bfs": "1215", + "name": "Seelisberg", + "canton": "Kanton Uri", + "domain": "seelisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seelisberg.ch" + ], + "redirect": [], + "wikidata": [ + "seelisberg.ch" + ], + "guess": [ + "seelisberg.ch" + ] + }, + "flags": [] + }, + "1216": { + "bfs": "1216", + "name": "Silenen", + "canton": "Kanton Uri", + "domain": "silenen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "silenen.ch", + "ubiq.swiss" + ], + "redirect": [], + "wikidata": [ + "silenen.ch" + ], + "guess": [ + "silenen.ch" + ] + }, + "flags": [] + }, + "1217": { + "bfs": "1217", + "name": "Sisikon", + "canton": "Kanton Uri", + "domain": "sisikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sisikon.ch" + ], + "redirect": [], + "wikidata": [ + "sisikon.ch" + ], + "guess": [ + "sisikon.ch" + ] + }, + "flags": [] + }, + "1218": { + "bfs": "1218", + "name": "Spiringen", + "canton": "Kanton Uri", + "domain": "spiringen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "spiringen.ch", + "ubiq.swiss" + ], + "redirect": [], + "wikidata": [ + "spiringen.ch" + ], + "guess": [ + "spiringen.ch" + ] + }, + "flags": [] + }, + "1219": { + "bfs": "1219", + "name": "Unterschächen", + "canton": "Kanton Uri", + "domain": "unterschaechen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unterschaechen.ch" + ], + "redirect": [], + "wikidata": [ + "unterschaechen.ch" + ], + "guess": [ + "unterschaechen.ch" + ] + }, + "flags": [] + }, + "1220": { + "bfs": "1220", + "name": "Wassen", + "canton": "Kanton Uri", + "domain": "wassen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wassen.ch" + ], + "redirect": [], + "wikidata": [ + "wassen.ch" + ], + "guess": [ + "wassen.ch" + ] + }, + "flags": [] + }, + "1301": { + "bfs": "1301", + "name": "Einsiedeln", + "canton": "Kanton Schwyz", + "domain": "bezirkeinsiedeln.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bezirkeinsiedeln.ch" + ] + }, + "flags": [] + }, + "1311": { + "bfs": "1311", + "name": "Gersau", + "canton": "Kanton Schwyz", + "domain": "gersau.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gersau.ch" + ], + "guess": [ + "gersau.ch" + ] + }, + "flags": [] + }, + "1321": { + "bfs": "1321", + "name": "Feusisberg", + "canton": "Kanton Schwyz", + "domain": "feusisberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "feusisberg.ch" + ], + "guess": [ + "feusisberg.ch" + ] + }, + "flags": [] + }, + "1322": { + "bfs": "1322", + "name": "Freienbach", + "canton": "Kanton Schwyz", + "domain": "freienbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "freienbach.ch" + ], + "redirect": [], + "wikidata": [ + "freienbach.ch" + ], + "guess": [ + "freienbach.ch" + ] + }, + "flags": [] + }, + "1323": { + "bfs": "1323", + "name": "Wollerau", + "canton": "Kanton Schwyz", + "domain": "wollerau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wollerau.ch" + ], + "redirect": [], + "wikidata": [ + "wollerau.ch" + ], + "guess": [ + "wollerau.ch" + ] + }, + "flags": [] + }, + "1331": { + "bfs": "1331", + "name": "Küssnacht (SZ)", + "canton": "Kanton Schwyz", + "domain": "kuessnacht.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kuessnacht.ch" + ], + "redirect": [], + "wikidata": [ + "kuessnacht.ch" + ], + "guess": [ + "kuessnacht.ch" + ] + }, + "flags": [] + }, + "1341": { + "bfs": "1341", + "name": "Altendorf", + "canton": "Kanton Schwyz", + "domain": "altendorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altendorf.ch" + ], + "redirect": [], + "wikidata": [ + "altendorf.ch" + ], + "guess": [ + "altendorf.ch" + ] + }, + "flags": [] + }, + "1342": { + "bfs": "1342", + "name": "Galgenen", + "canton": "Kanton Schwyz", + "domain": "galgenen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "galgenen.ch" + ], + "redirect": [], + "wikidata": [ + "galgenen.ch" + ], + "guess": [ + "galgenen.ch" + ] + }, + "flags": [] + }, + "1343": { + "bfs": "1343", + "name": "Innerthal", + "canton": "Kanton Schwyz", + "domain": "innerthal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "innerthal.ch" + ], + "guess": [ + "innerthal.ch" + ] + }, + "flags": [] + }, + "1344": { + "bfs": "1344", + "name": "Lachen", + "canton": "Kanton Schwyz", + "domain": "lachen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lachen.ch" + ], + "redirect": [], + "wikidata": [ + "lachen.ch" + ], + "guess": [ + "lachen.ch" + ] + }, + "flags": [] + }, + "1345": { + "bfs": "1345", + "name": "Reichenburg", + "canton": "Kanton Schwyz", + "domain": "reichenburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reichenburg.ch" + ], + "redirect": [], + "wikidata": [ + "reichenburg.ch" + ], + "guess": [ + "reichenburg.ch" + ] + }, + "flags": [] + }, + "1346": { + "bfs": "1346", + "name": "Schübelbach", + "canton": "Kanton Schwyz", + "domain": "schuebelbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schuebelbach.ch" + ], + "redirect": [], + "wikidata": [ + "schuebelbach.ch" + ], + "guess": [ + "schuebelbach.ch" + ] + }, + "flags": [] + }, + "1347": { + "bfs": "1347", + "name": "Tuggen", + "canton": "Kanton Schwyz", + "domain": "tuggen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tuggen.ch" + ], + "redirect": [], + "wikidata": [ + "tuggen.ch" + ], + "guess": [ + "tuggen.ch" + ] + }, + "flags": [] + }, + "1348": { + "bfs": "1348", + "name": "Vorderthal", + "canton": "Kanton Schwyz", + "domain": "vorderthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vorderthal.ch" + ], + "redirect": [], + "wikidata": [ + "vorderthal.ch" + ], + "guess": [ + "vorderthal.ch" + ] + }, + "flags": [] + }, + "1349": { + "bfs": "1349", + "name": "Wangen (SZ)", + "canton": "Kanton Schwyz", + "domain": "wangensz.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wangensz.ch" + ], + "guess": [] + }, + "flags": [] + }, + "1361": { + "bfs": "1361", + "name": "Alpthal", + "canton": "Kanton Schwyz", + "domain": "alpthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "alpthal.ch" + ], + "redirect": [], + "wikidata": [ + "alpthal.ch" + ], + "guess": [ + "alpthal.ch" + ] + }, + "flags": [] + }, + "1362": { + "bfs": "1362", + "name": "Arth", + "canton": "Kanton Schwyz", + "domain": "arth.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arth.ch" + ], + "redirect": [], + "wikidata": [ + "arth.ch" + ], + "guess": [ + "arth.ch" + ] + }, + "flags": [] + }, + "1363": { + "bfs": "1363", + "name": "Illgau", + "canton": "Kanton Schwyz", + "domain": "illgau.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "illgau.ch" + ], + "guess": [ + "illgau.ch" + ] + }, + "flags": [] + }, + "1364": { + "bfs": "1364", + "name": "Ingenbohl", + "canton": "Kanton Schwyz", + "domain": "ingenbohl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ingenbohl.ch" + ], + "redirect": [], + "wikidata": [ + "ingenbohl.ch" + ], + "guess": [ + "ingenbohl.ch" + ] + }, + "flags": [] + }, + "1365": { + "bfs": "1365", + "name": "Lauerz", + "canton": "Kanton Schwyz", + "domain": "lauerz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lauerz.ch" + ], + "redirect": [], + "wikidata": [ + "lauerz.ch" + ], + "guess": [ + "lauerz.ch" + ] + }, + "flags": [] + }, + "1366": { + "bfs": "1366", + "name": "Morschach", + "canton": "Kanton Schwyz", + "domain": "morschach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "morschach.ch" + ], + "redirect": [], + "wikidata": [ + "morschach.ch" + ], + "guess": [ + "morschach.ch" + ] + }, + "flags": [] + }, + "1367": { + "bfs": "1367", + "name": "Muotathal", + "canton": "Kanton Schwyz", + "domain": "muotathal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muotathal.ch" + ], + "guess": [ + "muotathal.ch" + ] + }, + "flags": [] + }, + "1368": { + "bfs": "1368", + "name": "Oberiberg", + "canton": "Kanton Schwyz", + "domain": "oberiberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberiberg.ch" + ], + "redirect": [], + "wikidata": [ + "oberiberg.ch" + ], + "guess": [ + "oberiberg.ch" + ] + }, + "flags": [] + }, + "1369": { + "bfs": "1369", + "name": "Riemenstalden", + "canton": "Kanton Schwyz", + "domain": "riemenstalden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "riemenstalden.ch" + ], + "redirect": [], + "wikidata": [ + "riemenstalden.ch" + ], + "guess": [ + "riemenstalden.ch" + ] + }, + "flags": [] + }, + "1370": { + "bfs": "1370", + "name": "Rothenthurm", + "canton": "Kanton Schwyz", + "domain": "rothenthurm.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rothenthurm.ch" + ], + "guess": [ + "rothenthurm.ch" + ] + }, + "flags": [] + }, + "1371": { + "bfs": "1371", + "name": "Sattel", + "canton": "Kanton Schwyz", + "domain": "sattel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sattel.ch" + ], + "redirect": [], + "wikidata": [ + "sattel.ch" + ], + "guess": [ + "sattel.ch" + ] + }, + "flags": [] + }, + "1372": { + "bfs": "1372", + "name": "Schwyz", + "canton": "Kanton Schwyz", + "domain": "gemeindeschwyz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeindeschwyz.ch" + ], + "redirect": [], + "wikidata": [ + "gemeindeschwyz.ch" + ], + "guess": [ + "schwyz.ch" + ] + }, + "flags": [] + }, + "1373": { + "bfs": "1373", + "name": "Steinen", + "canton": "Kanton Schwyz", + "domain": "steinen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "steinen.ch" + ], + "redirect": [], + "wikidata": [ + "steinen.ch" + ], + "guess": [ + "steinen.ch" + ] + }, + "flags": [] + }, + "1374": { + "bfs": "1374", + "name": "Steinerberg", + "canton": "Kanton Schwyz", + "domain": "steinerberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "steinerberg.ch" + ], + "guess": [ + "steinerberg.ch" + ] + }, + "flags": [] + }, + "1375": { + "bfs": "1375", + "name": "Unteriberg", + "canton": "Kanton Schwyz", + "domain": "unteriberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "unteriberg.ch" + ], + "guess": [ + "unteriberg.ch" + ] + }, + "flags": [] + }, + "1401": { + "bfs": "1401", + "name": "Alpnach", + "canton": "Kanton Obwalden", + "domain": "alpnach.ow.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "alpnach.ow.ch" + ], + "redirect": [], + "wikidata": [ + "alpnach.ch" + ], + "guess": [ + "alpnach.ch", + "alpnach.ow.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "1402": { + "bfs": "1402", + "name": "Engelberg", + "canton": "Kanton Obwalden", + "domain": "gde-engelberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gde-engelberg.ch" + ], + "redirect": [], + "wikidata": [ + "gde-engelberg.ch" + ], + "guess": [ + "engelberg.ch", + "engelberg.ow.ch" + ] + }, + "flags": [] + }, + "1403": { + "bfs": "1403", + "name": "Giswil", + "canton": "Kanton Obwalden", + "domain": "giswil.ow.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "giswil.ow.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "giswil.ow.ch" + ] + }, + "flags": [] + }, + "1404": { + "bfs": "1404", + "name": "Kerns", + "canton": "Kanton Obwalden", + "domain": "kerns.ow.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "kerns.ow.ch" + ], + "redirect": [], + "wikidata": [ + "kerns.ch" + ], + "guess": [ + "kerns.ch", + "kerns.ow.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "1405": { + "bfs": "1405", + "name": "Lungern", + "canton": "Kanton Obwalden", + "domain": "lungern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lungern.ch" + ], + "redirect": [], + "wikidata": [ + "lungern.ch" + ], + "guess": [ + "lungern.ch", + "lungern.ow.ch" + ] + }, + "flags": [] + }, + "1406": { + "bfs": "1406", + "name": "Sachseln", + "canton": "Kanton Obwalden", + "domain": "sachseln.ow.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sachseln.ow.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "sachseln.ow.ch" + ] + }, + "flags": [] + }, + "1407": { + "bfs": "1407", + "name": "Sarnen", + "canton": "Kanton Obwalden", + "domain": "sarnen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sarnen.ch" + ], + "redirect": [], + "wikidata": [ + "sarnen.ch" + ], + "guess": [ + "sarnen.ch", + "sarnen.ow.ch" + ] + }, + "flags": [] + }, + "1501": { + "bfs": "1501", + "name": "Beckenried", + "canton": "Kanton Nidwalden", + "domain": "gv.beckenried.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gv.beckenried.ch" + ] + }, + "flags": [] + }, + "1502": { + "bfs": "1502", + "name": "Buochs", + "canton": "Kanton Nidwalden", + "domain": "buochs.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buochs.ch" + ], + "redirect": [], + "wikidata": [ + "buochs.ch" + ], + "guess": [ + "buochs.ch" + ] + }, + "flags": [] + }, + "1503": { + "bfs": "1503", + "name": "Dallenwil", + "canton": "Kanton Nidwalden", + "domain": "nw.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "nw.ch" + ] + }, + "flags": [] + }, + "1504": { + "bfs": "1504", + "name": "Emmetten", + "canton": "Kanton Nidwalden", + "domain": "emmetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "emmetten.ch" + ], + "redirect": [], + "wikidata": [ + "emmetten.ch" + ], + "guess": [ + "emmetten.ch" + ] + }, + "flags": [] + }, + "1505": { + "bfs": "1505", + "name": "Ennetbürgen", + "canton": "Kanton Nidwalden", + "domain": "ennetbuergen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ennetbuergen.ch" + ], + "redirect": [], + "wikidata": [ + "ennetbuergen.ch" + ], + "guess": [ + "ennetbuergen.ch" + ] + }, + "flags": [] + }, + "1506": { + "bfs": "1506", + "name": "Ennetmoos", + "canton": "Kanton Nidwalden", + "domain": "ennetmoos.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ennetmoos.ch" + ], + "redirect": [], + "wikidata": [ + "ennetmoos.ch" + ], + "guess": [ + "ennetmoos.ch" + ] + }, + "flags": [] + }, + "1507": { + "bfs": "1507", + "name": "Hergiswil (NW)", + "canton": "Kanton Nidwalden", + "domain": "hergiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hergiswil.ch" + ], + "redirect": [], + "wikidata": [ + "hergiswil.ch" + ], + "guess": [ + "gemeinde-hergiswil.ch", + "hergiswil.ch" + ] + }, + "flags": [] + }, + "1508": { + "bfs": "1508", + "name": "Oberdorf (NW)", + "canton": "Kanton Nidwalden", + "domain": "nw.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "nw.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "oberdorf.ch" + ] + }, + "flags": [] + }, + "1509": { + "bfs": "1509", + "name": "Stans", + "canton": "Kanton Nidwalden", + "domain": "stans.nw.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "stans.nw.ch" + ], + "redirect": [], + "wikidata": [ + "stans.ch" + ], + "guess": [ + "stans.ch", + "stans.nw.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "1510": { + "bfs": "1510", + "name": "Stansstad", + "canton": "Kanton Nidwalden", + "domain": "stansstad.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stansstad.ch" + ], + "redirect": [], + "wikidata": [ + "stansstad.ch" + ], + "guess": [ + "stansstad.ch" + ] + }, + "flags": [] + }, + "1511": { + "bfs": "1511", + "name": "Wolfenschiessen", + "canton": "Kanton Nidwalden", + "domain": "wolfenschiessen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wolfenschiessen.ch" + ], + "redirect": [], + "wikidata": [ + "wolfenschiessen.ch" + ], + "guess": [ + "wolfenschiessen.ch" + ] + }, + "flags": [] + }, + "1630": { + "bfs": "1630", + "name": "Glarus Nord", + "canton": "Kanton Glarus", + "domain": "glarus-nord.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "glarus-nord.ch" + ], + "guess": [ + "glarus-nord.ch", + "glarusnord.ch" + ] + }, + "flags": [] + }, + "1631": { + "bfs": "1631", + "name": "Glarus Süd", + "canton": "Kanton Glarus", + "domain": "glarus-sued.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "glarus-sued.ch" + ], + "guess": [ + "glarus-sued.ch" + ] + }, + "flags": [] + }, + "1632": { + "bfs": "1632", + "name": "Glarus", + "canton": "Kanton Glarus", + "domain": "glarus.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "glarus.ch" + ], + "guess": [ + "glarus.ch" + ] + }, + "flags": [] + }, + "1701": { + "bfs": "1701", + "name": "Baar", + "canton": "Kanton Zug", + "domain": "baar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "baar.ch" + ], + "redirect": [], + "wikidata": [ + "baar.ch" + ], + "guess": [ + "baar.ch" + ] + }, + "flags": [] + }, + "1702": { + "bfs": "1702", + "name": "Cham", + "canton": "Kanton Zug", + "domain": "cham.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cham.ch" + ], + "redirect": [], + "wikidata": [ + "cham.ch" + ], + "guess": [ + "cham.ch" + ] + }, + "flags": [] + }, + "1703": { + "bfs": "1703", + "name": "Hünenberg", + "canton": "Kanton Zug", + "domain": "huenenberg.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "huenenberg.ch" + ] + }, + "flags": [] + }, + "1704": { + "bfs": "1704", + "name": "Menzingen", + "canton": "Kanton Zug", + "domain": "menzingen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "menzingen.ch" + ] + }, + "flags": [] + }, + "1705": { + "bfs": "1705", + "name": "Neuheim", + "canton": "Kanton Zug", + "domain": "neuheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neuheim.ch" + ], + "redirect": [], + "wikidata": [ + "neuheim.ch" + ], + "guess": [ + "neuheim.ch" + ] + }, + "flags": [] + }, + "1706": { + "bfs": "1706", + "name": "Oberägeri", + "canton": "Kanton Zug", + "domain": "oberaegeri.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberaegeri.ch" + ], + "redirect": [], + "wikidata": [ + "oberaegeri.ch" + ], + "guess": [ + "oberaegeri.ch" + ] + }, + "flags": [] + }, + "1707": { + "bfs": "1707", + "name": "Risch", + "canton": "Kanton Zug", + "domain": "rischrotkreuz.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "rischrotkreuz.ch" + ] + }, + "flags": [] + }, + "1708": { + "bfs": "1708", + "name": "Steinhausen", + "canton": "Kanton Zug", + "domain": "steinhausen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "steinhausen.ch" + ] + }, + "flags": [] + }, + "1709": { + "bfs": "1709", + "name": "Unterägeri", + "canton": "Kanton Zug", + "domain": "unteraegeri.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unteraegeri.ch" + ], + "redirect": [], + "wikidata": [ + "unteraegeri.ch" + ], + "guess": [ + "unteraegeri.ch" + ] + }, + "flags": [] + }, + "1710": { + "bfs": "1710", + "name": "Walchwil", + "canton": "Kanton Zug", + "domain": "walchwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walchwil.ch" + ], + "redirect": [], + "wikidata": [ + "walchwil.ch" + ], + "guess": [ + "walchwil.ch" + ] + }, + "flags": [] + }, + "1711": { + "bfs": "1711", + "name": "Zug", + "canton": "Kanton Zug", + "domain": "stadtzug.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stadtzug.ch" + ], + "redirect": [], + "wikidata": [ + "stadtzug.ch" + ], + "guess": [ + "zug.ch" + ] + }, + "flags": [] + }, + "2008": { + "bfs": "2008", + "name": "Châtillon (FR)", + "canton": "Kanton Freiburg", + "domain": "chatillon-broye.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chatillon-broye.ch" + ], + "redirect": [], + "wikidata": [ + "chatillon-broye.ch" + ], + "guess": [ + "chatillon.ch" + ] + }, + "flags": [] + }, + "2011": { + "bfs": "2011", + "name": "Cugy (FR)", + "canton": "Kanton Freiburg", + "domain": "hemmer.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "cugy-fr.ch" + ], + "guess": [ + "cugy.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2022": { + "bfs": "2022", + "name": "Gletterens", + "canton": "Kanton Freiburg", + "domain": "gletterens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gletterens.ch" + ], + "guess": [ + "gletterens.ch" + ] + }, + "flags": [] + }, + "2025": { + "bfs": "2025", + "name": "Lully (FR)", + "canton": "Kanton Freiburg", + "domain": "lully-fr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "lully-fr.ch" + ], + "redirect": [], + "wikidata": [ + "lully-fr.ch" + ], + "guess": [ + "lully.ch" + ] + }, + "flags": [] + }, + "2029": { + "bfs": "2029", + "name": "Montagny (FR)", + "canton": "Kanton Freiburg", + "domain": "montagny-fr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montagny-fr.ch" + ], + "redirect": [], + "wikidata": [ + "montagny-fr.ch" + ], + "guess": [ + "montagny.ch" + ] + }, + "flags": [] + }, + "2035": { + "bfs": "2035", + "name": "Nuvilly", + "canton": "Kanton Freiburg", + "domain": "nuvilly.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "nuvilly.ch" + ], + "redirect": [], + "wikidata": [ + "nuvilly.ch" + ], + "guess": [ + "nuvilly.ch" + ] + }, + "flags": [] + }, + "2038": { + "bfs": "2038", + "name": "Prévondavaux", + "canton": "Kanton Freiburg", + "domain": "prevondavaux.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "prevondavaux.ch" + ], + "guess": [ + "prevondavaux.ch" + ] + }, + "flags": [] + }, + "2041": { + "bfs": "2041", + "name": "Saint-Aubin (FR)", + "canton": "Kanton Freiburg", + "domain": "saint-aubin.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "saint-aubin.ch" + ], + "redirect": [ + "saint-aubin.ch" + ], + "wikidata": [ + "st-aubin.ch" + ], + "guess": [ + "saint-aubin.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2043": { + "bfs": "2043", + "name": "Sévaz", + "canton": "Kanton Freiburg", + "domain": "sevaz.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "sevaz.ch" + ], + "guess": [ + "sevaz.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2044": { + "bfs": "2044", + "name": "Surpierre", + "canton": "Kanton Freiburg", + "domain": "surpierre-fr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "surpierre-fr.ch" + ], + "redirect": [], + "wikidata": [ + "surpierre-fr.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2045": { + "bfs": "2045", + "name": "Vallon", + "canton": "Kanton Freiburg", + "domain": "vallon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vallon.ch" + ], + "redirect": [], + "wikidata": [ + "vallon.ch" + ], + "guess": [ + "vallon.ch" + ] + }, + "flags": [] + }, + "2050": { + "bfs": "2050", + "name": "Les Montets", + "canton": "Kanton Freiburg", + "domain": "les-montets.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "les-montets.ch" + ], + "guess": [ + "les-montets.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2051": { + "bfs": "2051", + "name": "Delley-Portalban", + "canton": "Kanton Freiburg", + "domain": "delley-portalban.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "delley-portalban.ch", + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "delley-portalban.ch" + ], + "guess": [ + "delley-portalban.ch" + ] + }, + "flags": [] + }, + "2053": { + "bfs": "2053", + "name": "Belmont-Broye", + "canton": "Kanton Freiburg", + "domain": "belmont-broye.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "belmont-broye.ch" + ], + "redirect": [], + "wikidata": [ + "belmont-broye.ch" + ], + "guess": [ + "belmont-broye.ch" + ] + }, + "flags": [] + }, + "2054": { + "bfs": "2054", + "name": "Estavayer", + "canton": "Kanton Freiburg", + "domain": "estavayer.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "estavayer.ch" + ], + "guess": [ + "estavayer.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2055": { + "bfs": "2055", + "name": "Cheyres-Châbles", + "canton": "Kanton Freiburg", + "domain": "cheyres-chables.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cheyres-chables.ch" + ], + "redirect": [], + "wikidata": [ + "cheyres-chables.ch" + ], + "guess": [ + "cheyres-chables.ch" + ] + }, + "flags": [] + }, + "2056": { + "bfs": "2056", + "name": "Fétigny-Ménières", + "canton": "Kanton Freiburg", + "domain": "fetigny-menieres.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "fetigny-menieres.ch" + ] + }, + "flags": [] + }, + "2063": { + "bfs": "2063", + "name": "Billens-Hennens", + "canton": "Kanton Freiburg", + "domain": "billens-hennens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "billens-hennens.ch" + ], + "guess": [ + "billens-hennens.ch" + ] + }, + "flags": [] + }, + "2067": { + "bfs": "2067", + "name": "Le Châtelard", + "canton": "Kanton Freiburg", + "domain": "le-chatelard.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "le-chatelard.ch" + ], + "redirect": [], + "wikidata": [ + "le-chatelard.ch" + ], + "guess": [ + "le-chatelard.ch" + ] + }, + "flags": [] + }, + "2068": { + "bfs": "2068", + "name": "Châtonnaye", + "canton": "Kanton Freiburg", + "domain": "chatonnaye.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chatonnaye.ch" + ], + "redirect": [], + "wikidata": [ + "chatonnaye.ch" + ], + "guess": [ + "chatonnaye.ch" + ] + }, + "flags": [] + }, + "2079": { + "bfs": "2079", + "name": "Grangettes", + "canton": "Kanton Freiburg", + "domain": "grangettes-pres-romont.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grangettes-pres-romont.ch" + ], + "redirect": [], + "wikidata": [ + "grangettes-pres-romont.ch" + ], + "guess": [ + "grangettes.ch" + ] + }, + "flags": [] + }, + "2086": { + "bfs": "2086", + "name": "Massonnens", + "canton": "Kanton Freiburg", + "domain": "massonnens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "massonnens.ch" + ], + "redirect": [], + "wikidata": [ + "massonnens.ch" + ], + "guess": [ + "massonnens.ch" + ] + }, + "flags": [] + }, + "2087": { + "bfs": "2087", + "name": "Mézières (FR)", + "canton": "Kanton Freiburg", + "domain": "mezieres-fr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mezieres-fr.ch", + "romontregion.ch", + "sante-glane.ch", + "torny2025.ch" + ], + "redirect": [], + "wikidata": [ + "mezieres-fr.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2096": { + "bfs": "2096", + "name": "Romont (FR)", + "canton": "Kanton Freiburg", + "domain": "romont.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "romont.ch" + ], + "redirect": [], + "wikidata": [ + "romont.ch" + ], + "guess": [ + "romont.ch" + ] + }, + "flags": [] + }, + "2097": { + "bfs": "2097", + "name": "Rue", + "canton": "Kanton Freiburg", + "domain": "rue.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rue.ch" + ], + "redirect": [], + "wikidata": [ + "rue.ch" + ], + "guess": [ + "rue.ch" + ] + }, + "flags": [] + }, + "2099": { + "bfs": "2099", + "name": "Siviriez", + "canton": "Kanton Freiburg", + "domain": "siviriez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "siviriez.ch" + ], + "redirect": [], + "wikidata": [ + "siviriez.ch" + ], + "guess": [ + "siviriez.ch" + ] + }, + "flags": [] + }, + "2102": { + "bfs": "2102", + "name": "Ursy", + "canton": "Kanton Freiburg", + "domain": "ursy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ursy.ch" + ], + "redirect": [], + "wikidata": [ + "ursy.ch" + ], + "guess": [ + "ursy.ch" + ] + }, + "flags": [] + }, + "2113": { + "bfs": "2113", + "name": "Vuisternens-devant-Romont", + "canton": "Kanton Freiburg", + "domain": "vuisternens-devant-romont.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [ + "vuisternens.ch" + ], + "wikidata": [ + "vuisternens-devant-romont.ch" + ], + "guess": [ + "vuisternens-devant-romont.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2114": { + "bfs": "2114", + "name": "Villorsonnens", + "canton": "Kanton Freiburg", + "domain": "villorsonnens.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "villorsonnens.ch" + ] + }, + "flags": [] + }, + "2115": { + "bfs": "2115", + "name": "Torny", + "canton": "Kanton Freiburg", + "domain": "torny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "torny.ch" + ], + "guess": [ + "torny.ch" + ] + }, + "flags": [] + }, + "2117": { + "bfs": "2117", + "name": "Villaz", + "canton": "Kanton Freiburg", + "domain": "communevillaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "communevillaz.ch" + ], + "redirect": [], + "wikidata": [ + "communevillaz.ch" + ], + "guess": [ + "villaz.ch" + ] + }, + "flags": [] + }, + "2121": { + "bfs": "2121", + "name": "Haut-Intyamon", + "canton": "Kanton Freiburg", + "domain": "haut-intyamon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haut-intyamon.ch", + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "haut-intyamon.ch" + ], + "guess": [ + "haut-intyamon.ch" + ] + }, + "flags": [] + }, + "2122": { + "bfs": "2122", + "name": "Pont-en-Ogoz", + "canton": "Kanton Freiburg", + "domain": "pont-en-ogoz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pont-en-ogoz.ch" + ], + "redirect": [], + "wikidata": [ + "pont-en-ogoz.ch" + ], + "guess": [ + "pont-en-ogoz.ch" + ] + }, + "flags": [] + }, + "2123": { + "bfs": "2123", + "name": "Botterens", + "canton": "Kanton Freiburg", + "domain": "botterens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "botterens.ch" + ], + "redirect": [], + "wikidata": [ + "botterens.ch" + ], + "guess": [ + "botterens.ch" + ] + }, + "flags": [] + }, + "2124": { + "bfs": "2124", + "name": "Broc", + "canton": "Kanton Freiburg", + "domain": "broc.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "broc.ch" + ], + "guess": [ + "broc.ch" + ] + }, + "flags": [] + }, + "2125": { + "bfs": "2125", + "name": "Bulle", + "canton": "Kanton Freiburg", + "domain": "bulle.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bulle.ch" + ], + "guess": [ + "bulle.ch" + ] + }, + "flags": [] + }, + "2128": { + "bfs": "2128", + "name": "Châtel-sur-Montsalvens", + "canton": "Kanton Freiburg", + "domain": "chatel-montsalvens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chatel-montsalvens.ch" + ], + "redirect": [], + "wikidata": [ + "chatel-montsalvens.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2129": { + "bfs": "2129", + "name": "Corbières", + "canton": "Kanton Freiburg", + "domain": "corbieres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corbieres.ch" + ], + "redirect": [], + "wikidata": [ + "corbieres.ch" + ], + "guess": [ + "corbieres.ch" + ] + }, + "flags": [] + }, + "2130": { + "bfs": "2130", + "name": "Crésuz", + "canton": "Kanton Freiburg", + "domain": "cresuz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cresuz.ch" + ], + "redirect": [], + "wikidata": [ + "cresuz.ch" + ], + "guess": [ + "cresuz.ch" + ] + }, + "flags": [] + }, + "2131": { + "bfs": "2131", + "name": "Echarlens", + "canton": "Kanton Freiburg", + "domain": "echarlens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "echarlens.ch" + ], + "redirect": [], + "wikidata": [ + "echarlens.ch" + ], + "guess": [ + "echarlens.ch" + ] + }, + "flags": [] + }, + "2134": { + "bfs": "2134", + "name": "Grandvillard", + "canton": "Kanton Freiburg", + "domain": "grandvillard.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grandvillard.ch" + ], + "guess": [ + "grandvillard.ch" + ] + }, + "flags": [] + }, + "2135": { + "bfs": "2135", + "name": "Gruyères", + "canton": "Kanton Freiburg", + "domain": "gruyeres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gruyeres.ch" + ], + "redirect": [], + "wikidata": [ + "gruyeres.ch" + ], + "guess": [ + "gruyeres.ch" + ] + }, + "flags": [] + }, + "2137": { + "bfs": "2137", + "name": "Hauteville", + "canton": "Kanton Freiburg", + "domain": "hauteville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hauteville.ch" + ], + "redirect": [], + "wikidata": [ + "hauteville.ch" + ], + "guess": [ + "hauteville.ch" + ] + }, + "flags": [] + }, + "2138": { + "bfs": "2138", + "name": "Jaun", + "canton": "Kanton Freiburg", + "domain": "jaun.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jaun.ch" + ], + "redirect": [], + "wikidata": [ + "jaun.ch" + ], + "guess": [ + "jaun.ch" + ] + }, + "flags": [] + }, + "2140": { + "bfs": "2140", + "name": "Marsens", + "canton": "Kanton Freiburg", + "domain": "marsens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "marsens.ch" + ], + "redirect": [], + "wikidata": [ + "marsens.ch" + ], + "guess": [ + "marsens.ch" + ] + }, + "flags": [] + }, + "2143": { + "bfs": "2143", + "name": "Morlon", + "canton": "Kanton Freiburg", + "domain": "morlon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "morlon.ch" + ], + "redirect": [], + "wikidata": [ + "morlon.ch" + ], + "guess": [ + "morlon.ch" + ] + }, + "flags": [] + }, + "2145": { + "bfs": "2145", + "name": "Le Pâquier (FR)", + "canton": "Kanton Freiburg", + "domain": "lepaquier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lepaquier.ch" + ], + "guess": [ + "lepaquier.ch" + ] + }, + "flags": [] + }, + "2147": { + "bfs": "2147", + "name": "Pont-la-Ville", + "canton": "Kanton Freiburg", + "domain": "pont-la-ville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pont-la-ville.ch" + ], + "redirect": [], + "wikidata": [ + "pont-la-ville.ch" + ], + "guess": [ + "pont-la-ville.ch" + ] + }, + "flags": [] + }, + "2148": { + "bfs": "2148", + "name": "Riaz", + "canton": "Kanton Freiburg", + "domain": "riaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "riaz.ch" + ], + "redirect": [], + "wikidata": [ + "riaz.ch" + ], + "guess": [ + "riaz.ch" + ] + }, + "flags": [] + }, + "2149": { + "bfs": "2149", + "name": "La Roche", + "canton": "Kanton Freiburg", + "domain": "la-roche.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "la-roche.ch" + ], + "redirect": [], + "wikidata": [ + "la-roche.ch" + ], + "guess": [ + "la-roche.ch", + "laroche.ch" + ] + }, + "flags": [] + }, + "2152": { + "bfs": "2152", + "name": "Sâles", + "canton": "Kanton Freiburg", + "domain": "sales.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sales.ch" + ], + "redirect": [], + "wikidata": [ + "sales.ch" + ], + "guess": [ + "sales.ch" + ] + }, + "flags": [] + }, + "2153": { + "bfs": "2153", + "name": "Sorens", + "canton": "Kanton Freiburg", + "domain": "sorens.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "sorens.ch" + ], + "guess": [ + "sorens.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2155": { + "bfs": "2155", + "name": "Vaulruz", + "canton": "Kanton Freiburg", + "domain": "vaulruz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vaulruz.ch" + ], + "redirect": [], + "wikidata": [ + "vaulruz.ch" + ], + "guess": [ + "vaulruz.ch" + ] + }, + "flags": [] + }, + "2160": { + "bfs": "2160", + "name": "Vuadens", + "canton": "Kanton Freiburg", + "domain": "vuadens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vuadens.ch" + ], + "redirect": [], + "wikidata": [ + "vuadens.ch" + ], + "guess": [ + "vuadens.ch" + ] + }, + "flags": [] + }, + "2162": { + "bfs": "2162", + "name": "Bas-Intyamon", + "canton": "Kanton Freiburg", + "domain": "bas-intyamon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bas-intyamon.ch" + ], + "redirect": [], + "wikidata": [ + "bas-intyamon.ch" + ], + "guess": [ + "bas-intyamon.ch" + ] + }, + "flags": [] + }, + "2163": { + "bfs": "2163", + "name": "Val-de-Charmey", + "canton": "Kanton Freiburg", + "domain": "val-de-charmey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "val-de-charmey.ch" + ], + "redirect": [], + "wikidata": [ + "val-de-charmey.ch" + ], + "guess": [ + "val-de-charmey.ch" + ] + }, + "flags": [] + }, + "2173": { + "bfs": "2173", + "name": "Autigny", + "canton": "Kanton Freiburg", + "domain": "autigny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "autigny.ch" + ], + "guess": [ + "autigny.ch" + ] + }, + "flags": [] + }, + "2174": { + "bfs": "2174", + "name": "Avry", + "canton": "Kanton Freiburg", + "domain": "avry.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "avry.ch" + ], + "redirect": [], + "wikidata": [ + "avry.ch" + ], + "guess": [ + "avry.ch" + ] + }, + "flags": [] + }, + "2175": { + "bfs": "2175", + "name": "Belfaux", + "canton": "Kanton Freiburg", + "domain": "belfaux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "belfaux.ch" + ], + "redirect": [], + "wikidata": [ + "belfaux.ch" + ], + "guess": [ + "belfaux.ch" + ] + }, + "flags": [] + }, + "2177": { + "bfs": "2177", + "name": "Chénens", + "canton": "Kanton Freiburg", + "domain": "chenens.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "chenens.ch" + ], + "guess": [ + "chenens.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2183": { + "bfs": "2183", + "name": "Corminboeuf", + "canton": "Kanton Freiburg", + "domain": "corminboeuf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corminboeuf.ch", + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "corminboeuf.ch" + ], + "guess": [ + "corminboeuf.ch" + ] + }, + "flags": [] + }, + "2186": { + "bfs": "2186", + "name": "Cottens (FR)", + "canton": "Kanton Freiburg", + "domain": "cottens-fr.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "cottens-fr.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2194": { + "bfs": "2194", + "name": "Ferpicloz", + "canton": "Kanton Freiburg", + "domain": "ferpicloz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ferpicloz.ch" + ], + "redirect": [], + "wikidata": [ + "ferpicloz.ch" + ], + "guess": [ + "ferpicloz.ch" + ] + }, + "flags": [] + }, + "2196": { + "bfs": "2196", + "name": "Fribourg", + "canton": "Kanton Freiburg", + "domain": "ville-fr.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "ville-fr.ch" + ], + "redirect": [], + "wikidata": [ + "ville-fribourg.ch" + ], + "guess": [ + "fribourg.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2197": { + "bfs": "2197", + "name": "Givisiez", + "canton": "Kanton Freiburg", + "domain": "givisiez.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "givisiez.ch" + ], + "guess": [ + "givisiez.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2198": { + "bfs": "2198", + "name": "Granges-Paccot", + "canton": "Kanton Freiburg", + "domain": "granges-paccot.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "granges-paccot.ch" + ], + "redirect": [], + "wikidata": [ + "granges-paccot.ch" + ], + "guess": [ + "granges-paccot.ch" + ] + }, + "flags": [] + }, + "2206": { + "bfs": "2206", + "name": "Marly", + "canton": "Kanton Freiburg", + "domain": "marly.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "marly.ch" + ], + "redirect": [], + "wikidata": [ + "marly.ch" + ], + "guess": [ + "marly.ch" + ] + }, + "flags": [] + }, + "2208": { + "bfs": "2208", + "name": "Matran", + "canton": "Kanton Freiburg", + "domain": "matran.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "matran.ch" + ], + "redirect": [], + "wikidata": [ + "matran.ch" + ], + "guess": [ + "matran.ch" + ] + }, + "flags": [] + }, + "2211": { + "bfs": "2211", + "name": "Neyruz (FR)", + "canton": "Kanton Freiburg", + "domain": "neyruz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neyruz.ch" + ], + "redirect": [], + "wikidata": [ + "neyruz.ch" + ], + "guess": [ + "neyruz.ch" + ] + }, + "flags": [] + }, + "2216": { + "bfs": "2216", + "name": "Pierrafortscha", + "canton": "Kanton Freiburg", + "domain": "pierrafortscha.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "pierrafortscha.ch" + ], + "redirect": [], + "wikidata": [ + "pierrafortscha.ch" + ], + "guess": [ + "pierrafortscha.ch" + ] + }, + "flags": [] + }, + "2220": { + "bfs": "2220", + "name": "Le Mouret", + "canton": "Kanton Freiburg", + "domain": "le-mouret.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "le-mouret.ch" + ], + "redirect": [], + "wikidata": [ + "le-mouret.ch" + ], + "guess": [ + "le-mouret.ch", + "lemouret.ch" + ] + }, + "flags": [] + }, + "2226": { + "bfs": "2226", + "name": "Treyvaux", + "canton": "Kanton Freiburg", + "domain": "treyvaux.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "treyvaux.ch" + ], + "guess": [ + "treyvaux.ch" + ] + }, + "flags": [] + }, + "2228": { + "bfs": "2228", + "name": "Villars-sur-Glâne", + "canton": "Kanton Freiburg", + "domain": "villars-sur-glane.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "villars-sur-glane.ch" + ], + "redirect": [], + "wikidata": [ + "villars-sur-glane.ch" + ], + "guess": [ + "villars-sur-glane.ch" + ] + }, + "flags": [] + }, + "2230": { + "bfs": "2230", + "name": "Villarsel-sur-Marly", + "canton": "Kanton Freiburg", + "domain": "villarsel-sur-marly.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "le-mouret.ch", + "sochs.ch" + ], + "redirect": [], + "wikidata": [ + "villarsel-sur-marly.ch" + ], + "guess": [ + "villarsel-sur-marly.ch", + "villarselsurmarly.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2233": { + "bfs": "2233", + "name": "Hauterive (FR)", + "canton": "Kanton Freiburg", + "domain": "hauterivefr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hauterivefr.ch", + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "hauterivefr.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2234": { + "bfs": "2234", + "name": "La Brillaz", + "canton": "Kanton Freiburg", + "domain": "labrillaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "labrillaz.ch" + ], + "guess": [ + "labrillaz.ch" + ] + }, + "flags": [] + }, + "2235": { + "bfs": "2235", + "name": "La Sonnaz", + "canton": "Kanton Freiburg", + "domain": "lasonnaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lasonnaz.ch" + ], + "redirect": [], + "wikidata": [ + "lasonnaz.ch" + ], + "guess": [ + "lasonnaz.ch" + ] + }, + "flags": [] + }, + "2236": { + "bfs": "2236", + "name": "Gibloux", + "canton": "Kanton Freiburg", + "domain": "commune-gibloux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "commune-gibloux.ch", + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "commune-gibloux.ch" + ], + "guess": [ + "commune-de-gibloux.ch", + "gibloux.ch" + ] + }, + "flags": [] + }, + "2237": { + "bfs": "2237", + "name": "Prez", + "canton": "Kanton Freiburg", + "domain": "prez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmer.ch", + "prez.ch" + ], + "redirect": [], + "wikidata": [ + "prez.ch" + ], + "guess": [ + "prez.ch" + ] + }, + "flags": [] + }, + "2238": { + "bfs": "2238", + "name": "Bois-d'Amont", + "canton": "Kanton Freiburg", + "domain": "bois-damont.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bois-damont.ch" + ], + "redirect": [], + "wikidata": [ + "bois-damont.ch" + ], + "guess": [ + "bois-damont.ch", + "boisdamont.ch" + ] + }, + "flags": [] + }, + "2239": { + "bfs": "2239", + "name": "Grolley-Ponthaux", + "canton": "Kanton Freiburg", + "domain": "grolley-ponthaux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grolley-ponthaux.ch" + ], + "redirect": [], + "wikidata": [ + "grolley-ponthaux.ch" + ], + "guess": [ + "grolley-ponthaux.ch" + ] + }, + "flags": [] + }, + "2250": { + "bfs": "2250", + "name": "Courgevaux", + "canton": "Kanton Freiburg", + "domain": "courgevaux.ch", + "source": "redirect", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [ + "courgevaux.ch" + ], + "wikidata": [ + "courgevaux-gurwolf.ch" + ], + "guess": [ + "courgevaux.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2254": { + "bfs": "2254", + "name": "Courtepin", + "canton": "Kanton Freiburg", + "domain": "courtepin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "courtepin.ch" + ], + "redirect": [], + "wikidata": [ + "courtepin.ch" + ], + "guess": [ + "courtepin.ch" + ] + }, + "flags": [] + }, + "2257": { + "bfs": "2257", + "name": "Cressier (FR)", + "canton": "Kanton Freiburg", + "domain": "cressier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cressier.ch", + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "cressier.ch" + ], + "guess": [ + "cressier.ch" + ] + }, + "flags": [] + }, + "2258": { + "bfs": "2258", + "name": "Fräschels", + "canton": "Kanton Freiburg", + "domain": "fraeschels.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fraeschels.ch" + ], + "guess": [ + "fraeschels.ch" + ] + }, + "flags": [] + }, + "2261": { + "bfs": "2261", + "name": "Greng", + "canton": "Kanton Freiburg", + "domain": "greng.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "greng.ch" + ], + "redirect": [], + "wikidata": [ + "greng.ch" + ], + "guess": [ + "greng.ch" + ] + }, + "flags": [] + }, + "2262": { + "bfs": "2262", + "name": "Gurmels", + "canton": "Kanton Freiburg", + "domain": "gurmels.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gurmels.ch" + ], + "redirect": [], + "wikidata": [ + "gurmels.ch" + ], + "guess": [ + "gurmels.ch" + ] + }, + "flags": [] + }, + "2265": { + "bfs": "2265", + "name": "Kerzers", + "canton": "Kanton Freiburg", + "domain": "kerzers.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kerzers.ch" + ], + "redirect": [], + "wikidata": [ + "kerzers.ch" + ], + "guess": [ + "kerzers.ch" + ] + }, + "flags": [] + }, + "2266": { + "bfs": "2266", + "name": "Kleinbösingen", + "canton": "Kanton Freiburg", + "domain": "kleinboesingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kleinboesingen.ch" + ], + "redirect": [], + "wikidata": [ + "kleinboesingen.ch" + ], + "guess": [ + "kleinboesingen.ch" + ] + }, + "flags": [] + }, + "2271": { + "bfs": "2271", + "name": "Meyriez", + "canton": "Kanton Freiburg", + "domain": "meyriez.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "meyriez.ch" + ], + "redirect": [], + "wikidata": [ + "merlach.ch" + ], + "guess": [ + "meyriez.ch" + ] + }, + "flags": [ + "sources_disagree", + "website_mismatch" + ] + }, + "2272": { + "bfs": "2272", + "name": "Misery-Courtion", + "canton": "Kanton Freiburg", + "domain": "misery-courtion.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "misery-courtion.ch" + ], + "redirect": [ + "miserycourtion.ch" + ], + "wikidata": [ + "misery-courtion.ch" + ], + "guess": [ + "misery-courtion.ch", + "miserycourtion.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2274": { + "bfs": "2274", + "name": "Muntelier", + "canton": "Kanton Freiburg", + "domain": "muntelier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muntelier.ch" + ], + "redirect": [], + "wikidata": [ + "muntelier.ch" + ], + "guess": [ + "muntelier.ch" + ] + }, + "flags": [] + }, + "2275": { + "bfs": "2275", + "name": "Murten", + "canton": "Kanton Freiburg", + "domain": "murten-morat.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "murten-morat.ch" + ], + "redirect": [], + "wikidata": [ + "murten-morat.ch" + ], + "guess": [ + "murten.ch" + ] + }, + "flags": [] + }, + "2276": { + "bfs": "2276", + "name": "Ried bei Kerzers", + "canton": "Kanton Freiburg", + "domain": "ried.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ried.ch" + ], + "redirect": [], + "wikidata": [ + "ried.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2284": { + "bfs": "2284", + "name": "Mont-Vully", + "canton": "Kanton Freiburg", + "domain": "mont-vully.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mont-vully.ch" + ], + "redirect": [], + "wikidata": [ + "mont-vully.ch" + ], + "guess": [ + "mont-vully.ch", + "montvully.ch" + ] + }, + "flags": [] + }, + "2292": { + "bfs": "2292", + "name": "Brünisried", + "canton": "Kanton Freiburg", + "domain": "bruenisried.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bruenisried.ch" + ], + "guess": [ + "bruenisried.ch" + ] + }, + "flags": [] + }, + "2293": { + "bfs": "2293", + "name": "Düdingen", + "canton": "Kanton Freiburg", + "domain": "duedingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duedingen.ch" + ], + "redirect": [], + "wikidata": [ + "duedingen.ch" + ], + "guess": [ + "duedingen.ch" + ] + }, + "flags": [] + }, + "2294": { + "bfs": "2294", + "name": "Giffers", + "canton": "Kanton Freiburg", + "domain": "giffers.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "giffers.ch" + ], + "redirect": [], + "wikidata": [ + "giffers.ch" + ], + "guess": [ + "giffers.ch" + ] + }, + "flags": [] + }, + "2295": { + "bfs": "2295", + "name": "Bösingen", + "canton": "Kanton Freiburg", + "domain": "boesingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boesingen.ch" + ], + "redirect": [], + "wikidata": [ + "boesingen.ch" + ], + "guess": [ + "boesingen.ch" + ] + }, + "flags": [] + }, + "2296": { + "bfs": "2296", + "name": "Heitenried", + "canton": "Kanton Freiburg", + "domain": "heitenried.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "heitenried.ch" + ], + "redirect": [], + "wikidata": [ + "heitenried.ch" + ], + "guess": [ + "heitenried.ch" + ] + }, + "flags": [] + }, + "2299": { + "bfs": "2299", + "name": "Plaffeien", + "canton": "Kanton Freiburg", + "domain": "plaffeien.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "plaffeien.ch" + ], + "redirect": [], + "wikidata": [ + "plaffeien.ch" + ], + "guess": [ + "plaffeien.ch" + ] + }, + "flags": [] + }, + "2300": { + "bfs": "2300", + "name": "Plasselb", + "canton": "Kanton Freiburg", + "domain": "plasselb.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "plasselb.ch" + ], + "redirect": [], + "wikidata": [ + "plasselb.ch" + ], + "guess": [ + "plasselb.ch" + ] + }, + "flags": [] + }, + "2301": { + "bfs": "2301", + "name": "Rechthalten", + "canton": "Kanton Freiburg", + "domain": "rechthalten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rechthalten.ch" + ], + "redirect": [], + "wikidata": [ + "rechthalten.ch" + ], + "guess": [ + "rechthalten.ch" + ] + }, + "flags": [] + }, + "2303": { + "bfs": "2303", + "name": "St. Silvester", + "canton": "Kanton Freiburg", + "domain": "stsilvester.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stsilvester.ch" + ], + "redirect": [], + "wikidata": [ + "stsilvester.ch" + ], + "guess": [ + "stsilvester.ch" + ] + }, + "flags": [] + }, + "2304": { + "bfs": "2304", + "name": "St. Ursen", + "canton": "Kanton Freiburg", + "domain": "stursen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stursen.ch" + ], + "redirect": [], + "wikidata": [ + "stursen.ch" + ], + "guess": [ + "stursen.ch" + ] + }, + "flags": [] + }, + "2305": { + "bfs": "2305", + "name": "Schmitten (FR)", + "canton": "Kanton Freiburg", + "domain": "schmitten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schmitten.ch" + ], + "redirect": [], + "wikidata": [ + "schmitten.ch" + ], + "guess": [ + "schmitten.ch" + ] + }, + "flags": [] + }, + "2306": { + "bfs": "2306", + "name": "Tafers", + "canton": "Kanton Freiburg", + "domain": "tafers.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tafers.ch" + ], + "redirect": [], + "wikidata": [ + "tafers.ch" + ], + "guess": [ + "tafers.ch" + ] + }, + "flags": [] + }, + "2307": { + "bfs": "2307", + "name": "Tentlingen", + "canton": "Kanton Freiburg", + "domain": "tentlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tentlingen.ch" + ], + "redirect": [], + "wikidata": [ + "tentlingen.ch" + ], + "guess": [ + "tentlingen.ch" + ] + }, + "flags": [] + }, + "2308": { + "bfs": "2308", + "name": "Ueberstorf", + "canton": "Kanton Freiburg", + "domain": "ueberstorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ueberstorf.ch" + ], + "redirect": [], + "wikidata": [ + "ueberstorf.ch" + ], + "guess": [ + "ueberstorf.ch" + ] + }, + "flags": [] + }, + "2309": { + "bfs": "2309", + "name": "Wünnewil-Flamatt", + "canton": "Kanton Freiburg", + "domain": "wuennewil-flamatt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wuennewil-flamatt.ch" + ], + "redirect": [], + "wikidata": [ + "wuennewil-flamatt.ch" + ], + "guess": [ + "wuennewil-flamatt.ch" + ] + }, + "flags": [] + }, + "2321": { + "bfs": "2321", + "name": "Attalens", + "canton": "Kanton Freiburg", + "domain": "attalens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "attalens.ch" + ], + "redirect": [], + "wikidata": [ + "attalens.ch" + ], + "guess": [ + "attalens.ch" + ] + }, + "flags": [] + }, + "2323": { + "bfs": "2323", + "name": "Bossonnens", + "canton": "Kanton Freiburg", + "domain": "bossonnens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bossonnens.ch" + ], + "redirect": [], + "wikidata": [ + "bossonnens.ch" + ], + "guess": [ + "bossonnens.ch" + ] + }, + "flags": [] + }, + "2325": { + "bfs": "2325", + "name": "Châtel-Saint-Denis", + "canton": "Kanton Freiburg", + "domain": "chatel-st-denis.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chatel-st-denis.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2328": { + "bfs": "2328", + "name": "Granges (Veveyse)", + "canton": "Kanton Freiburg", + "domain": "granges-veveyse.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "granges-veveyse.ch" + ], + "redirect": [], + "wikidata": [ + "granges-veveyse.ch" + ], + "guess": [ + "granges.ch" + ] + }, + "flags": [] + }, + "2333": { + "bfs": "2333", + "name": "Remaufens", + "canton": "Kanton Freiburg", + "domain": "remaufens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "remaufens.ch" + ], + "redirect": [], + "wikidata": [ + "remaufens.ch" + ], + "guess": [ + "remaufens.ch" + ] + }, + "flags": [] + }, + "2335": { + "bfs": "2335", + "name": "Saint-Martin (FR)", + "canton": "Kanton Freiburg", + "domain": "saint-martin-fr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "croix-rouge-fr.ch", + "saint-martin-fr.ch" + ], + "redirect": [], + "wikidata": [ + "saint-martin-fr.ch" + ], + "guess": [ + "saint-martin.ch", + "saintmartin.ch" + ] + }, + "flags": [] + }, + "2336": { + "bfs": "2336", + "name": "Semsales", + "canton": "Kanton Freiburg", + "domain": "semsales.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "semsales.ch" + ], + "redirect": [], + "wikidata": [ + "semsales.ch" + ], + "guess": [ + "semsales.ch" + ] + }, + "flags": [] + }, + "2337": { + "bfs": "2337", + "name": "Le Flon", + "canton": "Kanton Freiburg", + "domain": "leflon.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "leflon.ch" + ], + "guess": [ + "leflon.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2338": { + "bfs": "2338", + "name": "La Verrerie", + "canton": "Kanton Freiburg", + "domain": "la-verrerie.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "la-verrerie.ch" + ], + "redirect": [ + "la-verrerie.ch" + ], + "wikidata": [ + "laverrerie.ch" + ], + "guess": [ + "la-verrerie.ch", + "laverrerie.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2401": { + "bfs": "2401", + "name": "Egerkingen", + "canton": "Kanton Solothurn", + "domain": "egerkingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "egerkingen.ch" + ], + "redirect": [], + "wikidata": [ + "egerkingen.ch" + ], + "guess": [ + "egerkingen.ch" + ] + }, + "flags": [] + }, + "2402": { + "bfs": "2402", + "name": "Härkingen", + "canton": "Kanton Solothurn", + "domain": "haerkingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haerkingen.ch" + ], + "redirect": [], + "wikidata": [ + "haerkingen.ch" + ], + "guess": [ + "haerkingen.ch" + ] + }, + "flags": [] + }, + "2403": { + "bfs": "2403", + "name": "Kestenholz", + "canton": "Kanton Solothurn", + "domain": "kestenholz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kestenholz.ch" + ], + "redirect": [], + "wikidata": [ + "kestenholz.ch" + ], + "guess": [ + "kestenholz.ch" + ] + }, + "flags": [] + }, + "2404": { + "bfs": "2404", + "name": "Neuendorf", + "canton": "Kanton Solothurn", + "domain": "neuendorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neuendorf.ch" + ], + "redirect": [], + "wikidata": [ + "neuendorf.ch" + ], + "guess": [ + "neuendorf.ch" + ] + }, + "flags": [] + }, + "2405": { + "bfs": "2405", + "name": "Niederbuchsiten", + "canton": "Kanton Solothurn", + "domain": "niederbuchsiten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederbuchsiten.ch" + ], + "redirect": [], + "wikidata": [ + "niederbuchsiten.ch" + ], + "guess": [ + "niederbuchsiten.ch" + ] + }, + "flags": [] + }, + "2406": { + "bfs": "2406", + "name": "Oberbuchsiten", + "canton": "Kanton Solothurn", + "domain": "oberbuchsiten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberbuchsiten.ch" + ], + "redirect": [], + "wikidata": [ + "oberbuchsiten.ch" + ], + "guess": [ + "oberbuchsiten.ch" + ] + }, + "flags": [] + }, + "2407": { + "bfs": "2407", + "name": "Oensingen", + "canton": "Kanton Solothurn", + "domain": "oensingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oensingen.ch" + ], + "redirect": [], + "wikidata": [ + "oensingen.ch" + ], + "guess": [ + "oensingen.ch" + ] + }, + "flags": [] + }, + "2408": { + "bfs": "2408", + "name": "Wolfwil", + "canton": "Kanton Solothurn", + "domain": "wolfwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wolfwil.ch" + ], + "redirect": [], + "wikidata": [ + "wolfwil.ch" + ], + "guess": [ + "wolfwil.ch" + ] + }, + "flags": [] + }, + "2421": { + "bfs": "2421", + "name": "Aedermannsdorf", + "canton": "Kanton Solothurn", + "domain": "aedermannsdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aedermannsdorf.ch" + ], + "redirect": [], + "wikidata": [ + "aedermannsdorf.ch" + ], + "guess": [ + "aedermannsdorf.ch" + ] + }, + "flags": [] + }, + "2422": { + "bfs": "2422", + "name": "Balsthal", + "canton": "Kanton Solothurn", + "domain": "balsthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "balsthal.ch" + ], + "redirect": [], + "wikidata": [ + "balsthal.ch" + ], + "guess": [ + "balsthal.ch" + ] + }, + "flags": [] + }, + "2424": { + "bfs": "2424", + "name": "Herbetswil", + "canton": "Kanton Solothurn", + "domain": "herbetswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "herbetswil.ch" + ], + "redirect": [], + "wikidata": [ + "herbetswil.ch" + ], + "guess": [ + "herbetswil.ch" + ] + }, + "flags": [] + }, + "2425": { + "bfs": "2425", + "name": "Holderbank (SO)", + "canton": "Kanton Solothurn", + "domain": "holderbank-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "holderbank-so.ch" + ], + "redirect": [], + "wikidata": [ + "holderbank-so.ch" + ], + "guess": [ + "holderbank.ch" + ] + }, + "flags": [] + }, + "2426": { + "bfs": "2426", + "name": "Laupersdorf", + "canton": "Kanton Solothurn", + "domain": "laupersdorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "laupersdorf.ch" + ], + "guess": [ + "laupersdorf.ch" + ] + }, + "flags": [] + }, + "2427": { + "bfs": "2427", + "name": "Matzendorf", + "canton": "Kanton Solothurn", + "domain": "matzendorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "matzendorf.ch" + ], + "redirect": [], + "wikidata": [ + "matzendorf.ch" + ], + "guess": [ + "matzendorf.ch" + ] + }, + "flags": [] + }, + "2428": { + "bfs": "2428", + "name": "Mümliswil-Ramiswil", + "canton": "Kanton Solothurn", + "domain": "muemliswil-ramiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muemliswil-ramiswil.ch" + ], + "redirect": [], + "wikidata": [ + "muemliswil-ramiswil.ch" + ], + "guess": [ + "muemliswil-ramiswil.ch" + ] + }, + "flags": [] + }, + "2430": { + "bfs": "2430", + "name": "Welschenrohr-Gänsbrunnen", + "canton": "Kanton Solothurn", + "domain": "welschenrohr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "welschenrohr.ch" + ], + "redirect": [], + "wikidata": [ + "welschenrohr.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2445": { + "bfs": "2445", + "name": "Biezwil", + "canton": "Kanton Solothurn", + "domain": "biezwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "biezwil.ch" + ], + "guess": [ + "biezwil.ch" + ] + }, + "flags": [] + }, + "2455": { + "bfs": "2455", + "name": "Lüterkofen-Ichertswil", + "canton": "Kanton Solothurn", + "domain": "lueterkofen-ichertswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lueterkofen-ichertswil.ch" + ], + "redirect": [], + "wikidata": [ + "lueterkofen-ichertswil.ch" + ], + "guess": [ + "lueterkofen-ichertswil.ch" + ] + }, + "flags": [] + }, + "2457": { + "bfs": "2457", + "name": "Messen", + "canton": "Kanton Solothurn", + "domain": "messen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "messen.ch" + ], + "redirect": [], + "wikidata": [ + "messen.ch" + ], + "guess": [ + "messen.ch" + ] + }, + "flags": [] + }, + "2461": { + "bfs": "2461", + "name": "Schnottwil", + "canton": "Kanton Solothurn", + "domain": "schnottwil.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "schnottwil.ch" + ] + }, + "flags": [] + }, + "2463": { + "bfs": "2463", + "name": "Unterramsern", + "canton": "Kanton Solothurn", + "domain": "unterramsern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unterramsern.ch" + ], + "redirect": [], + "wikidata": [ + "unterramsern.ch" + ], + "guess": [ + "unterramsern.ch" + ] + }, + "flags": [] + }, + "2464": { + "bfs": "2464", + "name": "Lüsslingen-Nennigkofen", + "canton": "Kanton Solothurn", + "domain": "luesslingen-nennigkofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luesslingen-nennigkofen.ch" + ], + "redirect": [], + "wikidata": [ + "luesslingen-nennigkofen.ch" + ], + "guess": [ + "luesslingen-nennigkofen.ch" + ] + }, + "flags": [] + }, + "2465": { + "bfs": "2465", + "name": "Buchegg", + "canton": "Kanton Solothurn", + "domain": "buchegg-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchegg-so.ch" + ], + "redirect": [], + "wikidata": [ + "buchegg-so.ch" + ], + "guess": [ + "buchegg.ch" + ] + }, + "flags": [] + }, + "2471": { + "bfs": "2471", + "name": "Bättwil", + "canton": "Kanton Solothurn", + "domain": "baettwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "baettwil.ch" + ], + "redirect": [], + "wikidata": [ + "baettwil.ch" + ], + "guess": [ + "baettwil.ch" + ] + }, + "flags": [] + }, + "2472": { + "bfs": "2472", + "name": "Büren (SO)", + "canton": "Kanton Solothurn", + "domain": "bueren-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bueren-so.ch" + ], + "redirect": [], + "wikidata": [ + "bueren-so.ch" + ], + "guess": [ + "bren.ch", + "bueren.ch" + ] + }, + "flags": [] + }, + "2473": { + "bfs": "2473", + "name": "Dornach", + "canton": "Kanton Solothurn", + "domain": "dornach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dornach.ch" + ], + "redirect": [], + "wikidata": [ + "dornach.ch" + ], + "guess": [ + "dornach.ch" + ] + }, + "flags": [] + }, + "2474": { + "bfs": "2474", + "name": "Gempen", + "canton": "Kanton Solothurn", + "domain": "gempen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gempen.ch" + ], + "redirect": [], + "wikidata": [ + "gempen.ch" + ], + "guess": [ + "gempen.ch" + ] + }, + "flags": [] + }, + "2475": { + "bfs": "2475", + "name": "Hochwald", + "canton": "Kanton Solothurn", + "domain": "hochwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hochwald.ch" + ], + "redirect": [], + "wikidata": [ + "hochwald.ch" + ], + "guess": [ + "hochwald.ch" + ] + }, + "flags": [] + }, + "2476": { + "bfs": "2476", + "name": "Hofstetten-Flüh", + "canton": "Kanton Solothurn", + "domain": "hofstetten-flueh.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hofstetten-flueh.ch" + ], + "redirect": [], + "wikidata": [ + "hofstettenflueh.ch" + ], + "guess": [ + "hofstetten-flueh.ch", + "hofstettenflueh.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2477": { + "bfs": "2477", + "name": "Metzerlen-Mariastein", + "canton": "Kanton Solothurn", + "domain": "metzerlen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "metzerlen.ch" + ], + "redirect": [], + "wikidata": [ + "metzerlen.ch" + ], + "guess": [ + "metzerlen-mariastein.ch" + ] + }, + "flags": [] + }, + "2478": { + "bfs": "2478", + "name": "Nuglar-St. Pantaleon", + "canton": "Kanton Solothurn", + "domain": "nuglar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nuglar.ch" + ], + "redirect": [], + "wikidata": [ + "nuglar.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2479": { + "bfs": "2479", + "name": "Rodersdorf", + "canton": "Kanton Solothurn", + "domain": "rodersdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rodersdorf.ch" + ], + "redirect": [], + "wikidata": [ + "rodersdorf.ch" + ], + "guess": [ + "rodersdorf.ch" + ] + }, + "flags": [] + }, + "2480": { + "bfs": "2480", + "name": "Seewen", + "canton": "Kanton Solothurn", + "domain": "seewen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seewen.ch" + ], + "redirect": [], + "wikidata": [ + "seewen.ch" + ], + "guess": [ + "seewen.ch" + ] + }, + "flags": [] + }, + "2481": { + "bfs": "2481", + "name": "Witterswil", + "canton": "Kanton Solothurn", + "domain": "witterswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "witterswil.ch" + ], + "redirect": [], + "wikidata": [ + "witterswil.ch" + ], + "guess": [ + "witterswil.ch" + ] + }, + "flags": [] + }, + "2491": { + "bfs": "2491", + "name": "Hauenstein-Ifenthal", + "canton": "Kanton Solothurn", + "domain": "hauenstein-ifenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hauenstein-ifenthal.ch" + ], + "redirect": [], + "wikidata": [ + "hauenstein-ifenthal.ch" + ], + "guess": [ + "hauenstein-ifenthal.ch" + ] + }, + "flags": [] + }, + "2492": { + "bfs": "2492", + "name": "Kienberg", + "canton": "Kanton Solothurn", + "domain": "kienberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kienberg.ch" + ], + "redirect": [], + "wikidata": [ + "kienberg.ch" + ], + "guess": [ + "kienberg.ch" + ] + }, + "flags": [] + }, + "2493": { + "bfs": "2493", + "name": "Lostorf", + "canton": "Kanton Solothurn", + "domain": "lostorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lostorf.ch" + ], + "redirect": [], + "wikidata": [ + "lostorf.ch" + ], + "guess": [ + "lostorf.ch" + ] + }, + "flags": [] + }, + "2495": { + "bfs": "2495", + "name": "Niedergösgen", + "canton": "Kanton Solothurn", + "domain": "niedergoesgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niedergoesgen.ch" + ], + "redirect": [], + "wikidata": [ + "niedergoesgen.ch" + ], + "guess": [ + "niedergoesgen.ch" + ] + }, + "flags": [] + }, + "2497": { + "bfs": "2497", + "name": "Obergösgen", + "canton": "Kanton Solothurn", + "domain": "obergoesgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "obergoesgen.ch" + ], + "redirect": [], + "wikidata": [ + "obergoesgen.ch" + ], + "guess": [ + "obergoesgen.ch" + ] + }, + "flags": [] + }, + "2499": { + "bfs": "2499", + "name": "Stüsslingen", + "canton": "Kanton Solothurn", + "domain": "stuesslingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stuesslingen.ch" + ], + "redirect": [], + "wikidata": [ + "stuesslingen.ch" + ], + "guess": [ + "stuesslingen.ch" + ] + }, + "flags": [] + }, + "2500": { + "bfs": "2500", + "name": "Trimbach", + "canton": "Kanton Solothurn", + "domain": "trimbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trimbach.ch" + ], + "redirect": [], + "wikidata": [ + "trimbach.ch" + ], + "guess": [ + "trimbach.ch" + ] + }, + "flags": [] + }, + "2501": { + "bfs": "2501", + "name": "Winznau", + "canton": "Kanton Solothurn", + "domain": "winznau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "winznau.ch" + ], + "redirect": [], + "wikidata": [ + "winznau.ch" + ], + "guess": [ + "winznau.ch" + ] + }, + "flags": [] + }, + "2502": { + "bfs": "2502", + "name": "Wisen (SO)", + "canton": "Kanton Solothurn", + "domain": "wisen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wisen.ch" + ], + "redirect": [], + "wikidata": [ + "wisen.ch" + ], + "guess": [ + "wisen.ch" + ] + }, + "flags": [] + }, + "2503": { + "bfs": "2503", + "name": "Erlinsbach (SO)", + "canton": "Kanton Solothurn", + "domain": "erlinsbach-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "erlinsbach-so.ch" + ], + "redirect": [], + "wikidata": [ + "erlinsbach-so.ch" + ], + "guess": [ + "erlinsbach.ch" + ] + }, + "flags": [] + }, + "2511": { + "bfs": "2511", + "name": "Aeschi (SO)", + "canton": "Kanton Solothurn", + "domain": "aeschi-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aeschi-so.ch" + ], + "redirect": [], + "wikidata": [ + "aeschi-so.ch" + ], + "guess": [ + "aeschi.ch" + ] + }, + "flags": [] + }, + "2513": { + "bfs": "2513", + "name": "Biberist", + "canton": "Kanton Solothurn", + "domain": "biberist.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "biberist.ch" + ], + "redirect": [], + "wikidata": [ + "biberist.ch" + ], + "guess": [ + "biberist.ch" + ] + }, + "flags": [] + }, + "2514": { + "bfs": "2514", + "name": "Bolken", + "canton": "Kanton Solothurn", + "domain": "bolken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bolken.ch" + ], + "redirect": [], + "wikidata": [ + "bolken.ch" + ], + "guess": [ + "bolken.ch" + ] + }, + "flags": [] + }, + "2516": { + "bfs": "2516", + "name": "Deitingen", + "canton": "Kanton Solothurn", + "domain": "deitingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "deitingen.ch" + ], + "redirect": [], + "wikidata": [ + "deitingen.ch" + ], + "guess": [ + "deitingen.ch" + ] + }, + "flags": [] + }, + "2517": { + "bfs": "2517", + "name": "Derendingen", + "canton": "Kanton Solothurn", + "domain": "derendingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "derendingen.ch" + ], + "redirect": [], + "wikidata": [ + "derendingen.ch" + ], + "guess": [ + "derendingen.ch" + ] + }, + "flags": [] + }, + "2518": { + "bfs": "2518", + "name": "Etziken", + "canton": "Kanton Solothurn", + "domain": "etziken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "etziken.ch" + ], + "redirect": [], + "wikidata": [ + "etziken.ch" + ], + "guess": [ + "etziken.ch" + ] + }, + "flags": [] + }, + "2519": { + "bfs": "2519", + "name": "Gerlafingen", + "canton": "Kanton Solothurn", + "domain": "gerlafingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gerlafingen.ch" + ], + "redirect": [], + "wikidata": [ + "gerlafingen.ch" + ], + "guess": [ + "gerlafingen.ch" + ] + }, + "flags": [] + }, + "2523": { + "bfs": "2523", + "name": "Horriwil", + "canton": "Kanton Solothurn", + "domain": "horriwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "horriwil.ch" + ], + "redirect": [], + "wikidata": [ + "horriwil.ch" + ], + "guess": [ + "horriwil.ch" + ] + }, + "flags": [] + }, + "2524": { + "bfs": "2524", + "name": "Hüniken", + "canton": "Kanton Solothurn", + "domain": "hueniken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hueniken.ch" + ], + "redirect": [], + "wikidata": [ + "hueniken.ch" + ], + "guess": [ + "hueniken.ch" + ] + }, + "flags": [] + }, + "2525": { + "bfs": "2525", + "name": "Kriegstetten", + "canton": "Kanton Solothurn", + "domain": "kriegstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kriegstetten.ch" + ], + "redirect": [], + "wikidata": [ + "kriegstetten.ch" + ], + "guess": [ + "kriegstetten.ch" + ] + }, + "flags": [] + }, + "2526": { + "bfs": "2526", + "name": "Lohn-Ammannsegg", + "canton": "Kanton Solothurn", + "domain": "lohn-ammannsegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lohn-ammannsegg.ch" + ], + "redirect": [], + "wikidata": [ + "lohn-ammannsegg.ch" + ], + "guess": [ + "lohn-ammannsegg.ch" + ] + }, + "flags": [] + }, + "2527": { + "bfs": "2527", + "name": "Luterbach", + "canton": "Kanton Solothurn", + "domain": "luterbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luterbach.ch" + ], + "redirect": [], + "wikidata": [ + "luterbach.ch" + ], + "guess": [ + "luterbach.ch" + ] + }, + "flags": [] + }, + "2528": { + "bfs": "2528", + "name": "Obergerlafingen", + "canton": "Kanton Solothurn", + "domain": "obergerlafingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "obergerlafingen.ch", + "tim-gatzky.de" + ], + "redirect": [], + "wikidata": [ + "obergerlafingen.ch" + ], + "guess": [ + "obergerlafingen.ch" + ] + }, + "flags": [] + }, + "2530": { + "bfs": "2530", + "name": "Recherswil", + "canton": "Kanton Solothurn", + "domain": "recherswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "recherswil.ch" + ], + "redirect": [], + "wikidata": [ + "recherswil.ch" + ], + "guess": [ + "recherswil.ch" + ] + }, + "flags": [] + }, + "2532": { + "bfs": "2532", + "name": "Subingen", + "canton": "Kanton Solothurn", + "domain": "subingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "subingen.ch" + ], + "redirect": [], + "wikidata": [ + "subingen.ch" + ], + "guess": [ + "subingen.ch" + ] + }, + "flags": [] + }, + "2534": { + "bfs": "2534", + "name": "Zuchwil", + "canton": "Kanton Solothurn", + "domain": "zuchwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "zuchwil.ch" + ], + "guess": [ + "zuchwil.ch" + ] + }, + "flags": [] + }, + "2535": { + "bfs": "2535", + "name": "Drei Höfe", + "canton": "Kanton Solothurn", + "domain": "dreihoefe.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dreihoefe.ch" + ], + "redirect": [], + "wikidata": [ + "dreihoefe.ch" + ], + "guess": [ + "dreihoefe.ch" + ] + }, + "flags": [] + }, + "2541": { + "bfs": "2541", + "name": "Balm bei Günsberg", + "canton": "Kanton Solothurn", + "domain": "balm-balmberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "balm-balmberg.ch" + ], + "redirect": [], + "wikidata": [ + "balm-balmberg.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2542": { + "bfs": "2542", + "name": "Bellach", + "canton": "Kanton Solothurn", + "domain": "bellach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bellach.ch" + ], + "redirect": [], + "wikidata": [ + "bellach.ch" + ], + "guess": [ + "bellach.ch" + ] + }, + "flags": [] + }, + "2543": { + "bfs": "2543", + "name": "Bettlach", + "canton": "Kanton Solothurn", + "domain": "bettlach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bettlach.ch" + ], + "guess": [ + "bettlach.ch" + ] + }, + "flags": [] + }, + "2544": { + "bfs": "2544", + "name": "Feldbrunnen-St. Niklaus", + "canton": "Kanton Solothurn", + "domain": "feldbrunnen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "feldbrunnen.ch" + ], + "redirect": [], + "wikidata": [ + "feldbrunnen.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2545": { + "bfs": "2545", + "name": "Flumenthal", + "canton": "Kanton Solothurn", + "domain": "flumenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flumenthal.ch" + ], + "redirect": [], + "wikidata": [ + "flumenthal.ch" + ], + "guess": [ + "flumenthal.ch" + ] + }, + "flags": [] + }, + "2546": { + "bfs": "2546", + "name": "Grenchen", + "canton": "Kanton Solothurn", + "domain": "grenchen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grenchen.ch" + ], + "redirect": [], + "wikidata": [ + "grenchen.ch" + ], + "guess": [ + "grenchen.ch" + ] + }, + "flags": [] + }, + "2547": { + "bfs": "2547", + "name": "Günsberg", + "canton": "Kanton Solothurn", + "domain": "guensberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "guensberg.ch" + ], + "redirect": [], + "wikidata": [ + "guensberg.ch" + ], + "guess": [ + "guensberg.ch" + ] + }, + "flags": [] + }, + "2548": { + "bfs": "2548", + "name": "Hubersdorf", + "canton": "Kanton Solothurn", + "domain": "hubersdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ggs.ch", + "hubersdorf.ch", + "vd.so.ch" + ], + "redirect": [], + "wikidata": [ + "hubersdorf.ch" + ], + "guess": [ + "hubersdorf.ch" + ] + }, + "flags": [] + }, + "2549": { + "bfs": "2549", + "name": "Kammersrohr", + "canton": "Kanton Solothurn", + "domain": "bluewin.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bluewin.ch" + ] + }, + "flags": [] + }, + "2550": { + "bfs": "2550", + "name": "Langendorf", + "canton": "Kanton Solothurn", + "domain": "langendorf-so.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "langendorf-so.ch" + ], + "guess": [ + "langendorf.ch" + ] + }, + "flags": [] + }, + "2551": { + "bfs": "2551", + "name": "Lommiswil", + "canton": "Kanton Solothurn", + "domain": "lommiswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lommiswil.ch" + ], + "redirect": [], + "wikidata": [ + "lommiswil.ch" + ], + "guess": [ + "lommiswil.ch" + ] + }, + "flags": [] + }, + "2553": { + "bfs": "2553", + "name": "Oberdorf (SO)", + "canton": "Kanton Solothurn", + "domain": "oberdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberdorf.ch" + ], + "redirect": [], + "wikidata": [ + "oberdorf.ch" + ], + "guess": [ + "oberdorf.ch" + ] + }, + "flags": [] + }, + "2554": { + "bfs": "2554", + "name": "Riedholz", + "canton": "Kanton Solothurn", + "domain": "riedholz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "riedholz.ch" + ], + "guess": [ + "riedholz.ch" + ] + }, + "flags": [] + }, + "2555": { + "bfs": "2555", + "name": "Rüttenen", + "canton": "Kanton Solothurn", + "domain": "ruettenen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruettenen.ch" + ], + "redirect": [], + "wikidata": [ + "ruettenen.ch" + ], + "guess": [ + "ruettenen.ch" + ] + }, + "flags": [] + }, + "2556": { + "bfs": "2556", + "name": "Selzach", + "canton": "Kanton Solothurn", + "domain": "selzach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "selzach.ch" + ], + "guess": [ + "selzach.ch" + ] + }, + "flags": [] + }, + "2571": { + "bfs": "2571", + "name": "Boningen", + "canton": "Kanton Solothurn", + "domain": "boningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boningen.ch" + ], + "redirect": [], + "wikidata": [ + "boningen.ch" + ], + "guess": [ + "boningen.ch" + ] + }, + "flags": [] + }, + "2572": { + "bfs": "2572", + "name": "Däniken", + "canton": "Kanton Solothurn", + "domain": "daeniken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "daeniken.ch" + ], + "redirect": [], + "wikidata": [ + "daeniken.ch" + ], + "guess": [ + "daeniken.ch" + ] + }, + "flags": [] + }, + "2573": { + "bfs": "2573", + "name": "Dulliken", + "canton": "Kanton Solothurn", + "domain": "dulliken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dulliken.ch" + ], + "redirect": [], + "wikidata": [ + "dulliken.ch" + ], + "guess": [ + "dulliken.ch" + ] + }, + "flags": [] + }, + "2574": { + "bfs": "2574", + "name": "Eppenberg-Wöschnau", + "canton": "Kanton Solothurn", + "domain": "eppenberg-woeschnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eppenberg-woeschnau.ch" + ], + "redirect": [], + "wikidata": [ + "eppenberg-woeschnau.ch" + ], + "guess": [ + "eppenberg-woeschnau.ch" + ] + }, + "flags": [] + }, + "2575": { + "bfs": "2575", + "name": "Fulenbach", + "canton": "Kanton Solothurn", + "domain": "fulenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fulenbach.ch" + ], + "redirect": [], + "wikidata": [ + "fulenbach.ch" + ], + "guess": [ + "fulenbach.ch" + ] + }, + "flags": [] + }, + "2576": { + "bfs": "2576", + "name": "Gretzenbach", + "canton": "Kanton Solothurn", + "domain": "gretzenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gretzenbach.ch" + ], + "redirect": [], + "wikidata": [ + "gretzenbach.ch" + ], + "guess": [ + "gretzenbach.ch" + ] + }, + "flags": [] + }, + "2578": { + "bfs": "2578", + "name": "Gunzgen", + "canton": "Kanton Solothurn", + "domain": "gunzgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gunzgen.ch" + ], + "redirect": [], + "wikidata": [ + "gunzgen.ch" + ], + "guess": [ + "gunzgen.ch" + ] + }, + "flags": [] + }, + "2579": { + "bfs": "2579", + "name": "Hägendorf", + "canton": "Kanton Solothurn", + "domain": "haegendorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haegendorf.ch" + ], + "redirect": [], + "wikidata": [ + "haegendorf.ch" + ], + "guess": [ + "haegendorf.ch" + ] + }, + "flags": [] + }, + "2580": { + "bfs": "2580", + "name": "Kappel (SO)", + "canton": "Kanton Solothurn", + "domain": "kappel-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kappel-so.ch" + ], + "redirect": [], + "wikidata": [ + "kappel-so.ch" + ], + "guess": [ + "kappel.ch" + ] + }, + "flags": [] + }, + "2581": { + "bfs": "2581", + "name": "Olten", + "canton": "Kanton Solothurn", + "domain": "olten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "olten.ch" + ], + "redirect": [], + "wikidata": [ + "olten.ch" + ], + "guess": [ + "olten.ch" + ] + }, + "flags": [] + }, + "2582": { + "bfs": "2582", + "name": "Rickenbach (SO)", + "canton": "Kanton Solothurn", + "domain": "rickenbachso.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rickenbachso.ch" + ], + "redirect": [], + "wikidata": [ + "rickenbachso.ch" + ], + "guess": [ + "rickenbach.ch" + ] + }, + "flags": [] + }, + "2583": { + "bfs": "2583", + "name": "Schönenwerd", + "canton": "Kanton Solothurn", + "domain": "schoenenwerd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schoenenwerd.ch" + ], + "redirect": [], + "wikidata": [ + "schoenenwerd.ch" + ], + "guess": [ + "schoenenwerd.ch" + ] + }, + "flags": [] + }, + "2584": { + "bfs": "2584", + "name": "Starrkirch-Wil", + "canton": "Kanton Solothurn", + "domain": "starrkirch-wil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "starrkirch-wil.ch" + ], + "redirect": [], + "wikidata": [ + "starrkirch-wil.ch" + ], + "guess": [ + "starrkirch-wil.ch" + ] + }, + "flags": [] + }, + "2585": { + "bfs": "2585", + "name": "Walterswil (SO)", + "canton": "Kanton Solothurn", + "domain": "walterswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walterswil.ch" + ], + "redirect": [], + "wikidata": [ + "walterswil.ch" + ], + "guess": [ + "walterswil.ch" + ] + }, + "flags": [] + }, + "2586": { + "bfs": "2586", + "name": "Wangen bei Olten", + "canton": "Kanton Solothurn", + "domain": "wangenbo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wangenbo.ch" + ], + "redirect": [], + "wikidata": [ + "wangenbo.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2601": { + "bfs": "2601", + "name": "Solothurn", + "canton": "Kanton Solothurn", + "domain": "solothurn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "solothurn.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "solothurn.ch" + ] + }, + "flags": [] + }, + "2611": { + "bfs": "2611", + "name": "Bärschwil", + "canton": "Kanton Solothurn", + "domain": "baerschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "baerschwil.ch" + ], + "redirect": [], + "wikidata": [ + "baerschwil.ch" + ], + "guess": [ + "baerschwil.ch" + ] + }, + "flags": [] + }, + "2612": { + "bfs": "2612", + "name": "Beinwil (SO)", + "canton": "Kanton Solothurn", + "domain": "beinwil-so.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "beinwil-so.ch" + ], + "redirect": [], + "wikidata": [ + "beinwil-so.ch" + ], + "guess": [ + "beinwil.ch" + ] + }, + "flags": [] + }, + "2613": { + "bfs": "2613", + "name": "Breitenbach", + "canton": "Kanton Solothurn", + "domain": "breitenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "breitenbach.ch" + ], + "redirect": [], + "wikidata": [ + "breitenbach.ch" + ], + "guess": [ + "breitenbach.ch" + ] + }, + "flags": [] + }, + "2614": { + "bfs": "2614", + "name": "Büsserach", + "canton": "Kanton Solothurn", + "domain": "buesserach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buesserach.ch" + ], + "redirect": [], + "wikidata": [ + "buesserach.ch" + ], + "guess": [ + "buesserach.ch" + ] + }, + "flags": [] + }, + "2615": { + "bfs": "2615", + "name": "Erschwil", + "canton": "Kanton Solothurn", + "domain": "erschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "erschwil.ch" + ], + "redirect": [], + "wikidata": [ + "erschwil.ch" + ], + "guess": [ + "erschwil.ch" + ] + }, + "flags": [] + }, + "2616": { + "bfs": "2616", + "name": "Fehren", + "canton": "Kanton Solothurn", + "domain": "fehren.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fehren.ch" + ], + "guess": [ + "fehren.ch" + ] + }, + "flags": [] + }, + "2617": { + "bfs": "2617", + "name": "Grindel", + "canton": "Kanton Solothurn", + "domain": "grindel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grindel.ch" + ], + "redirect": [], + "wikidata": [ + "grindel.ch" + ], + "guess": [ + "grindel.ch" + ] + }, + "flags": [] + }, + "2618": { + "bfs": "2618", + "name": "Himmelried", + "canton": "Kanton Solothurn", + "domain": "himmelried.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "himmelried.ch" + ], + "redirect": [], + "wikidata": [ + "himmelried.ch" + ], + "guess": [ + "himmelried.ch" + ] + }, + "flags": [] + }, + "2619": { + "bfs": "2619", + "name": "Kleinlützel", + "canton": "Kanton Solothurn", + "domain": "kleinluetzel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kleinluetzel.ch" + ], + "redirect": [], + "wikidata": [ + "kleinluetzel.ch" + ], + "guess": [ + "kleinluetzel.ch" + ] + }, + "flags": [] + }, + "2620": { + "bfs": "2620", + "name": "Meltingen", + "canton": "Kanton Solothurn", + "domain": "meltingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "meltingen.ch" + ], + "redirect": [], + "wikidata": [ + "meltingen.ch" + ], + "guess": [ + "meltingen.ch" + ] + }, + "flags": [] + }, + "2621": { + "bfs": "2621", + "name": "Nunningen", + "canton": "Kanton Solothurn", + "domain": "nunningen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "nunningen.ch" + ], + "guess": [ + "nunningen.ch" + ] + }, + "flags": [] + }, + "2622": { + "bfs": "2622", + "name": "Zullwil", + "canton": "Kanton Solothurn", + "domain": "zullwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "zullwil.ch" + ], + "guess": [ + "zullwil.ch" + ] + }, + "flags": [] + }, + "2701": { + "bfs": "2701", + "name": "Basel", + "canton": "Kanton Basel-Stadt", + "domain": "bs.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "bs.ch" + ], + "redirect": [], + "wikidata": [ + "bs.ch" + ], + "guess": [ + "gemeinde-basel.ch" + ] + }, + "flags": [ + "website_mismatch" + ] + }, + "2702": { + "bfs": "2702", + "name": "Bettingen", + "canton": "Kanton Basel-Stadt", + "domain": "bettingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bettingen.ch" + ], + "guess": [ + "bettingen.ch" + ] + }, + "flags": [] + }, + "2703": { + "bfs": "2703", + "name": "Riehen", + "canton": "Kanton Basel-Stadt", + "domain": "riehen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "riehen.ch" + ], + "guess": [ + "riehen.ch" + ] + }, + "flags": [] + }, + "2761": { + "bfs": "2761", + "name": "Aesch (BL)", + "canton": "Kanton Basel-Landschaft", + "domain": "aesch.bl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aesch.bl.ch" + ], + "redirect": [], + "wikidata": [ + "aesch.bl.ch" + ], + "guess": [ + "aesch.bl.ch", + "aesch.ch" + ] + }, + "flags": [] + }, + "2762": { + "bfs": "2762", + "name": "Allschwil", + "canton": "Kanton Basel-Landschaft", + "domain": "allschwil.bl.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "allschwil.bl.ch" + ] + }, + "flags": [] + }, + "2763": { + "bfs": "2763", + "name": "Arlesheim", + "canton": "Kanton Basel-Landschaft", + "domain": "arlesheim.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "arlesheim.ch" + ], + "guess": [ + "arlesheim.bl.ch", + "arlesheim.ch" + ] + }, + "flags": [] + }, + "2764": { + "bfs": "2764", + "name": "Biel-Benken", + "canton": "Kanton Basel-Landschaft", + "domain": "biel-benken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "biel-benken.ch" + ], + "redirect": [], + "wikidata": [ + "biel-benken.ch" + ], + "guess": [ + "biel-benken.ch" + ] + }, + "flags": [] + }, + "2765": { + "bfs": "2765", + "name": "Binningen", + "canton": "Kanton Basel-Landschaft", + "domain": "binningen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "binningen.ch" + ], + "guess": [ + "binningen.bl.ch", + "binningen.ch" + ] + }, + "flags": [] + }, + "2766": { + "bfs": "2766", + "name": "Birsfelden", + "canton": "Kanton Basel-Landschaft", + "domain": "birsfelden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "birsfelden.ch" + ], + "guess": [ + "birsfelden.ch" + ] + }, + "flags": [] + }, + "2767": { + "bfs": "2767", + "name": "Bottmingen", + "canton": "Kanton Basel-Landschaft", + "domain": "bottmingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bottmingen.ch" + ], + "guess": [ + "bottmingen.ch" + ] + }, + "flags": [] + }, + "2768": { + "bfs": "2768", + "name": "Ettingen", + "canton": "Kanton Basel-Landschaft", + "domain": "ettingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ettingen.ch" + ], + "redirect": [], + "wikidata": [ + "ettingen.ch" + ], + "guess": [ + "ettingen.ch" + ] + }, + "flags": [] + }, + "2769": { + "bfs": "2769", + "name": "Münchenstein", + "canton": "Kanton Basel-Landschaft", + "domain": "muenchenstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muenchenstein.ch" + ], + "redirect": [], + "wikidata": [ + "muenchenstein.ch" + ], + "guess": [ + "muenchenstein.ch" + ] + }, + "flags": [] + }, + "2770": { + "bfs": "2770", + "name": "Muttenz", + "canton": "Kanton Basel-Landschaft", + "domain": "muttenz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muttenz.ch" + ], + "redirect": [], + "wikidata": [ + "muttenz.ch" + ], + "guess": [ + "muttenz.ch" + ] + }, + "flags": [] + }, + "2771": { + "bfs": "2771", + "name": "Oberwil (BL)", + "canton": "Kanton Basel-Landschaft", + "domain": "oberwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "oberwil.ch" + ], + "guess": [ + "oberwil.bl.ch", + "oberwil.ch" + ] + }, + "flags": [] + }, + "2772": { + "bfs": "2772", + "name": "Pfeffingen", + "canton": "Kanton Basel-Landschaft", + "domain": "pfeffingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pfeffingen.ch" + ], + "redirect": [], + "wikidata": [ + "pfeffingen.ch" + ], + "guess": [ + "pfeffingen.ch" + ] + }, + "flags": [] + }, + "2773": { + "bfs": "2773", + "name": "Reinach (BL)", + "canton": "Kanton Basel-Landschaft", + "domain": "reinach-bl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reinach-bl.ch" + ], + "redirect": [], + "wikidata": [ + "reinach-bl.ch" + ], + "guess": [ + "reinach.ch" + ] + }, + "flags": [] + }, + "2774": { + "bfs": "2774", + "name": "Schönenbuch", + "canton": "Kanton Basel-Landschaft", + "domain": "schoenenbuch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schoenenbuch.ch" + ], + "redirect": [], + "wikidata": [ + "schoenenbuch.ch" + ], + "guess": [ + "schoenenbuch.ch" + ] + }, + "flags": [] + }, + "2775": { + "bfs": "2775", + "name": "Therwil", + "canton": "Kanton Basel-Landschaft", + "domain": "therwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "therwil.ch" + ], + "guess": [ + "gemeinde-therwil.ch", + "therwil.ch" + ] + }, + "flags": [] + }, + "2781": { + "bfs": "2781", + "name": "Blauen", + "canton": "Kanton Basel-Landschaft", + "domain": "blauen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "blauen.ch" + ], + "redirect": [], + "wikidata": [ + "blauen.ch" + ], + "guess": [ + "blauen.ch" + ] + }, + "flags": [] + }, + "2782": { + "bfs": "2782", + "name": "Brislach", + "canton": "Kanton Basel-Landschaft", + "domain": "brislach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brislach.ch" + ], + "redirect": [], + "wikidata": [ + "brislach.ch" + ], + "guess": [ + "brislach.ch" + ] + }, + "flags": [] + }, + "2783": { + "bfs": "2783", + "name": "Burg im Leimental", + "canton": "Kanton Basel-Landschaft", + "domain": "burg-il.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "burg-il.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2784": { + "bfs": "2784", + "name": "Dittingen", + "canton": "Kanton Basel-Landschaft", + "domain": "dittingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dittingen.ch" + ], + "redirect": [], + "wikidata": [ + "dittingen.ch" + ], + "guess": [ + "dittingen.ch" + ] + }, + "flags": [] + }, + "2785": { + "bfs": "2785", + "name": "Duggingen", + "canton": "Kanton Basel-Landschaft", + "domain": "duggingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duggingen.ch" + ], + "redirect": [], + "wikidata": [ + "duggingen.ch" + ], + "guess": [ + "duggingen.ch" + ] + }, + "flags": [] + }, + "2786": { + "bfs": "2786", + "name": "Grellingen", + "canton": "Kanton Basel-Landschaft", + "domain": "grellingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grellingen.ch" + ], + "redirect": [], + "wikidata": [ + "grellingen.ch" + ], + "guess": [ + "grellingen.ch" + ] + }, + "flags": [] + }, + "2787": { + "bfs": "2787", + "name": "Laufen", + "canton": "Kanton Basel-Landschaft", + "domain": "laufen-bl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laufen-bl.ch" + ], + "redirect": [], + "wikidata": [ + "laufen-bl.ch" + ], + "guess": [ + "laufen.ch" + ] + }, + "flags": [] + }, + "2788": { + "bfs": "2788", + "name": "Liesberg", + "canton": "Kanton Basel-Landschaft", + "domain": "liesberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "liesberg.ch" + ], + "redirect": [], + "wikidata": [ + "liesberg.ch" + ], + "guess": [ + "liesberg.ch" + ] + }, + "flags": [] + }, + "2789": { + "bfs": "2789", + "name": "Nenzlingen", + "canton": "Kanton Basel-Landschaft", + "domain": "nenzlingen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "nenzlingen.ch" + ] + }, + "flags": [] + }, + "2790": { + "bfs": "2790", + "name": "Roggenburg", + "canton": "Kanton Basel-Landschaft", + "domain": "roggenburg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "roggenburg.ch" + ], + "guess": [ + "roggenburg.ch" + ] + }, + "flags": [] + }, + "2791": { + "bfs": "2791", + "name": "Röschenz", + "canton": "Kanton Basel-Landschaft", + "domain": "roeschenz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roeschenz.ch" + ], + "redirect": [], + "wikidata": [ + "roeschenz.ch" + ], + "guess": [ + "roeschenz.ch" + ] + }, + "flags": [] + }, + "2792": { + "bfs": "2792", + "name": "Wahlen", + "canton": "Kanton Basel-Landschaft", + "domain": "gemeinde-wahlen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeinde-wahlen.ch" + ] + }, + "flags": [] + }, + "2793": { + "bfs": "2793", + "name": "Zwingen", + "canton": "Kanton Basel-Landschaft", + "domain": "zwingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zwingen.ch" + ], + "redirect": [], + "wikidata": [ + "zwingen.ch" + ], + "guess": [ + "zwingen.ch" + ] + }, + "flags": [] + }, + "2821": { + "bfs": "2821", + "name": "Arisdorf", + "canton": "Kanton Basel-Landschaft", + "domain": "arisdorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "arisdorf.ch" + ], + "guess": [ + "arisdorf.ch" + ] + }, + "flags": [] + }, + "2822": { + "bfs": "2822", + "name": "Augst", + "canton": "Kanton Basel-Landschaft", + "domain": "augst.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "augst.ch" + ] + }, + "flags": [] + }, + "2823": { + "bfs": "2823", + "name": "Bubendorf", + "canton": "Kanton Basel-Landschaft", + "domain": "bubendorf.swiss", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bubendorf.swiss" + ], + "guess": [ + "bubendorf.ch" + ] + }, + "flags": [] + }, + "2824": { + "bfs": "2824", + "name": "Frenkendorf", + "canton": "Kanton Basel-Landschaft", + "domain": "frenkendorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "frenkendorf.ch" + ], + "redirect": [], + "wikidata": [ + "frenkendorf.ch" + ], + "guess": [ + "frenkendorf.ch" + ] + }, + "flags": [] + }, + "2825": { + "bfs": "2825", + "name": "Füllinsdorf", + "canton": "Kanton Basel-Landschaft", + "domain": "fuellinsdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fuellinsdorf.ch" + ], + "redirect": [], + "wikidata": [ + "fuellinsdorf.ch" + ], + "guess": [ + "fuellinsdorf.ch" + ] + }, + "flags": [] + }, + "2826": { + "bfs": "2826", + "name": "Giebenach", + "canton": "Kanton Basel-Landschaft", + "domain": "giebenach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "giebenach.ch" + ], + "guess": [ + "giebenach.ch" + ] + }, + "flags": [] + }, + "2827": { + "bfs": "2827", + "name": "Hersberg", + "canton": "Kanton Basel-Landschaft", + "domain": "hersberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "hersberg.ch" + ], + "guess": [ + "hersberg.ch" + ] + }, + "flags": [] + }, + "2828": { + "bfs": "2828", + "name": "Lausen", + "canton": "Kanton Basel-Landschaft", + "domain": "lausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lausen.ch" + ], + "redirect": [], + "wikidata": [ + "lausen.ch" + ], + "guess": [ + "lausen.ch" + ] + }, + "flags": [] + }, + "2829": { + "bfs": "2829", + "name": "Liestal", + "canton": "Kanton Basel-Landschaft", + "domain": "liestal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "esb-bl.ch", + "liestal.ch" + ], + "redirect": [], + "wikidata": [ + "liestal.ch" + ], + "guess": [ + "liestal.bl.ch", + "liestal.ch" + ] + }, + "flags": [] + }, + "2830": { + "bfs": "2830", + "name": "Lupsingen", + "canton": "Kanton Basel-Landschaft", + "domain": "lupsingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lupsingen.ch" + ], + "guess": [ + "lupsingen.ch" + ] + }, + "flags": [] + }, + "2831": { + "bfs": "2831", + "name": "Pratteln", + "canton": "Kanton Basel-Landschaft", + "domain": "pratteln.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pratteln.ch" + ], + "redirect": [], + "wikidata": [ + "pratteln.ch" + ], + "guess": [ + "pratteln.bl.ch", + "pratteln.ch" + ] + }, + "flags": [] + }, + "2832": { + "bfs": "2832", + "name": "Ramlinsburg", + "canton": "Kanton Basel-Landschaft", + "domain": "ramlinsburg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ramlinsburg.ch" + ], + "guess": [ + "ramlinsburg.ch" + ] + }, + "flags": [] + }, + "2833": { + "bfs": "2833", + "name": "Seltisberg", + "canton": "Kanton Basel-Landschaft", + "domain": "seltisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seltisberg.ch" + ], + "redirect": [], + "wikidata": [ + "seltisberg.ch" + ], + "guess": [ + "seltisberg.ch" + ] + }, + "flags": [] + }, + "2834": { + "bfs": "2834", + "name": "Ziefen", + "canton": "Kanton Basel-Landschaft", + "domain": "ziefen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ziefen.ch" + ], + "redirect": [], + "wikidata": [ + "ziefen.ch" + ], + "guess": [ + "ziefen.ch" + ] + }, + "flags": [] + }, + "2841": { + "bfs": "2841", + "name": "Anwil", + "canton": "Kanton Basel-Landschaft", + "domain": "anwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "anwil.ch" + ], + "redirect": [], + "wikidata": [ + "anwil.ch" + ], + "guess": [ + "anwil.ch" + ] + }, + "flags": [] + }, + "2842": { + "bfs": "2842", + "name": "Böckten", + "canton": "Kanton Basel-Landschaft", + "domain": "boeckten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boeckten.ch" + ], + "redirect": [], + "wikidata": [ + "boeckten.ch" + ], + "guess": [ + "boeckten.ch" + ] + }, + "flags": [] + }, + "2843": { + "bfs": "2843", + "name": "Buckten", + "canton": "Kanton Basel-Landschaft", + "domain": "buckten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buckten.ch" + ], + "redirect": [], + "wikidata": [ + "buckten.ch" + ], + "guess": [ + "buckten.ch" + ] + }, + "flags": [] + }, + "2844": { + "bfs": "2844", + "name": "Buus", + "canton": "Kanton Basel-Landschaft", + "domain": "buus.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buus.ch" + ], + "redirect": [], + "wikidata": [ + "buus.ch" + ], + "guess": [ + "buus.ch" + ] + }, + "flags": [] + }, + "2845": { + "bfs": "2845", + "name": "Diepflingen", + "canton": "Kanton Basel-Landschaft", + "domain": "diepflingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "diepflingen.ch" + ], + "guess": [ + "diepflingen.ch" + ] + }, + "flags": [] + }, + "2846": { + "bfs": "2846", + "name": "Gelterkinden", + "canton": "Kanton Basel-Landschaft", + "domain": "gelterkinden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gelterkinden.ch" + ], + "guess": [ + "gelterkinden.ch" + ] + }, + "flags": [] + }, + "2847": { + "bfs": "2847", + "name": "Häfelfingen", + "canton": "Kanton Basel-Landschaft", + "domain": "haefelfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haefelfingen.ch" + ], + "redirect": [], + "wikidata": [ + "haefelfingen.ch" + ], + "guess": [ + "haefelfingen.ch" + ] + }, + "flags": [] + }, + "2848": { + "bfs": "2848", + "name": "Hemmiken", + "canton": "Kanton Basel-Landschaft", + "domain": "hemmiken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemmiken.ch" + ], + "redirect": [], + "wikidata": [ + "hemmiken.ch" + ], + "guess": [ + "hemmiken.ch" + ] + }, + "flags": [] + }, + "2849": { + "bfs": "2849", + "name": "Itingen", + "canton": "Kanton Basel-Landschaft", + "domain": "itingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "itingen.ch" + ], + "redirect": [], + "wikidata": [ + "itingen.ch" + ], + "guess": [ + "itingen.ch" + ] + }, + "flags": [] + }, + "2850": { + "bfs": "2850", + "name": "Känerkinden", + "canton": "Kanton Basel-Landschaft", + "domain": "kaenerkinden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kaenerkinden.ch" + ], + "redirect": [], + "wikidata": [ + "kaenerkinden.ch" + ], + "guess": [ + "kaenerkinden.ch" + ] + }, + "flags": [] + }, + "2851": { + "bfs": "2851", + "name": "Kilchberg (BL)", + "canton": "Kanton Basel-Landschaft", + "domain": "verbund-schafmatt.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "verbund-schafmatt.ch" + ], + "redirect": [ + "rue-ki-ze.ch" + ], + "wikidata": [ + "kilchberg-bl.ch" + ], + "guess": [ + "kilchberg.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2852": { + "bfs": "2852", + "name": "Läufelfingen", + "canton": "Kanton Basel-Landschaft", + "domain": "laeufelfingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laeufelfingen.ch" + ], + "redirect": [], + "wikidata": [ + "laeufelfingen.ch" + ], + "guess": [ + "laeufelfingen.ch" + ] + }, + "flags": [] + }, + "2853": { + "bfs": "2853", + "name": "Maisprach", + "canton": "Kanton Basel-Landschaft", + "domain": "maisprach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "maisprach.ch" + ], + "guess": [ + "maisprach.ch" + ] + }, + "flags": [] + }, + "2854": { + "bfs": "2854", + "name": "Nusshof", + "canton": "Kanton Basel-Landschaft", + "domain": "nusshof.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "nusshof.ch" + ], + "guess": [ + "nusshof.ch" + ] + }, + "flags": [] + }, + "2855": { + "bfs": "2855", + "name": "Oltingen", + "canton": "Kanton Basel-Landschaft", + "domain": "verbund-schafmatt.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "verbund-schafmatt.ch" + ] + }, + "flags": [] + }, + "2856": { + "bfs": "2856", + "name": "Ormalingen", + "canton": "Kanton Basel-Landschaft", + "domain": "ormalingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gelterkinden.ch", + "ormalingen.ch" + ], + "redirect": [], + "wikidata": [ + "ormalingen.ch" + ], + "guess": [ + "ormalingen.ch" + ] + }, + "flags": [] + }, + "2857": { + "bfs": "2857", + "name": "Rickenbach (BL)", + "canton": "Kanton Basel-Landschaft", + "domain": "rickenbach-bl.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rickenbach-bl.ch", + "rickenbach-bl.org" + ], + "redirect": [], + "wikidata": [ + "rickenbach-bl.ch" + ], + "guess": [ + "rickenbach.ch" + ] + }, + "flags": [] + }, + "2858": { + "bfs": "2858", + "name": "Rothenfluh", + "canton": "Kanton Basel-Landschaft", + "domain": "rothenfluh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rothenfluh.ch" + ], + "redirect": [], + "wikidata": [ + "rothenfluh.ch" + ], + "guess": [ + "rothenfluh.ch" + ] + }, + "flags": [] + }, + "2859": { + "bfs": "2859", + "name": "Rümlingen", + "canton": "Kanton Basel-Landschaft", + "domain": "ruemlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruemlingen.ch" + ], + "redirect": [], + "wikidata": [ + "ruemlingen.ch" + ], + "guess": [ + "ruemlingen.ch" + ] + }, + "flags": [] + }, + "2860": { + "bfs": "2860", + "name": "Rünenberg", + "canton": "Kanton Basel-Landschaft", + "domain": "verbund-schafmatt.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "verbund-schafmatt.ch" + ] + }, + "flags": [] + }, + "2861": { + "bfs": "2861", + "name": "Sissach", + "canton": "Kanton Basel-Landschaft", + "domain": "sissach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sissach.ch" + ], + "redirect": [], + "wikidata": [ + "sissach.ch" + ], + "guess": [ + "sissach.ch" + ] + }, + "flags": [] + }, + "2862": { + "bfs": "2862", + "name": "Tecknau", + "canton": "Kanton Basel-Landschaft", + "domain": "tecknau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tecknau.ch" + ], + "redirect": [], + "wikidata": [ + "tecknau.ch" + ], + "guess": [ + "tecknau.ch" + ] + }, + "flags": [] + }, + "2863": { + "bfs": "2863", + "name": "Tenniken", + "canton": "Kanton Basel-Landschaft", + "domain": "tenniken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tenniken.ch" + ], + "redirect": [], + "wikidata": [ + "tenniken.ch" + ], + "guess": [ + "tenniken.ch" + ] + }, + "flags": [] + }, + "2864": { + "bfs": "2864", + "name": "Thürnen", + "canton": "Kanton Basel-Landschaft", + "domain": "thuernen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thuernen.ch" + ], + "redirect": [], + "wikidata": [ + "thuernen.ch" + ], + "guess": [ + "thuernen.ch" + ] + }, + "flags": [] + }, + "2865": { + "bfs": "2865", + "name": "Wenslingen", + "canton": "Kanton Basel-Landschaft", + "domain": "verbund-schafmatt.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "verbund-schafmatt.ch" + ] + }, + "flags": [] + }, + "2866": { + "bfs": "2866", + "name": "Wintersingen", + "canton": "Kanton Basel-Landschaft", + "domain": "wintersingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bl.ch", + "wintersingen.ch" + ], + "redirect": [], + "wikidata": [ + "wintersingen.ch" + ], + "guess": [ + "wintersingen.ch" + ] + }, + "flags": [] + }, + "2867": { + "bfs": "2867", + "name": "Wittinsburg", + "canton": "Kanton Basel-Landschaft", + "domain": "wittinsburg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wittinsburg.ch" + ], + "guess": [ + "wittinsburg.ch" + ] + }, + "flags": [] + }, + "2868": { + "bfs": "2868", + "name": "Zeglingen", + "canton": "Kanton Basel-Landschaft", + "domain": "verbund-schafmatt.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "verbund-schafmatt.ch" + ] + }, + "flags": [] + }, + "2869": { + "bfs": "2869", + "name": "Zunzgen", + "canton": "Kanton Basel-Landschaft", + "domain": "zunzgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zunzgen.ch" + ], + "redirect": [], + "wikidata": [ + "zunzgen.ch" + ], + "guess": [ + "zunzgen.ch" + ] + }, + "flags": [] + }, + "2881": { + "bfs": "2881", + "name": "Arboldswil", + "canton": "Kanton Basel-Landschaft", + "domain": "arboldswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "arboldswil.ch" + ], + "guess": [ + "arboldswil.ch" + ] + }, + "flags": [] + }, + "2882": { + "bfs": "2882", + "name": "Bennwil", + "canton": "Kanton Basel-Landschaft", + "domain": "bennwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bennwil.ch" + ], + "redirect": [], + "wikidata": [ + "bennwil.ch" + ], + "guess": [ + "bennwil.ch" + ] + }, + "flags": [] + }, + "2883": { + "bfs": "2883", + "name": "Bretzwil", + "canton": "Kanton Basel-Landschaft", + "domain": "bretzwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bretzwil.ch" + ], + "redirect": [], + "wikidata": [ + "bretzwil.ch" + ], + "guess": [ + "bretzwil.ch" + ] + }, + "flags": [] + }, + "2884": { + "bfs": "2884", + "name": "Diegten", + "canton": "Kanton Basel-Landschaft", + "domain": "diegten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "diegten.ch" + ], + "redirect": [], + "wikidata": [ + "diegten.ch" + ], + "guess": [ + "diegten.ch" + ] + }, + "flags": [] + }, + "2885": { + "bfs": "2885", + "name": "Eptingen", + "canton": "Kanton Basel-Landschaft", + "domain": "eptingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eptingen.ch" + ], + "guess": [ + "eptingen.ch" + ] + }, + "flags": [] + }, + "2886": { + "bfs": "2886", + "name": "Hölstein", + "canton": "Kanton Basel-Landschaft", + "domain": "hoelstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hoelstein.ch" + ], + "redirect": [], + "wikidata": [ + "hoelstein.ch" + ], + "guess": [ + "hoelstein.ch" + ] + }, + "flags": [] + }, + "2887": { + "bfs": "2887", + "name": "Lampenberg", + "canton": "Kanton Basel-Landschaft", + "domain": "lampenberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lampenberg.ch" + ], + "guess": [ + "lampenberg.ch" + ] + }, + "flags": [] + }, + "2888": { + "bfs": "2888", + "name": "Langenbruck", + "canton": "Kanton Basel-Landschaft", + "domain": "langenbruck.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "langenbruck.ch" + ], + "redirect": [], + "wikidata": [ + "langenbruck.ch" + ], + "guess": [ + "langenbruck.ch" + ] + }, + "flags": [] + }, + "2889": { + "bfs": "2889", + "name": "Lauwil", + "canton": "Kanton Basel-Landschaft", + "domain": "lauwil.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "nvrl.ch" + ], + "redirect": [], + "wikidata": [ + "lauwil.ch" + ], + "guess": [ + "lauwil.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2890": { + "bfs": "2890", + "name": "Liedertswil", + "canton": "Kanton Basel-Landschaft", + "domain": "liedertswil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "liedertswil.ch" + ], + "guess": [ + "liedertswil.ch" + ] + }, + "flags": [] + }, + "2891": { + "bfs": "2891", + "name": "Niederdorf", + "canton": "Kanton Basel-Landschaft", + "domain": "niederdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederdorf.ch" + ], + "redirect": [], + "wikidata": [ + "niederdorf.ch" + ], + "guess": [ + "niederdorf.ch" + ] + }, + "flags": [] + }, + "2892": { + "bfs": "2892", + "name": "Oberdorf (BL)", + "canton": "Kanton Basel-Landschaft", + "domain": "bl.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bl.ch" + ] + }, + "flags": [] + }, + "2893": { + "bfs": "2893", + "name": "Reigoldswil", + "canton": "Kanton Basel-Landschaft", + "domain": "gde-reigoldswil.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gde-reigoldswil.ch" + ] + }, + "flags": [] + }, + "2894": { + "bfs": "2894", + "name": "Titterten", + "canton": "Kanton Basel-Landschaft", + "domain": "titterten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "titterten.ch" + ], + "redirect": [], + "wikidata": [ + "titterten.ch" + ], + "guess": [ + "titterten.ch" + ] + }, + "flags": [] + }, + "2895": { + "bfs": "2895", + "name": "Waldenburg", + "canton": "Kanton Basel-Landschaft", + "domain": "waldenburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "waldenburg.ch" + ], + "redirect": [], + "wikidata": [ + "waldenburg.ch" + ], + "guess": [ + "waldenburg.ch" + ] + }, + "flags": [] + }, + "2901": { + "bfs": "2901", + "name": "Gächlingen", + "canton": "Kanton Schaffhausen", + "domain": "gaechlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gaechlingen.ch", + "schule-gaechlingen.ch", + "srk-schaffhausen.ch" + ], + "redirect": [], + "wikidata": [ + "gaechlingen.ch" + ], + "guess": [ + "gaechlingen.ch" + ] + }, + "flags": [] + }, + "2903": { + "bfs": "2903", + "name": "Löhningen", + "canton": "Kanton Schaffhausen", + "domain": "loehningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "loehningen.ch" + ], + "redirect": [], + "wikidata": [ + "loehningen.ch" + ], + "guess": [ + "loehningen.ch" + ] + }, + "flags": [] + }, + "2904": { + "bfs": "2904", + "name": "Neunkirch", + "canton": "Kanton Schaffhausen", + "domain": "neunkirch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neunkirch.ch" + ], + "redirect": [], + "wikidata": [ + "neunkirch.ch" + ], + "guess": [ + "neunkirch.ch" + ] + }, + "flags": [] + }, + "2914": { + "bfs": "2914", + "name": "Büttenhardt", + "canton": "Kanton Schaffhausen", + "domain": "buettenhardt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bruehlmannberatungen.ch", + "buettenhardt.ch" + ], + "redirect": [], + "wikidata": [ + "buettenhardt.ch" + ], + "guess": [ + "buettenhardt.ch" + ] + }, + "flags": [] + }, + "2915": { + "bfs": "2915", + "name": "Dörflingen", + "canton": "Kanton Schaffhausen", + "domain": "doerflingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "doerflingen.ch" + ], + "redirect": [], + "wikidata": [ + "doerflingen.ch" + ], + "guess": [ + "doerflingen.ch" + ] + }, + "flags": [] + }, + "2917": { + "bfs": "2917", + "name": "Lohn (SH)", + "canton": "Kanton Schaffhausen", + "domain": "lohn.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lohn.ch" + ], + "guess": [ + "lohn.ch" + ] + }, + "flags": [] + }, + "2919": { + "bfs": "2919", + "name": "Stetten (SH)", + "canton": "Kanton Schaffhausen", + "domain": "stetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stetten.ch" + ], + "redirect": [], + "wikidata": [ + "stetten.ch" + ], + "guess": [ + "stetten.ch" + ] + }, + "flags": [] + }, + "2920": { + "bfs": "2920", + "name": "Thayngen", + "canton": "Kanton Schaffhausen", + "domain": "thayngen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sh.ch", + "thayngen.ch" + ], + "redirect": [], + "wikidata": [ + "thayngen.ch" + ], + "guess": [ + "thayngen.ch" + ] + }, + "flags": [] + }, + "2931": { + "bfs": "2931", + "name": "Bargen (SH)", + "canton": "Kanton Schaffhausen", + "domain": "bargen.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "sh.ch" + ], + "redirect": [], + "wikidata": [ + "bargen.ch" + ], + "guess": [ + "bargen.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2932": { + "bfs": "2932", + "name": "Beringen", + "canton": "Kanton Schaffhausen", + "domain": "beringen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "beringen.ch" + ], + "guess": [ + "beringen.ch" + ] + }, + "flags": [] + }, + "2933": { + "bfs": "2933", + "name": "Buchberg", + "canton": "Kanton Schaffhausen", + "domain": "buchberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchberg.ch" + ], + "redirect": [], + "wikidata": [ + "buchberg.ch" + ], + "guess": [ + "buchberg.ch" + ] + }, + "flags": [] + }, + "2936": { + "bfs": "2936", + "name": "Merishausen", + "canton": "Kanton Schaffhausen", + "domain": "merishausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "merishausen.ch", + "schule-merishausen.ch", + "sh.ch", + "tannerholz.ch" + ], + "redirect": [], + "wikidata": [ + "merishausen.ch" + ], + "guess": [ + "merishausen.ch" + ] + }, + "flags": [] + }, + "2937": { + "bfs": "2937", + "name": "Neuhausen am Rheinfall", + "canton": "Kanton Schaffhausen", + "domain": "neuhausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neuhausen.ch" + ], + "redirect": [], + "wikidata": [ + "neuhausen.ch" + ], + "guess": [] + }, + "flags": [] + }, + "2938": { + "bfs": "2938", + "name": "Rüdlingen", + "canton": "Kanton Schaffhausen", + "domain": "ruedlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "axa.ch", + "buchberg.ch", + "forst-rafzerfeld.ch", + "hallau.ch", + "ruedlingen.ch", + "sh.ch" + ], + "redirect": [], + "wikidata": [ + "ruedlingen.ch" + ], + "guess": [ + "ruedlingen.ch" + ] + }, + "flags": [] + }, + "2939": { + "bfs": "2939", + "name": "Schaffhausen", + "canton": "Kanton Schaffhausen", + "domain": "stsh.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "stsh.ch" + ] + }, + "flags": [] + }, + "2951": { + "bfs": "2951", + "name": "Beggingen", + "canton": "Kanton Schaffhausen", + "domain": "beggingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "beggingen.ch" + ], + "redirect": [], + "wikidata": [ + "beggingen.ch" + ], + "guess": [ + "beggingen.ch" + ] + }, + "flags": [] + }, + "2952": { + "bfs": "2952", + "name": "Schleitheim", + "canton": "Kanton Schaffhausen", + "domain": "schleitheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schleitheim.ch" + ], + "redirect": [], + "wikidata": [ + "schleitheim.ch" + ], + "guess": [ + "schleitheim.ch" + ] + }, + "flags": [] + }, + "2953": { + "bfs": "2953", + "name": "Siblingen", + "canton": "Kanton Schaffhausen", + "domain": "siblingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schulesiblingen.ch", + "siblingen.ch", + "spitex-klettgau-randen.ch" + ], + "redirect": [], + "wikidata": [ + "siblingen.ch" + ], + "guess": [ + "siblingen.ch" + ] + }, + "flags": [] + }, + "2961": { + "bfs": "2961", + "name": "Buch (SH)", + "canton": "Kanton Schaffhausen", + "domain": "buch-sh.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buch-sh.ch" + ], + "redirect": [], + "wikidata": [ + "buch-sh.ch" + ], + "guess": [ + "buch.ch" + ] + }, + "flags": [] + }, + "2962": { + "bfs": "2962", + "name": "Hemishofen", + "canton": "Kanton Schaffhausen", + "domain": "hemishofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hemishofen.ch" + ], + "redirect": [], + "wikidata": [ + "hemishofen.ch" + ], + "guess": [ + "hemishofen.ch" + ] + }, + "flags": [] + }, + "2963": { + "bfs": "2963", + "name": "Ramsen", + "canton": "Kanton Schaffhausen", + "domain": "ramsen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ramsen.ch" + ], + "redirect": [], + "wikidata": [ + "ramsen.ch" + ], + "guess": [ + "ramsen.ch" + ] + }, + "flags": [] + }, + "2964": { + "bfs": "2964", + "name": "Stein am Rhein", + "canton": "Kanton Schaffhausen", + "domain": "steinamrhein.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "steinamrhein.ch" + ], + "guess": [ + "stein-am-rhein.ch", + "steinamrhein.ch" + ] + }, + "flags": [] + }, + "2971": { + "bfs": "2971", + "name": "Hallau", + "canton": "Kanton Schaffhausen", + "domain": "hallau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hallau.ch", + "ksd.ch" + ], + "redirect": [], + "wikidata": [ + "hallau.ch" + ], + "guess": [ + "hallau.ch" + ] + }, + "flags": [] + }, + "2972": { + "bfs": "2972", + "name": "Oberhallau", + "canton": "Kanton Schaffhausen", + "domain": "oberhallau.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "ksd.ch" + ], + "redirect": [], + "wikidata": [ + "oberhallau.ch" + ], + "guess": [ + "oberhallau.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "2973": { + "bfs": "2973", + "name": "Trasadingen", + "canton": "Kanton Schaffhausen", + "domain": "ktsh.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ktsh.ch" + ] + }, + "flags": [] + }, + "2974": { + "bfs": "2974", + "name": "Wilchingen", + "canton": "Kanton Schaffhausen", + "domain": "wilchingen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "wilchingen.ch" + ] + }, + "flags": [] + }, + "3001": { + "bfs": "3001", + "name": "Herisau", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "herisau.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "herisau.ar.ch" + ], + "redirect": [], + "wikidata": [ + "herisau.ch" + ], + "guess": [ + "herisau.ar.ch", + "herisau.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3002": { + "bfs": "3002", + "name": "Hundwil", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "hundwil.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hundwil.ar.ch" + ], + "redirect": [], + "wikidata": [ + "hundwil.ch" + ], + "guess": [ + "hundwil.ar.ch", + "hundwil.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3003": { + "bfs": "3003", + "name": "Schönengrund", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "schoenengrund.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "schoenengrund.ar.ch" + ], + "redirect": [], + "wikidata": [ + "schoenengrund.ch" + ], + "guess": [ + "schoenengrund.ar.ch", + "schoenengrund.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3004": { + "bfs": "3004", + "name": "Schwellbrunn", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "schwellbrunn.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schwellbrunn.ar.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "schwellbrunn.ar.ch" + ] + }, + "flags": [] + }, + "3005": { + "bfs": "3005", + "name": "Stein (AR)", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "stein.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stein.ar.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "gemeinde-stein.ch", + "stein.ar.ch" + ] + }, + "flags": [] + }, + "3006": { + "bfs": "3006", + "name": "Urnäsch", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "ar.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ar.ch" + ] + }, + "flags": [] + }, + "3007": { + "bfs": "3007", + "name": "Waldstatt", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "waldstatt.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "waldstatt.ar.ch" + ], + "redirect": [], + "wikidata": [ + "waldstatt.ch" + ], + "guess": [ + "waldstatt.ar.ch", + "waldstatt.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3021": { + "bfs": "3021", + "name": "Bühler", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "buehler.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "buehler.ar.ch" + ], + "redirect": [], + "wikidata": [ + "buehlerar.ch" + ], + "guess": [ + "buehler.ar.ch", + "buehler.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3022": { + "bfs": "3022", + "name": "Gais", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "ar.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ar.ch" + ] + }, + "flags": [] + }, + "3023": { + "bfs": "3023", + "name": "Speicher", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "speicher.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "speicher.ar.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "speicher.ar.ch" + ] + }, + "flags": [] + }, + "3024": { + "bfs": "3024", + "name": "Teufen (AR)", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "teufen.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "teufen.ar.ch" + ], + "redirect": [], + "wikidata": [ + "teufen.ch" + ], + "guess": [ + "teufen.ar.ch", + "teufen.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3025": { + "bfs": "3025", + "name": "Trogen", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "trogen.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "trogen.ar.ch" + ], + "redirect": [], + "wikidata": [ + "trogen.ch" + ], + "guess": [ + "trogen.ar.ch", + "trogen.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3031": { + "bfs": "3031", + "name": "Grub (AR)", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "grub.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grub.ar.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "grub.ar.ch" + ] + }, + "flags": [] + }, + "3032": { + "bfs": "3032", + "name": "Heiden", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "heiden.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "heiden.ar.ch" + ], + "redirect": [], + "wikidata": [ + "heiden.ch" + ], + "guess": [ + "heiden.ar.ch", + "heiden.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3033": { + "bfs": "3033", + "name": "Lutzenberg", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "lutzenberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lutzenberg.ch" + ], + "redirect": [], + "wikidata": [ + "lutzenberg.ch" + ], + "guess": [ + "lutzenberg.ar.ch", + "lutzenberg.ch" + ] + }, + "flags": [] + }, + "3034": { + "bfs": "3034", + "name": "Rehetobel", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "rehetobel.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "rehetobel.ar.ch" + ], + "redirect": [], + "wikidata": [ + "rehetobel.ch" + ], + "guess": [ + "rehetobel.ar.ch", + "rehetobel.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3035": { + "bfs": "3035", + "name": "Reute (AR)", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "reute.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reute.ar.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "reute.ar.ch" + ] + }, + "flags": [] + }, + "3036": { + "bfs": "3036", + "name": "Wald (AR)", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "wald.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wald.ar.ch" + ], + "redirect": [], + "wikidata": [ + "wald.ar.ch" + ], + "guess": [ + "gemeinde-wald.ch", + "wald.ar.ch", + "wald.ch" + ] + }, + "flags": [] + }, + "3037": { + "bfs": "3037", + "name": "Walzenhausen", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "walzenhausen.ar.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "walzenhausen.ar.ch" + ], + "redirect": [], + "wikidata": [ + "walzenhausen.ch" + ], + "guess": [ + "walzenhausen.ar.ch", + "walzenhausen.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3038": { + "bfs": "3038", + "name": "Wolfhalden", + "canton": "Kanton Appenzell Ausserrhoden", + "domain": "wolfhalden.ar.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wolfhalden.ar.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "wolfhalden.ar.ch" + ] + }, + "flags": [] + }, + "3101": { + "bfs": "3101", + "name": "Appenzell", + "canton": "Kanton Appenzell Innerrhoden", + "domain": "appenzell.ai.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "appenzell.ai.ch" + ], + "redirect": [], + "wikidata": [ + "appenzell.org" + ], + "guess": [ + "appenzell.ai.ch", + "appenzell.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3102": { + "bfs": "3102", + "name": "Gonten", + "canton": "Kanton Appenzell Innerrhoden", + "domain": "gonten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gonten.ch" + ], + "redirect": [], + "wikidata": [ + "gonten.ch" + ], + "guess": [ + "gonten.ai.ch", + "gonten.ch" + ] + }, + "flags": [] + }, + "3104": { + "bfs": "3104", + "name": "Schlatt-Haslen", + "canton": "Kanton Appenzell Innerrhoden", + "domain": "schlatt-haslen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "schlatt-haslen.ch" + ], + "guess": [ + "schlatt-haslen.ai.ch", + "schlatt-haslen.ch" + ] + }, + "flags": [] + }, + "3111": { + "bfs": "3111", + "name": "Oberegg", + "canton": "Kanton Appenzell Innerrhoden", + "domain": "oberegg.ai.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "oberegg.ai.ch" + ], + "redirect": [], + "wikidata": [ + "oberegg.ch" + ], + "guess": [ + "oberegg.ai.ch", + "oberegg.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3112": { + "bfs": "3112", + "name": "Schwende-Rüte", + "canton": "Kanton Appenzell Innerrhoden", + "domain": "schwende-ruete.ai.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "schwende-ruete.ai.ch" + ], + "redirect": [], + "wikidata": [ + "schwende-ruete.ch" + ], + "guess": [ + "schwende-ruete.ai.ch", + "schwende-ruete.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3201": { + "bfs": "3201", + "name": "Häggenschwil", + "canton": "Kanton St. Gallen", + "domain": "haeggenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haeggenschwil.ch" + ], + "redirect": [], + "wikidata": [ + "haeggenschwil.ch" + ], + "guess": [ + "haeggenschwil.ch", + "haeggenschwil.sg.ch" + ] + }, + "flags": [] + }, + "3202": { + "bfs": "3202", + "name": "Muolen", + "canton": "Kanton St. Gallen", + "domain": "muolen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muolen.ch" + ], + "redirect": [], + "wikidata": [ + "muolen.ch" + ], + "guess": [ + "muolen.ch" + ] + }, + "flags": [] + }, + "3203": { + "bfs": "3203", + "name": "St. Gallen", + "canton": "Kanton St. Gallen", + "domain": "stadt.sg.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "stadt.sg.ch" + ], + "redirect": [], + "wikidata": [ + "stadt.sg.ch" + ], + "guess": [ + "st-gallen.ch", + "stgallen.ch" + ] + }, + "flags": [ + "website_mismatch" + ] + }, + "3204": { + "bfs": "3204", + "name": "Wittenbach", + "canton": "Kanton St. Gallen", + "domain": "wittenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wittenbach.ch" + ], + "redirect": [], + "wikidata": [ + "wittenbach.ch" + ], + "guess": [ + "wittenbach.ch" + ] + }, + "flags": [] + }, + "3211": { + "bfs": "3211", + "name": "Berg (SG)", + "canton": "Kanton St. Gallen", + "domain": "bergsg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bergsg.ch" + ], + "redirect": [], + "wikidata": [ + "bergsg.ch" + ], + "guess": [ + "berg.ch", + "gemeinde-berg.ch" + ] + }, + "flags": [] + }, + "3212": { + "bfs": "3212", + "name": "Eggersriet", + "canton": "Kanton St. Gallen", + "domain": "eggersriet.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eggersriet.ch" + ], + "redirect": [], + "wikidata": [ + "eggersriet.ch" + ], + "guess": [ + "eggersriet.ch" + ] + }, + "flags": [] + }, + "3213": { + "bfs": "3213", + "name": "Goldach", + "canton": "Kanton St. Gallen", + "domain": "goldach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "goldach.ch" + ], + "redirect": [], + "wikidata": [ + "goldach.ch" + ], + "guess": [ + "goldach.ch" + ] + }, + "flags": [] + }, + "3214": { + "bfs": "3214", + "name": "Mörschwil", + "canton": "Kanton St. Gallen", + "domain": "moerschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moerschwil.ch" + ], + "redirect": [], + "wikidata": [ + "moerschwil.ch" + ], + "guess": [ + "moerschwil.ch" + ] + }, + "flags": [] + }, + "3215": { + "bfs": "3215", + "name": "Rorschach", + "canton": "Kanton St. Gallen", + "domain": "rorschach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rorschach.ch" + ], + "redirect": [], + "wikidata": [ + "rorschach.ch" + ], + "guess": [ + "rorschach.ch" + ] + }, + "flags": [] + }, + "3216": { + "bfs": "3216", + "name": "Rorschacherberg", + "canton": "Kanton St. Gallen", + "domain": "rorschacherberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rorschacherberg.ch" + ], + "redirect": [], + "wikidata": [ + "rorschacherberg.ch" + ], + "guess": [ + "rorschacherberg.ch" + ] + }, + "flags": [] + }, + "3217": { + "bfs": "3217", + "name": "Steinach", + "canton": "Kanton St. Gallen", + "domain": "steinach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "steinach.ch" + ], + "redirect": [], + "wikidata": [ + "steinach.ch" + ], + "guess": [ + "steinach.ch" + ] + }, + "flags": [] + }, + "3218": { + "bfs": "3218", + "name": "Tübach", + "canton": "Kanton St. Gallen", + "domain": "tuebach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tuebach.ch" + ], + "redirect": [], + "wikidata": [ + "tuebach.ch" + ], + "guess": [ + "tuebach.ch" + ] + }, + "flags": [] + }, + "3219": { + "bfs": "3219", + "name": "Untereggen", + "canton": "Kanton St. Gallen", + "domain": "untereggen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "untereggen.ch" + ], + "redirect": [], + "wikidata": [ + "untereggen.ch" + ], + "guess": [ + "untereggen.ch" + ] + }, + "flags": [] + }, + "3231": { + "bfs": "3231", + "name": "Au (SG)", + "canton": "Kanton St. Gallen", + "domain": "au.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "au.ch" + ] + }, + "flags": [] + }, + "3232": { + "bfs": "3232", + "name": "Balgach", + "canton": "Kanton St. Gallen", + "domain": "balgach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "balgach.ch" + ], + "redirect": [], + "wikidata": [ + "balgach.ch" + ], + "guess": [ + "balgach.ch" + ] + }, + "flags": [] + }, + "3233": { + "bfs": "3233", + "name": "Berneck", + "canton": "Kanton St. Gallen", + "domain": "berneck.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "berneck.ch" + ], + "redirect": [], + "wikidata": [ + "berneck.ch" + ], + "guess": [ + "berneck.ch" + ] + }, + "flags": [] + }, + "3234": { + "bfs": "3234", + "name": "Diepoldsau", + "canton": "Kanton St. Gallen", + "domain": "diepoldsau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "diepoldsau.ch" + ], + "redirect": [], + "wikidata": [ + "diepoldsau.ch" + ], + "guess": [ + "diepoldsau.ch" + ] + }, + "flags": [] + }, + "3235": { + "bfs": "3235", + "name": "Rheineck", + "canton": "Kanton St. Gallen", + "domain": "rheineck.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rheineck.ch" + ], + "redirect": [], + "wikidata": [ + "rheineck.ch" + ], + "guess": [ + "rheineck.ch" + ] + }, + "flags": [] + }, + "3236": { + "bfs": "3236", + "name": "St. Margrethen", + "canton": "Kanton St. Gallen", + "domain": "stmargrethen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stmargrethen.ch" + ], + "redirect": [], + "wikidata": [ + "stmargrethen.ch" + ], + "guess": [ + "stmargrethen.ch" + ] + }, + "flags": [] + }, + "3237": { + "bfs": "3237", + "name": "Thal", + "canton": "Kanton St. Gallen", + "domain": "thal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "thal.ch" + ], + "guess": [ + "thal.ch" + ] + }, + "flags": [] + }, + "3238": { + "bfs": "3238", + "name": "Widnau", + "canton": "Kanton St. Gallen", + "domain": "widnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "widnau.ch" + ], + "redirect": [], + "wikidata": [ + "widnau.ch" + ], + "guess": [ + "widnau.ch" + ] + }, + "flags": [] + }, + "3251": { + "bfs": "3251", + "name": "Altstätten", + "canton": "Kanton St. Gallen", + "domain": "altstaetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altstaetten.ch" + ], + "redirect": [], + "wikidata": [ + "altstaetten.ch" + ], + "guess": [ + "altstaetten.ch" + ] + }, + "flags": [] + }, + "3252": { + "bfs": "3252", + "name": "Eichberg", + "canton": "Kanton St. Gallen", + "domain": "eichberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eichberg.ch" + ], + "redirect": [], + "wikidata": [ + "eichberg.ch" + ], + "guess": [ + "eichberg.ch" + ] + }, + "flags": [] + }, + "3253": { + "bfs": "3253", + "name": "Marbach (SG)", + "canton": "Kanton St. Gallen", + "domain": "marbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "marbach.ch" + ], + "redirect": [], + "wikidata": [ + "marbach.ch" + ], + "guess": [ + "marbach.ch" + ] + }, + "flags": [] + }, + "3254": { + "bfs": "3254", + "name": "Oberriet (SG)", + "canton": "Kanton St. Gallen", + "domain": "oberriet.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberriet.ch" + ], + "redirect": [], + "wikidata": [ + "oberriet.ch" + ], + "guess": [ + "oberriet.ch" + ] + }, + "flags": [] + }, + "3255": { + "bfs": "3255", + "name": "Rebstein", + "canton": "Kanton St. Gallen", + "domain": "rebstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rebstein.ch" + ], + "redirect": [], + "wikidata": [ + "rebstein.ch" + ], + "guess": [ + "rebstein.ch" + ] + }, + "flags": [] + }, + "3256": { + "bfs": "3256", + "name": "Rüthi (SG)", + "canton": "Kanton St. Gallen", + "domain": "ruethi.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ruethi.ch" + ], + "guess": [ + "ruethi.ch" + ] + }, + "flags": [] + }, + "3271": { + "bfs": "3271", + "name": "Buchs (SG)", + "canton": "Kanton St. Gallen", + "domain": "buchs-sg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchs-sg.ch", + "schmid-fehr.ch" + ], + "redirect": [], + "wikidata": [ + "buchs-sg.ch" + ], + "guess": [ + "buchs.ch" + ] + }, + "flags": [] + }, + "3272": { + "bfs": "3272", + "name": "Gams", + "canton": "Kanton St. Gallen", + "domain": "gams.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gams.ch" + ], + "redirect": [], + "wikidata": [ + "gams.ch" + ], + "guess": [ + "gams.ch" + ] + }, + "flags": [] + }, + "3273": { + "bfs": "3273", + "name": "Grabs", + "canton": "Kanton St. Gallen", + "domain": "grabs.sg.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "grabs.sg.ch" + ], + "redirect": [], + "wikidata": [ + "grabs.ch" + ], + "guess": [ + "grabs.ch", + "grabs.sg.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3274": { + "bfs": "3274", + "name": "Sennwald", + "canton": "Kanton St. Gallen", + "domain": "sennwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sennwald.ch" + ], + "redirect": [], + "wikidata": [ + "sennwald.ch" + ], + "guess": [ + "sennwald.ch" + ] + }, + "flags": [] + }, + "3275": { + "bfs": "3275", + "name": "Sevelen", + "canton": "Kanton St. Gallen", + "domain": "sevelen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sevelen.ch" + ], + "redirect": [], + "wikidata": [ + "sevelen.ch" + ], + "guess": [ + "sevelen.ch" + ] + }, + "flags": [] + }, + "3276": { + "bfs": "3276", + "name": "Wartau", + "canton": "Kanton St. Gallen", + "domain": "wartau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wartau.ch" + ], + "redirect": [], + "wikidata": [ + "wartau.ch" + ], + "guess": [ + "wartau.ch" + ] + }, + "flags": [] + }, + "3291": { + "bfs": "3291", + "name": "Bad Ragaz", + "canton": "Kanton St. Gallen", + "domain": "badragaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "badragaz.ch" + ], + "redirect": [], + "wikidata": [ + "badragaz.ch" + ], + "guess": [ + "badragaz.ch" + ] + }, + "flags": [] + }, + "3292": { + "bfs": "3292", + "name": "Flums", + "canton": "Kanton St. Gallen", + "domain": "flums.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flums.ch" + ], + "redirect": [], + "wikidata": [ + "flums.ch" + ], + "guess": [ + "flums.ch" + ] + }, + "flags": [] + }, + "3293": { + "bfs": "3293", + "name": "Mels", + "canton": "Kanton St. Gallen", + "domain": "mels.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mels.ch" + ], + "redirect": [], + "wikidata": [ + "mels.ch" + ], + "guess": [ + "mels.ch" + ] + }, + "flags": [] + }, + "3294": { + "bfs": "3294", + "name": "Pfäfers", + "canton": "Kanton St. Gallen", + "domain": "pfaefers.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pfaefers.ch" + ], + "redirect": [], + "wikidata": [ + "pfaefers.ch" + ], + "guess": [ + "pfaefers.ch" + ] + }, + "flags": [] + }, + "3295": { + "bfs": "3295", + "name": "Quarten", + "canton": "Kanton St. Gallen", + "domain": "quarten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "quarten.ch" + ], + "redirect": [], + "wikidata": [ + "quarten.ch" + ], + "guess": [ + "quarten.ch" + ] + }, + "flags": [] + }, + "3296": { + "bfs": "3296", + "name": "Sargans", + "canton": "Kanton St. Gallen", + "domain": "sargans.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sargans.ch" + ], + "redirect": [], + "wikidata": [ + "sargans.ch" + ], + "guess": [ + "sargans.ch" + ] + }, + "flags": [] + }, + "3297": { + "bfs": "3297", + "name": "Vilters-Wangs", + "canton": "Kanton St. Gallen", + "domain": "vilters-wangs.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vilters-wangs.ch" + ], + "redirect": [], + "wikidata": [ + "vilters-wangs.ch" + ], + "guess": [ + "vilters-wangs.ch", + "vilterswangs.ch" + ] + }, + "flags": [] + }, + "3298": { + "bfs": "3298", + "name": "Walenstadt", + "canton": "Kanton St. Gallen", + "domain": "walenstadt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "walenstadt.ch" + ], + "redirect": [], + "wikidata": [ + "walenstadt.ch" + ], + "guess": [ + "walenstadt.ch" + ] + }, + "flags": [] + }, + "3311": { + "bfs": "3311", + "name": "Amden", + "canton": "Kanton St. Gallen", + "domain": "amden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "amden.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "amden.ch" + ] + }, + "flags": [] + }, + "3312": { + "bfs": "3312", + "name": "Benken (SG)", + "canton": "Kanton St. Gallen", + "domain": "benken.sg.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "benken.sg.ch" + ], + "redirect": [], + "wikidata": [ + "benken.ch" + ], + "guess": [ + "benken.ch", + "benken.sg.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3313": { + "bfs": "3313", + "name": "Kaltbrunn", + "canton": "Kanton St. Gallen", + "domain": "kaltbrunn.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "kaltbrunn.ch" + ], + "guess": [ + "kaltbrunn.ch" + ] + }, + "flags": [] + }, + "3315": { + "bfs": "3315", + "name": "Schänis", + "canton": "Kanton St. Gallen", + "domain": "schaenis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schaenis.ch" + ], + "redirect": [], + "wikidata": [ + "schaenis.ch" + ], + "guess": [ + "schaenis.ch" + ] + }, + "flags": [] + }, + "3316": { + "bfs": "3316", + "name": "Weesen", + "canton": "Kanton St. Gallen", + "domain": "weesen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "weesen.ch" + ], + "redirect": [], + "wikidata": [ + "weesen.ch" + ], + "guess": [ + "weesen.ch" + ] + }, + "flags": [] + }, + "3338": { + "bfs": "3338", + "name": "Schmerikon", + "canton": "Kanton St. Gallen", + "domain": "schmerikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schmerikon.ch" + ], + "redirect": [], + "wikidata": [ + "schmerikon.ch" + ], + "guess": [ + "schmerikon.ch" + ] + }, + "flags": [] + }, + "3339": { + "bfs": "3339", + "name": "Uznach", + "canton": "Kanton St. Gallen", + "domain": "uznach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uznach.ch" + ], + "redirect": [], + "wikidata": [ + "uznach.ch" + ], + "guess": [ + "uznach.ch" + ] + }, + "flags": [] + }, + "3340": { + "bfs": "3340", + "name": "Rapperswil-Jona", + "canton": "Kanton St. Gallen", + "domain": "rapperswil-jona.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rapperswil-jona.ch" + ], + "guess": [ + "rapperswil-jona.ch", + "stadt-rapperswil-jona.ch" + ] + }, + "flags": [] + }, + "3341": { + "bfs": "3341", + "name": "Gommiswald", + "canton": "Kanton St. Gallen", + "domain": "gommiswald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gommiswald.ch" + ], + "redirect": [], + "wikidata": [ + "gommiswald.ch" + ], + "guess": [ + "gommiswald.ch", + "gommiswald.sg.ch" + ] + }, + "flags": [] + }, + "3342": { + "bfs": "3342", + "name": "Eschenbach (SG)", + "canton": "Kanton St. Gallen", + "domain": "eschenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eschenbach.ch" + ], + "redirect": [], + "wikidata": [ + "eschenbach.ch" + ], + "guess": [ + "eschenbach.ch" + ] + }, + "flags": [] + }, + "3352": { + "bfs": "3352", + "name": "Ebnat-Kappel", + "canton": "Kanton St. Gallen", + "domain": "ebnat-kappel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ebnat-kappel.ch" + ], + "redirect": [], + "wikidata": [ + "ebnat-kappel.ch" + ], + "guess": [ + "ebnat-kappel.ch", + "ebnatkappel.ch" + ] + }, + "flags": [] + }, + "3359": { + "bfs": "3359", + "name": "Wildhaus-Alt St. Johann", + "canton": "Kanton St. Gallen", + "domain": "wildhaus-altstjohann.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wildhaus-altstjohann.ch" + ], + "redirect": [], + "wikidata": [ + "wildhaus-altstjohann.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3360": { + "bfs": "3360", + "name": "Nesslau", + "canton": "Kanton St. Gallen", + "domain": "nesslau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nesslau.ch" + ], + "redirect": [], + "wikidata": [ + "nesslau.ch" + ], + "guess": [ + "nesslau.ch" + ] + }, + "flags": [] + }, + "3374": { + "bfs": "3374", + "name": "Lichtensteig", + "canton": "Kanton St. Gallen", + "domain": "lichtensteig.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lichtensteig.ch" + ], + "redirect": [], + "wikidata": [ + "lichtensteig.ch" + ], + "guess": [ + "lichtensteig.ch", + "lichtensteig.sg.ch" + ] + }, + "flags": [] + }, + "3379": { + "bfs": "3379", + "name": "Wattwil", + "canton": "Kanton St. Gallen", + "domain": "wattwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wattwil.ch" + ], + "redirect": [], + "wikidata": [ + "wattwil.ch" + ], + "guess": [ + "wattwil.ch" + ] + }, + "flags": [] + }, + "3392": { + "bfs": "3392", + "name": "Kirchberg (SG)", + "canton": "Kanton St. Gallen", + "domain": "kirchberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kirchberg.ch" + ], + "redirect": [], + "wikidata": [ + "kirchberg.ch" + ], + "guess": [ + "kirchberg.ch" + ] + }, + "flags": [] + }, + "3393": { + "bfs": "3393", + "name": "Lütisburg", + "canton": "Kanton St. Gallen", + "domain": "luetisburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luetisburg.ch" + ], + "redirect": [], + "wikidata": [ + "luetisburg.ch" + ], + "guess": [ + "luetisburg.ch" + ] + }, + "flags": [] + }, + "3394": { + "bfs": "3394", + "name": "Mosnang", + "canton": "Kanton St. Gallen", + "domain": "mosnang.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mosnang.ch" + ], + "redirect": [], + "wikidata": [ + "mosnang.ch" + ], + "guess": [ + "mosnang.ch" + ] + }, + "flags": [] + }, + "3395": { + "bfs": "3395", + "name": "Bütschwil-Ganterschwil", + "canton": "Kanton St. Gallen", + "domain": "buetschwil-ganterschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buetschwil-ganterschwil.ch" + ], + "redirect": [], + "wikidata": [ + "buetschwil-ganterschwil.ch" + ], + "guess": [ + "buetschwil-ganterschwil.ch" + ] + }, + "flags": [] + }, + "3396": { + "bfs": "3396", + "name": "Neckertal", + "canton": "Kanton St. Gallen", + "domain": "neckertal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neckertal.ch" + ], + "redirect": [], + "wikidata": [ + "neckertal.ch" + ], + "guess": [ + "neckertal.ch" + ] + }, + "flags": [] + }, + "3401": { + "bfs": "3401", + "name": "Degersheim", + "canton": "Kanton St. Gallen", + "domain": "degersheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "degersheim.ch" + ], + "redirect": [], + "wikidata": [ + "degersheim.ch" + ], + "guess": [ + "degersheim.ch" + ] + }, + "flags": [] + }, + "3402": { + "bfs": "3402", + "name": "Flawil", + "canton": "Kanton St. Gallen", + "domain": "flawil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flawil.ch" + ], + "redirect": [], + "wikidata": [ + "flawil.ch" + ], + "guess": [ + "flawil.ch" + ] + }, + "flags": [] + }, + "3405": { + "bfs": "3405", + "name": "Jonschwil", + "canton": "Kanton St. Gallen", + "domain": "jonschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jonschwil.ch" + ], + "redirect": [], + "wikidata": [ + "jonschwil.ch" + ], + "guess": [ + "jonschwil.ch" + ] + }, + "flags": [] + }, + "3407": { + "bfs": "3407", + "name": "Oberuzwil", + "canton": "Kanton St. Gallen", + "domain": "oberuzwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberuzwil.ch" + ], + "redirect": [], + "wikidata": [ + "oberuzwil.ch" + ], + "guess": [ + "oberuzwil.ch" + ] + }, + "flags": [] + }, + "3408": { + "bfs": "3408", + "name": "Uzwil", + "canton": "Kanton St. Gallen", + "domain": "uzwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uzwil.ch" + ], + "redirect": [], + "wikidata": [ + "uzwil.ch" + ], + "guess": [ + "uzwil.ch" + ] + }, + "flags": [] + }, + "3422": { + "bfs": "3422", + "name": "Niederbüren", + "canton": "Kanton St. Gallen", + "domain": "niederbueren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederbueren.ch" + ], + "redirect": [], + "wikidata": [ + "niederbueren.ch" + ], + "guess": [ + "niederbueren.ch" + ] + }, + "flags": [] + }, + "3423": { + "bfs": "3423", + "name": "Niederhelfenschwil", + "canton": "Kanton St. Gallen", + "domain": "niederhelfenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hellmueller.ch", + "kobesenmuehle.ch", + "niederhelfenschwil.ch", + "nsnz.clubdesk.com", + "sproochbrugg.ch", + "thurweb.ch" + ], + "redirect": [], + "wikidata": [ + "niederhelfenschwil.ch" + ], + "guess": [ + "niederhelfenschwil.ch" + ] + }, + "flags": [] + }, + "3424": { + "bfs": "3424", + "name": "Oberbüren", + "canton": "Kanton St. Gallen", + "domain": "oberbueren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberbueren.ch" + ], + "redirect": [], + "wikidata": [ + "oberbueren.ch" + ], + "guess": [ + "oberbueren.ch" + ] + }, + "flags": [] + }, + "3426": { + "bfs": "3426", + "name": "Zuzwil (SG)", + "canton": "Kanton St. Gallen", + "domain": "zuzwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zuzwil.ch" + ], + "redirect": [], + "wikidata": [ + "zuzwil.ch" + ], + "guess": [ + "zuzwil.ch" + ] + }, + "flags": [] + }, + "3427": { + "bfs": "3427", + "name": "Wil (SG)", + "canton": "Kanton St. Gallen", + "domain": "stadtwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stadtwil.ch" + ], + "redirect": [], + "wikidata": [ + "stadtwil.ch" + ], + "guess": [ + "stadt-wil.ch", + "wil.ch" + ] + }, + "flags": [] + }, + "3441": { + "bfs": "3441", + "name": "Andwil (SG)", + "canton": "Kanton St. Gallen", + "domain": "andwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "andwil.ch" + ], + "redirect": [], + "wikidata": [ + "andwil.ch" + ], + "guess": [ + "andwil.ch" + ] + }, + "flags": [] + }, + "3442": { + "bfs": "3442", + "name": "Gaiserwald", + "canton": "Kanton St. Gallen", + "domain": "gaiserwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gaiserwald.ch" + ], + "redirect": [], + "wikidata": [ + "gaiserwald.ch" + ], + "guess": [ + "gaiserwald.ch" + ] + }, + "flags": [] + }, + "3443": { + "bfs": "3443", + "name": "Gossau (SG)", + "canton": "Kanton St. Gallen", + "domain": "stadtgossau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stadtgossau.ch" + ], + "redirect": [], + "wikidata": [ + "stadtgossau.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3444": { + "bfs": "3444", + "name": "Waldkirch", + "canton": "Kanton St. Gallen", + "domain": "waldkirch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "waldkirch.ch" + ], + "redirect": [], + "wikidata": [ + "waldkirch.ch" + ], + "guess": [ + "waldkirch.ch" + ] + }, + "flags": [] + }, + "3506": { + "bfs": "3506", + "name": "Vaz/Obervaz", + "canton": "Kanton Graubünden", + "domain": "vazobervaz.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "vazobervaz.ch" + ] + }, + "flags": [] + }, + "3513": { + "bfs": "3513", + "name": "Lantsch/Lenz", + "canton": "Kanton Graubünden", + "domain": "lantsch-lenz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lantsch-lenz.ch" + ], + "guess": [ + "lantsch-lenz.ch", + "lenz.ch" + ] + }, + "flags": [] + }, + "3514": { + "bfs": "3514", + "name": "Schmitten (GR)", + "canton": "Kanton Graubünden", + "domain": "schmitten-gr.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "schmitten-gr.ch" + ], + "guess": [ + "schmitten.ch" + ] + }, + "flags": [] + }, + "3542": { + "bfs": "3542", + "name": "Albula/Alvra", + "canton": "Kanton Graubünden", + "domain": "albula-alvra.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "albula-alvra.ch" + ], + "redirect": [], + "wikidata": [ + "albula-alvra.ch" + ], + "guess": [ + "albula-alvra.ch", + "albula.gr.ch" + ] + }, + "flags": [] + }, + "3543": { + "bfs": "3543", + "name": "Surses", + "canton": "Kanton Graubünden", + "domain": "surses.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "afm.gr.ch", + "surses.ch" + ], + "redirect": [], + "wikidata": [ + "surses.ch" + ], + "guess": [ + "surses.ch" + ] + }, + "flags": [] + }, + "3544": { + "bfs": "3544", + "name": "Bergün Filisur", + "canton": "Kanton Graubünden", + "domain": "berguenfilisur.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "berguenfilisur.ch" + ], + "redirect": [], + "wikidata": [ + "berguenfilisur.ch" + ], + "guess": [ + "berguen-filisur.ch", + "berguenfilisur.ch" + ] + }, + "flags": [] + }, + "3551": { + "bfs": "3551", + "name": "Brusio", + "canton": "Kanton Graubünden", + "domain": "brusio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brusio.ch" + ], + "redirect": [], + "wikidata": [ + "brusio.ch" + ], + "guess": [ + "brusio.ch" + ] + }, + "flags": [] + }, + "3561": { + "bfs": "3561", + "name": "Poschiavo", + "canton": "Kanton Graubünden", + "domain": "poschiavo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "poschiavo.ch" + ], + "redirect": [], + "wikidata": [ + "poschiavo.ch" + ], + "guess": [ + "poschiavo.ch", + "poschiavo.gr.ch" + ] + }, + "flags": [] + }, + "3572": { + "bfs": "3572", + "name": "Falera", + "canton": "Kanton Graubünden", + "domain": "falera.net", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "falera.net" + ], + "redirect": [], + "wikidata": [ + "falera.net" + ], + "guess": [] + }, + "flags": [] + }, + "3575": { + "bfs": "3575", + "name": "Laax", + "canton": "Kanton Graubünden", + "domain": "laax-gr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laax-gr.ch" + ], + "redirect": [], + "wikidata": [ + "laax-gr.ch" + ], + "guess": [ + "laax.ch" + ] + }, + "flags": [] + }, + "3581": { + "bfs": "3581", + "name": "Sagogn", + "canton": "Kanton Graubünden", + "domain": "sagogn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sagogn.ch" + ], + "redirect": [], + "wikidata": [ + "sagogn.ch" + ], + "guess": [ + "sagogn.ch" + ] + }, + "flags": [] + }, + "3582": { + "bfs": "3582", + "name": "Schluein", + "canton": "Kanton Graubünden", + "domain": "schluein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schluein.ch" + ], + "redirect": [], + "wikidata": [ + "schluein.ch" + ], + "guess": [ + "schluein.ch" + ] + }, + "flags": [] + }, + "3603": { + "bfs": "3603", + "name": "Vals", + "canton": "Kanton Graubünden", + "domain": "vals.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vals.ch" + ], + "redirect": [], + "wikidata": [ + "vals.ch" + ], + "guess": [ + "gemeinde-vals.ch", + "vals.ch" + ] + }, + "flags": [] + }, + "3618": { + "bfs": "3618", + "name": "Lumnezia", + "canton": "Kanton Graubünden", + "domain": "lumnezia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lumnezia.ch" + ], + "redirect": [], + "wikidata": [ + "lumnezia.ch" + ], + "guess": [ + "lumnezia.ch" + ] + }, + "flags": [] + }, + "3619": { + "bfs": "3619", + "name": "Ilanz/Glion", + "canton": "Kanton Graubünden", + "domain": "ilanz-glion.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ilanz-glion.ch" + ], + "redirect": [], + "wikidata": [ + "ilanz-glion.ch" + ], + "guess": [ + "glion.ch", + "ilanz-glion.ch", + "ilanz.ch" + ] + }, + "flags": [] + }, + "3633": { + "bfs": "3633", + "name": "Fürstenau", + "canton": "Kanton Graubünden", + "domain": "fuerstenau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fuerstenau.ch" + ], + "redirect": [], + "wikidata": [ + "fuerstenau.ch" + ], + "guess": [ + "fuerstenau.ch" + ] + }, + "flags": [] + }, + "3637": { + "bfs": "3637", + "name": "Rothenbrunnen", + "canton": "Kanton Graubünden", + "domain": "rothenbrunnen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rothenbrunnen.ch" + ], + "redirect": [], + "wikidata": [ + "rothenbrunnen.ch" + ], + "guess": [ + "rothenbrunnen.ch" + ] + }, + "flags": [] + }, + "3638": { + "bfs": "3638", + "name": "Scharans", + "canton": "Kanton Graubünden", + "domain": "scharans.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "scharans.ch" + ], + "redirect": [], + "wikidata": [ + "scharans.ch" + ], + "guess": [ + "scharans.ch" + ] + }, + "flags": [] + }, + "3640": { + "bfs": "3640", + "name": "Sils im Domleschg", + "canton": "Kanton Graubünden", + "domain": "sils-id.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sils-id.ch" + ], + "redirect": [], + "wikidata": [ + "sils-id.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3661": { + "bfs": "3661", + "name": "Cazis", + "canton": "Kanton Graubünden", + "domain": "cazis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cazis.ch" + ], + "redirect": [], + "wikidata": [ + "cazis.ch" + ], + "guess": [ + "cazis.ch" + ] + }, + "flags": [] + }, + "3662": { + "bfs": "3662", + "name": "Flerden", + "canton": "Kanton Graubünden", + "domain": "flerden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flerden.ch" + ], + "redirect": [], + "wikidata": [ + "flerden.ch" + ], + "guess": [ + "flerden.ch" + ] + }, + "flags": [] + }, + "3663": { + "bfs": "3663", + "name": "Masein", + "canton": "Kanton Graubünden", + "domain": "masein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "masein.ch" + ], + "redirect": [], + "wikidata": [ + "masein.ch" + ], + "guess": [ + "masein.ch" + ] + }, + "flags": [] + }, + "3668": { + "bfs": "3668", + "name": "Thusis", + "canton": "Kanton Graubünden", + "domain": "thusis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thusis.ch" + ], + "redirect": [], + "wikidata": [ + "thusis.ch" + ], + "guess": [ + "thusis.ch" + ] + }, + "flags": [] + }, + "3669": { + "bfs": "3669", + "name": "Tschappina", + "canton": "Kanton Graubünden", + "domain": "tschappina.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "tschappina.ch" + ] + }, + "flags": [] + }, + "3670": { + "bfs": "3670", + "name": "Urmein", + "canton": "Kanton Graubünden", + "domain": "urmein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "urmein.ch" + ], + "redirect": [], + "wikidata": [ + "urmein.ch" + ], + "guess": [ + "urmein.ch" + ] + }, + "flags": [] + }, + "3672": { + "bfs": "3672", + "name": "Safiental", + "canton": "Kanton Graubünden", + "domain": "safiental.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "safiental.ch" + ] + }, + "flags": [] + }, + "3673": { + "bfs": "3673", + "name": "Domleschg", + "canton": "Kanton Graubünden", + "domain": "domleschg.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "domleschg.ch" + ], + "redirect": [ + "domleschg.ch" + ], + "wikidata": [ + "tomils.ch" + ], + "guess": [ + "domleschg.ch", + "gemeinde-domleschg.ch" + ] + }, + "flags": [ + "sources_disagree", + "website_mismatch" + ] + }, + "3681": { + "bfs": "3681", + "name": "Avers", + "canton": "Kanton Graubünden", + "domain": "avers.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "avers.ch" + ], + "redirect": [], + "wikidata": [ + "gemeindeavers.ch" + ], + "guess": [ + "avers.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3695": { + "bfs": "3695", + "name": "Sufers", + "canton": "Kanton Graubünden", + "domain": "sufers.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sufers.ch" + ], + "guess": [ + "sufers.ch" + ] + }, + "flags": [] + }, + "3701": { + "bfs": "3701", + "name": "Andeer", + "canton": "Kanton Graubünden", + "domain": "andeer.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "andeer.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "andeer.ch" + ] + }, + "flags": [] + }, + "3711": { + "bfs": "3711", + "name": "Rongellen", + "canton": "Kanton Graubünden", + "domain": "rongellen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rongellen.ch" + ], + "redirect": [], + "wikidata": [ + "rongellen.ch" + ], + "guess": [ + "rongellen.ch" + ] + }, + "flags": [] + }, + "3712": { + "bfs": "3712", + "name": "Zillis-Reischen", + "canton": "Kanton Graubünden", + "domain": "zillis-reischen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zillis-reischen.ch" + ], + "redirect": [], + "wikidata": [ + "zillis-reischen.ch" + ], + "guess": [ + "zillis-reischen.ch" + ] + }, + "flags": [] + }, + "3713": { + "bfs": "3713", + "name": "Ferrera", + "canton": "Kanton Graubünden", + "domain": "ferrera.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ferrera.ch" + ], + "redirect": [], + "wikidata": [ + "ferrera.ch" + ], + "guess": [ + "ferrera.ch" + ] + }, + "flags": [] + }, + "3714": { + "bfs": "3714", + "name": "Rheinwald", + "canton": "Kanton Graubünden", + "domain": "rheinwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rheinwald.ch" + ], + "redirect": [], + "wikidata": [ + "rheinwald.ch" + ], + "guess": [ + "rheinwald.ch" + ] + }, + "flags": [] + }, + "3715": { + "bfs": "3715", + "name": "Muntogna da Schons", + "canton": "Kanton Graubünden", + "domain": "mdschons.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mdschons.ch" + ], + "redirect": [], + "wikidata": [ + "mdschons.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3721": { + "bfs": "3721", + "name": "Bonaduz", + "canton": "", + "domain": "bonaduz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bonaduz.ch" + ], + "redirect": [], + "wikidata": [ + "bonaduz.ch" + ], + "guess": [ + "bonaduz.ch" + ] + }, + "flags": [] + }, + "3722": { + "bfs": "3722", + "name": "Domat/Ems", + "canton": "", + "domain": "domat-ems.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "domat-ems.ch", + "gbde.ch" + ], + "redirect": [], + "wikidata": [ + "domat-ems.ch" + ], + "guess": [ + "domat-ems.ch", + "ems.ch" + ] + }, + "flags": [] + }, + "3723": { + "bfs": "3723", + "name": "Rhäzüns", + "canton": "", + "domain": "rhaezuens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rhaezuens.ch" + ], + "redirect": [], + "wikidata": [ + "rhaezuens.ch" + ], + "guess": [ + "rhaezuens.ch" + ] + }, + "flags": [] + }, + "3731": { + "bfs": "3731", + "name": "Felsberg", + "canton": "", + "domain": "felsberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "felsberg.ch" + ], + "redirect": [], + "wikidata": [ + "felsberg.ch" + ], + "guess": [ + "felsberg.ch" + ] + }, + "flags": [] + }, + "3732": { + "bfs": "3732", + "name": "Flims", + "canton": "", + "domain": "gemeindeflims.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeindeflims.ch" + ], + "redirect": [], + "wikidata": [ + "gemeindeflims.ch" + ], + "guess": [ + "flims.ch" + ] + }, + "flags": [] + }, + "3733": { + "bfs": "3733", + "name": "Tamins", + "canton": "", + "domain": "tamins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tamins.ch" + ], + "redirect": [], + "wikidata": [ + "tamins.ch" + ], + "guess": [ + "tamins.ch" + ] + }, + "flags": [] + }, + "3734": { + "bfs": "3734", + "name": "Trin", + "canton": "", + "domain": "gemeindetrin.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeindetrin.ch" + ] + }, + "flags": [] + }, + "3746": { + "bfs": "3746", + "name": "Zernez", + "canton": "Kanton Graubünden", + "domain": "zernez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "engadin.com", + "estm.ch", + "zernez.ch" + ], + "redirect": [], + "wikidata": [ + "zernez.ch" + ], + "guess": [ + "zernez.ch" + ] + }, + "flags": [] + }, + "3752": { + "bfs": "3752", + "name": "Samnaun", + "canton": "Kanton Graubünden", + "domain": "samnaun.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "samnaun.swiss" + ], + "redirect": [], + "wikidata": [ + "samnaun.swiss" + ], + "guess": [ + "samnaun.ch" + ] + }, + "flags": [] + }, + "3762": { + "bfs": "3762", + "name": "Scuol", + "canton": "Kanton Graubünden", + "domain": "scuol.net", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "scuol.net" + ], + "redirect": [], + "wikidata": [ + "scuol.net" + ], + "guess": [ + "gemeinde-scuol.ch", + "scuol.ch" + ] + }, + "flags": [] + }, + "3764": { + "bfs": "3764", + "name": "Valsot", + "canton": "Kanton Graubünden", + "domain": "valsot.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "valsot.ch" + ], + "redirect": [], + "wikidata": [ + "valsot.ch" + ], + "guess": [ + "valsot.ch" + ] + }, + "flags": [] + }, + "3781": { + "bfs": "3781", + "name": "Bever", + "canton": "Kanton Graubünden", + "domain": "gemeinde-bever.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "engadin.ch", + "estm.ch", + "gemeinde-bever.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-bever.ch" + ], + "guess": [ + "bever.ch", + "gemeinde-bever.ch" + ] + }, + "flags": [] + }, + "3782": { + "bfs": "3782", + "name": "Celerina/Schlarigna", + "canton": "Kanton Graubünden", + "domain": "celerina.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "celerina.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-celerina.ch" + ], + "guess": [ + "celerina.ch", + "gemeinde-celerina.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3783": { + "bfs": "3783", + "name": "Madulain", + "canton": "Kanton Graubünden", + "domain": "madulain.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "madulain.ch" + ], + "redirect": [], + "wikidata": [ + "madulain.ch" + ], + "guess": [ + "madulain.ch" + ] + }, + "flags": [] + }, + "3784": { + "bfs": "3784", + "name": "Pontresina", + "canton": "Kanton Graubünden", + "domain": "pontresina.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "pontresina.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-pontresina.ch" + ], + "guess": [ + "gemeinde-pontresina.ch", + "pontresina.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3785": { + "bfs": "3785", + "name": "La Punt Chamues-ch", + "canton": "Kanton Graubünden", + "domain": "lapunt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lapunt.ch" + ], + "redirect": [], + "wikidata": [ + "lapunt.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3786": { + "bfs": "3786", + "name": "Samedan", + "canton": "Kanton Graubünden", + "domain": "samedan.gr.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "alpinwald.ch", + "energia-samedan.ch", + "feuerwehr-samedan-pontresina.ch", + "regio-maloja.ch", + "samedan.gr.ch", + "schule-samedan.ch" + ], + "redirect": [], + "wikidata": [ + "samedan.ch" + ], + "guess": [ + "samedan.ch", + "samedan.gr.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3787": { + "bfs": "3787", + "name": "St. Moritz", + "canton": "Kanton Graubünden", + "domain": "stmoritz.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "stmoritz.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-stmoritz.ch" + ], + "guess": [ + "st-moritz.ch", + "stmoritz.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3788": { + "bfs": "3788", + "name": "S-chanf", + "canton": "Kanton Graubünden", + "domain": "s-chanf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "s-chanf.ch" + ], + "redirect": [], + "wikidata": [ + "s-chanf.ch" + ], + "guess": [ + "s-chanf.ch" + ] + }, + "flags": [] + }, + "3789": { + "bfs": "3789", + "name": "Sils im Engadin/Segl", + "canton": "Kanton Graubünden", + "domain": "sils-segl.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sils-segl.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3790": { + "bfs": "3790", + "name": "Silvaplana", + "canton": "Kanton Graubünden", + "domain": "silvaplana.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "regio-maloja.ch", + "silvaplana.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-silvaplana.ch" + ], + "guess": [ + "gemeinde-silvaplana.ch", + "silvaplana.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "3791": { + "bfs": "3791", + "name": "Zuoz", + "canton": "Kanton Graubünden", + "domain": "zuoz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zuoz.ch" + ], + "redirect": [], + "wikidata": [ + "zuoz.ch" + ], + "guess": [ + "gemeinde-zuoz.ch", + "zuoz.ch" + ] + }, + "flags": [] + }, + "3792": { + "bfs": "3792", + "name": "Bregaglia", + "canton": "Kanton Graubünden", + "domain": "bregaglia.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bregaglia.ch" + ] + }, + "flags": [] + }, + "3804": { + "bfs": "3804", + "name": "Buseno", + "canton": "Kanton Graubünden", + "domain": "buseno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buseno.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "buseno.ch" + ], + "guess": [ + "buseno.ch" + ] + }, + "flags": [] + }, + "3805": { + "bfs": "3805", + "name": "Castaneda", + "canton": "Kanton Graubünden", + "domain": "castaneda.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "castaneda.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "castaneda.ch" + ], + "guess": [ + "castaneda.ch" + ] + }, + "flags": [] + }, + "3808": { + "bfs": "3808", + "name": "Rossa", + "canton": "Kanton Graubünden", + "domain": "rossa.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rossa.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "rossa.ch" + ], + "guess": [ + "rossa.ch" + ] + }, + "flags": [] + }, + "3810": { + "bfs": "3810", + "name": "Santa Maria in Calanca", + "canton": "Kanton Graubünden", + "domain": "santamariaic.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "santamariaic.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "santamariaic.ch" + ], + "guess": [ + "santamariaincalanca.ch" + ] + }, + "flags": [] + }, + "3821": { + "bfs": "3821", + "name": "Lostallo", + "canton": "Kanton Graubünden", + "domain": "lostallo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lostallo.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "lostallo.ch" + ], + "guess": [ + "lostallo.ch" + ] + }, + "flags": [] + }, + "3822": { + "bfs": "3822", + "name": "Mesocco", + "canton": "Kanton Graubünden", + "domain": "mesocco.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mesocco.swiss", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "mesocco.swiss" + ], + "guess": [ + "mesocco.ch" + ] + }, + "flags": [] + }, + "3823": { + "bfs": "3823", + "name": "Soazza", + "canton": "Kanton Graubünden", + "domain": "soazza.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "soazza.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "soazza.ch" + ], + "guess": [ + "soazza.ch" + ] + }, + "flags": [] + }, + "3831": { + "bfs": "3831", + "name": "Cama", + "canton": "Kanton Graubünden", + "domain": "cama.swiss", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "cama.swiss" + ] + }, + "flags": [] + }, + "3832": { + "bfs": "3832", + "name": "Grono", + "canton": "Kanton Graubünden", + "domain": "grono.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grono.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "grono.ch" + ], + "guess": [ + "grono.ch" + ] + }, + "flags": [] + }, + "3834": { + "bfs": "3834", + "name": "Roveredo (GR)", + "canton": "Kanton Graubünden", + "domain": "roveredo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roveredo.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "roveredo.ch" + ], + "guess": [ + "roveredo.ch" + ] + }, + "flags": [] + }, + "3835": { + "bfs": "3835", + "name": "San Vittore", + "canton": "Kanton Graubünden", + "domain": "sanvittore.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sanvittore.ch", + "visit-moesano.ch" + ], + "redirect": [], + "wikidata": [ + "sanvittore.ch" + ], + "guess": [ + "sanvittore.ch" + ] + }, + "flags": [] + }, + "3837": { + "bfs": "3837", + "name": "Calanca", + "canton": "Kanton Graubünden", + "domain": "comunedicalanca.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "comunedicalanca.ch" + ], + "guess": [ + "calanca.ch" + ] + }, + "flags": [] + }, + "3847": { + "bfs": "3847", + "name": "Val Müstair", + "canton": "Kanton Graubünden", + "domain": "cdvm.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "cdvm.ch" + ] + }, + "flags": [] + }, + "3851": { + "bfs": "3851", + "name": "Davos", + "canton": "", + "domain": "davos.gr.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "davos.gr.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "davos.ch" + ] + }, + "flags": [] + }, + "3861": { + "bfs": "3861", + "name": "Fideris", + "canton": "", + "domain": "fideris.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fideris.ch" + ], + "redirect": [], + "wikidata": [ + "fideris.ch" + ], + "guess": [ + "fideris.ch" + ] + }, + "flags": [] + }, + "3862": { + "bfs": "3862", + "name": "Furna", + "canton": "", + "domain": "furna.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "furna.ch" + ], + "redirect": [], + "wikidata": [ + "furna.ch" + ], + "guess": [ + "furna.ch" + ] + }, + "flags": [] + }, + "3863": { + "bfs": "3863", + "name": "Jenaz", + "canton": "", + "domain": "jenaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jenaz.ch" + ], + "redirect": [], + "wikidata": [ + "jenaz.ch" + ], + "guess": [ + "jenaz.ch" + ] + }, + "flags": [] + }, + "3871": { + "bfs": "3871", + "name": "Klosters", + "canton": "", + "domain": "gemeindeklosters.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeindeklosters.ch" + ], + "redirect": [], + "wikidata": [ + "gemeindeklosters.ch" + ], + "guess": [ + "klosters.ch" + ] + }, + "flags": [] + }, + "3881": { + "bfs": "3881", + "name": "Conters im Prättigau", + "canton": "", + "domain": "conters.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "conters.ch" + ], + "redirect": [], + "wikidata": [ + "conters.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3882": { + "bfs": "3882", + "name": "Küblis", + "canton": "", + "domain": "kueblis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kueblis.ch" + ], + "redirect": [], + "wikidata": [ + "kueblis.ch" + ], + "guess": [ + "kueblis.ch" + ] + }, + "flags": [] + }, + "3891": { + "bfs": "3891", + "name": "Luzein", + "canton": "", + "domain": "luzein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luzein.ch", + "pany-stantoenien.ch" + ], + "redirect": [], + "wikidata": [ + "luzein.ch" + ], + "guess": [ + "luzein.ch" + ] + }, + "flags": [] + }, + "3901": { + "bfs": "3901", + "name": "Chur", + "canton": "Kanton Graubünden", + "domain": "chur.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chur.ch" + ], + "guess": [ + "chur.ch" + ] + }, + "flags": [] + }, + "3911": { + "bfs": "3911", + "name": "Churwalden", + "canton": "Kanton Graubünden", + "domain": "churwalden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "churwalden.ch" + ], + "redirect": [], + "wikidata": [ + "churwalden.ch" + ], + "guess": [ + "churwalden.ch" + ] + }, + "flags": [] + }, + "3921": { + "bfs": "3921", + "name": "Arosa", + "canton": "Kanton Graubünden", + "domain": "gemeindearosa.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeindearosa.ch" + ], + "redirect": [], + "wikidata": [ + "gemeindearosa.ch" + ], + "guess": [ + "arosa.ch" + ] + }, + "flags": [] + }, + "3945": { + "bfs": "3945", + "name": "Trimmis", + "canton": "Kanton Graubünden", + "domain": "trimmis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trimmis.ch" + ], + "redirect": [], + "wikidata": [ + "trimmis.ch" + ], + "guess": [ + "trimmis.ch" + ] + }, + "flags": [] + }, + "3946": { + "bfs": "3946", + "name": "Untervaz", + "canton": "Kanton Graubünden", + "domain": "untervaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "untervaz.ch" + ], + "redirect": [], + "wikidata": [ + "untervaz.ch" + ], + "guess": [ + "untervaz.ch" + ] + }, + "flags": [] + }, + "3947": { + "bfs": "3947", + "name": "Zizers", + "canton": "Kanton Graubünden", + "domain": "zizers.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zizers.ch" + ], + "redirect": [], + "wikidata": [ + "zizers.ch" + ], + "guess": [ + "zizers.ch" + ] + }, + "flags": [] + }, + "3951": { + "bfs": "3951", + "name": "Fläsch", + "canton": "Kanton Graubünden", + "domain": "flaesch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "flaesch.ch" + ], + "redirect": [], + "wikidata": [ + "flaesch.ch" + ], + "guess": [ + "flaesch.ch" + ] + }, + "flags": [] + }, + "3952": { + "bfs": "3952", + "name": "Jenins", + "canton": "Kanton Graubünden", + "domain": "jenins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jenins.ch" + ], + "redirect": [], + "wikidata": [ + "jenins.ch" + ], + "guess": [ + "jenins.ch" + ] + }, + "flags": [] + }, + "3953": { + "bfs": "3953", + "name": "Maienfeld", + "canton": "Kanton Graubünden", + "domain": "maienfeld.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maienfeld.ch" + ], + "redirect": [], + "wikidata": [ + "maienfeld.ch" + ], + "guess": [ + "maienfeld.ch" + ] + }, + "flags": [] + }, + "3954": { + "bfs": "3954", + "name": "Malans", + "canton": "Kanton Graubünden", + "domain": "malans.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "malans.ch" + ], + "redirect": [], + "wikidata": [ + "malans.ch" + ], + "guess": [ + "malans.ch" + ] + }, + "flags": [] + }, + "3955": { + "bfs": "3955", + "name": "Landquart", + "canton": "Kanton Graubünden", + "domain": "landquart.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "landquart.ch" + ], + "redirect": [], + "wikidata": [ + "landquart.ch" + ], + "guess": [ + "landquart.ch" + ] + }, + "flags": [] + }, + "3961": { + "bfs": "3961", + "name": "Grüsch", + "canton": "", + "domain": "gruesch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gruesch.ch" + ], + "redirect": [], + "wikidata": [ + "gruesch.ch" + ], + "guess": [ + "gruesch.ch" + ] + }, + "flags": [] + }, + "3962": { + "bfs": "3962", + "name": "Schiers", + "canton": "", + "domain": "schiers.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schiers.ch" + ], + "redirect": [], + "wikidata": [ + "schiers.ch" + ], + "guess": [ + "schiers.ch" + ] + }, + "flags": [] + }, + "3972": { + "bfs": "3972", + "name": "Seewis im Prättigau", + "canton": "", + "domain": "seewis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seewis.ch" + ], + "redirect": [], + "wikidata": [ + "seewis.ch" + ], + "guess": [] + }, + "flags": [] + }, + "3981": { + "bfs": "3981", + "name": "Breil/Brigels", + "canton": "Kanton Graubünden", + "domain": "breil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "breil.ch" + ], + "guess": [ + "breil.ch", + "brigels.ch" + ] + }, + "flags": [] + }, + "3982": { + "bfs": "3982", + "name": "Disentis/Mustér", + "canton": "Kanton Graubünden", + "domain": "disentis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "disentis.ch" + ], + "redirect": [], + "wikidata": [ + "disentis.ch" + ], + "guess": [ + "disentis-muster.ch", + "disentis.ch", + "must-r.ch", + "muster.ch" + ] + }, + "flags": [] + }, + "3983": { + "bfs": "3983", + "name": "Medel (Lucmagn)", + "canton": "Kanton Graubünden", + "domain": "medel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "medel.ch" + ], + "redirect": [], + "wikidata": [ + "medel.ch" + ], + "guess": [ + "medel.ch" + ] + }, + "flags": [] + }, + "3985": { + "bfs": "3985", + "name": "Sumvitg", + "canton": "Kanton Graubünden", + "domain": "sumvitg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sumvitg.ch" + ], + "redirect": [], + "wikidata": [ + "sumvitg.ch" + ], + "guess": [ + "sumvitg.ch" + ] + }, + "flags": [] + }, + "3986": { + "bfs": "3986", + "name": "Tujetsch", + "canton": "Kanton Graubünden", + "domain": "tujetsch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tujetsch.ch" + ], + "redirect": [], + "wikidata": [ + "tujetsch.ch" + ], + "guess": [ + "tujetsch.ch" + ] + }, + "flags": [] + }, + "3987": { + "bfs": "3987", + "name": "Trun", + "canton": "Kanton Graubünden", + "domain": "trun.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trun.ch" + ], + "redirect": [], + "wikidata": [ + "trun.ch" + ], + "guess": [ + "trun.ch" + ] + }, + "flags": [] + }, + "3988": { + "bfs": "3988", + "name": "Obersaxen Mundaun", + "canton": "Kanton Graubünden", + "domain": "obersaxenmundaun.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "obersaxenmundaun.swiss" + ], + "redirect": [], + "wikidata": [ + "obersaxenmundaun.swiss" + ], + "guess": [ + "obersaxen-mundaun.ch", + "obersaxenmundaun.ch" + ] + }, + "flags": [] + }, + "4001": { + "bfs": "4001", + "name": "Aarau", + "canton": "Kanton Aargau", + "domain": "aarau.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "aarau.ch" + ], + "guess": [ + "aarau.ch", + "gemeinde-aarau.ch" + ] + }, + "flags": [] + }, + "4002": { + "bfs": "4002", + "name": "Biberstein", + "canton": "Kanton Aargau", + "domain": "biberstein-ag.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "biberstein-ag.ch" + ], + "guess": [ + "biberstein.ch" + ] + }, + "flags": [] + }, + "4003": { + "bfs": "4003", + "name": "Buchs (AG)", + "canton": "Kanton Aargau", + "domain": "buchs-aargau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchs-aargau.ch" + ], + "redirect": [], + "wikidata": [ + "buchs-aargau.ch" + ], + "guess": [ + "buchs.ch" + ] + }, + "flags": [] + }, + "4004": { + "bfs": "4004", + "name": "Densbüren", + "canton": "Kanton Aargau", + "domain": "densbueren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "densbueren.ch" + ], + "redirect": [], + "wikidata": [ + "densbueren.ch" + ], + "guess": [ + "densbueren.ch" + ] + }, + "flags": [] + }, + "4005": { + "bfs": "4005", + "name": "Erlinsbach (AG)", + "canton": "Kanton Aargau", + "domain": "erlinsbach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "erlinsbach.ch" + ], + "guess": [ + "erlinsbach.ch" + ] + }, + "flags": [] + }, + "4006": { + "bfs": "4006", + "name": "Gränichen", + "canton": "Kanton Aargau", + "domain": "graenichen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "graenichen.ch" + ], + "redirect": [], + "wikidata": [ + "graenichen.ch" + ], + "guess": [ + "graenichen.ch" + ] + }, + "flags": [] + }, + "4007": { + "bfs": "4007", + "name": "Hirschthal", + "canton": "Kanton Aargau", + "domain": "hirschthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hirschthal.ch" + ], + "redirect": [], + "wikidata": [ + "hirschthal.ch" + ], + "guess": [ + "hirschthal.ch" + ] + }, + "flags": [] + }, + "4008": { + "bfs": "4008", + "name": "Küttigen", + "canton": "Kanton Aargau", + "domain": "kuettigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "kuettigen.ch" + ], + "guess": [ + "kuettigen.ch" + ] + }, + "flags": [] + }, + "4009": { + "bfs": "4009", + "name": "Muhen", + "canton": "Kanton Aargau", + "domain": "muhen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muhen.ch" + ], + "guess": [ + "muhen.ch" + ] + }, + "flags": [] + }, + "4010": { + "bfs": "4010", + "name": "Oberentfelden", + "canton": "Kanton Aargau", + "domain": "oberentfelden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberentfelden.ch" + ], + "redirect": [], + "wikidata": [ + "oberentfelden.ch" + ], + "guess": [ + "oberentfelden.ch" + ] + }, + "flags": [] + }, + "4012": { + "bfs": "4012", + "name": "Suhr", + "canton": "Kanton Aargau", + "domain": "suhr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "suhr.ch" + ], + "redirect": [], + "wikidata": [ + "suhr.ch" + ], + "guess": [ + "suhr.ch" + ] + }, + "flags": [] + }, + "4013": { + "bfs": "4013", + "name": "Unterentfelden", + "canton": "Kanton Aargau", + "domain": "unterentfelden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "unterentfelden.ch" + ], + "guess": [ + "unterentfelden.ch" + ] + }, + "flags": [] + }, + "4021": { + "bfs": "4021", + "name": "Baden", + "canton": "Kanton Aargau", + "domain": "baden.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "apothekedrkunz.ch" + ], + "redirect": [], + "wikidata": [ + "baden.ch" + ], + "guess": [ + "baden.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "4022": { + "bfs": "4022", + "name": "Bellikon", + "canton": "Kanton Aargau", + "domain": "bellikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bellikon.ch" + ], + "redirect": [], + "wikidata": [ + "bellikon.ch" + ], + "guess": [ + "bellikon.ch" + ] + }, + "flags": [] + }, + "4023": { + "bfs": "4023", + "name": "Bergdietikon", + "canton": "Kanton Aargau", + "domain": "bergdietikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bergdietikon.ch" + ], + "redirect": [], + "wikidata": [ + "bergdietikon.ch" + ], + "guess": [ + "bergdietikon.ch" + ] + }, + "flags": [] + }, + "4024": { + "bfs": "4024", + "name": "Birmenstorf (AG)", + "canton": "Kanton Aargau", + "domain": "birmenstorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "birmenstorf.ch", + "h.ie", + "n.ua" + ], + "redirect": [], + "wikidata": [ + "birmenstorf.ch" + ], + "guess": [ + "birmenstorf.ch" + ] + }, + "flags": [] + }, + "4026": { + "bfs": "4026", + "name": "Ennetbaden", + "canton": "Kanton Aargau", + "domain": "ennetbaden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ennetbaden.ch" + ], + "redirect": [], + "wikidata": [ + "ennetbaden.ch" + ], + "guess": [ + "ennetbaden.ch" + ] + }, + "flags": [] + }, + "4027": { + "bfs": "4027", + "name": "Fislisbach", + "canton": "Kanton Aargau", + "domain": "fislisbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fislisbach.ch" + ], + "redirect": [], + "wikidata": [ + "fislisbach.ch" + ], + "guess": [ + "fislisbach.ch" + ] + }, + "flags": [] + }, + "4028": { + "bfs": "4028", + "name": "Freienwil", + "canton": "Kanton Aargau", + "domain": "freienwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "freienwil.ch" + ], + "redirect": [], + "wikidata": [ + "freienwil.ch" + ], + "guess": [ + "freienwil.ch" + ] + }, + "flags": [] + }, + "4029": { + "bfs": "4029", + "name": "Gebenstorf", + "canton": "Kanton Aargau", + "domain": "gebenstorf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gebenstorf.ch" + ], + "guess": [ + "gebenstorf.ch" + ] + }, + "flags": [] + }, + "4030": { + "bfs": "4030", + "name": "Killwangen", + "canton": "Kanton Aargau", + "domain": "killwangen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "killwangen.ch" + ], + "redirect": [], + "wikidata": [ + "killwangen.ch" + ], + "guess": [ + "killwangen.ch" + ] + }, + "flags": [] + }, + "4031": { + "bfs": "4031", + "name": "Künten", + "canton": "Kanton Aargau", + "domain": "kuenten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kuenten.ch" + ], + "redirect": [], + "wikidata": [ + "kuenten.ch" + ], + "guess": [ + "kuenten.ch" + ] + }, + "flags": [] + }, + "4032": { + "bfs": "4032", + "name": "Mägenwil", + "canton": "Kanton Aargau", + "domain": "maegenwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maegenwil.ch" + ], + "redirect": [], + "wikidata": [ + "maegenwil.ch" + ], + "guess": [ + "gemeinde-maegenwil.ch", + "maegenwil.ch" + ] + }, + "flags": [] + }, + "4033": { + "bfs": "4033", + "name": "Mellingen", + "canton": "Kanton Aargau", + "domain": "mellingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mellingen.ch" + ], + "guess": [ + "mellingen.ch" + ] + }, + "flags": [] + }, + "4034": { + "bfs": "4034", + "name": "Neuenhof", + "canton": "Kanton Aargau", + "domain": "neuenhof.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neuenhof.ch" + ], + "redirect": [], + "wikidata": [ + "neuenhof.ch" + ], + "guess": [ + "neuenhof.ch" + ] + }, + "flags": [] + }, + "4035": { + "bfs": "4035", + "name": "Niederrohrdorf", + "canton": "Kanton Aargau", + "domain": "niederrohrdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederrohrdorf.ch" + ], + "redirect": [], + "wikidata": [ + "niederrohrdorf.ch" + ], + "guess": [ + "niederrohrdorf.ch" + ] + }, + "flags": [] + }, + "4037": { + "bfs": "4037", + "name": "Oberrohrdorf", + "canton": "Kanton Aargau", + "domain": "oberrohrdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberrohrdorf.ch" + ], + "redirect": [], + "wikidata": [ + "oberrohrdorf.ch" + ], + "guess": [ + "oberrohrdorf.ch" + ] + }, + "flags": [] + }, + "4038": { + "bfs": "4038", + "name": "Obersiggenthal", + "canton": "Kanton Aargau", + "domain": "obersiggenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "convalere.ch", + "obersiggenthal.ch" + ], + "redirect": [], + "wikidata": [ + "obersiggenthal.ch" + ], + "guess": [ + "obersiggenthal.ch" + ] + }, + "flags": [] + }, + "4039": { + "bfs": "4039", + "name": "Remetschwil", + "canton": "Kanton Aargau", + "domain": "remetschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "remetschwil.ch" + ], + "redirect": [], + "wikidata": [ + "remetschwil.ch" + ], + "guess": [ + "remetschwil.ch" + ] + }, + "flags": [] + }, + "4040": { + "bfs": "4040", + "name": "Spreitenbach", + "canton": "Kanton Aargau", + "domain": "spreitenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "spreitenbach.ch" + ], + "redirect": [], + "wikidata": [ + "spreitenbach.ch" + ], + "guess": [ + "spreitenbach.ch" + ] + }, + "flags": [] + }, + "4041": { + "bfs": "4041", + "name": "Stetten (AG)", + "canton": "Kanton Aargau", + "domain": "stetten-ag.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stetten-ag.ch" + ], + "redirect": [], + "wikidata": [ + "stetten-ag.ch" + ], + "guess": [ + "stetten.ch" + ] + }, + "flags": [] + }, + "4044": { + "bfs": "4044", + "name": "Untersiggenthal", + "canton": "Kanton Aargau", + "domain": "untersiggenthal.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "untersiggenthal.ch" + ], + "guess": [ + "untersiggenthal.ch" + ] + }, + "flags": [] + }, + "4045": { + "bfs": "4045", + "name": "Wettingen", + "canton": "Kanton Aargau", + "domain": "wettingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wettingen.ch" + ], + "redirect": [], + "wikidata": [ + "wettingen.ch" + ], + "guess": [ + "wettingen.ch" + ] + }, + "flags": [] + }, + "4046": { + "bfs": "4046", + "name": "Wohlenschwil", + "canton": "Kanton Aargau", + "domain": "wohlenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wohlenschwil.ch" + ], + "redirect": [], + "wikidata": [ + "wohlenschwil.ch" + ], + "guess": [ + "wohlenschwil.ch" + ] + }, + "flags": [] + }, + "4047": { + "bfs": "4047", + "name": "Würenlingen", + "canton": "Kanton Aargau", + "domain": "wuerenlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wuerenlingen.ch" + ], + "redirect": [], + "wikidata": [ + "wuerenlingen.ch" + ], + "guess": [ + "wuerenlingen.ch" + ] + }, + "flags": [] + }, + "4048": { + "bfs": "4048", + "name": "Würenlos", + "canton": "Kanton Aargau", + "domain": "wuerenlos.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wuerenlos.ch" + ], + "redirect": [], + "wikidata": [ + "wuerenlos.ch" + ], + "guess": [ + "wuerenlos.ch" + ] + }, + "flags": [] + }, + "4049": { + "bfs": "4049", + "name": "Ehrendingen", + "canton": "Kanton Aargau", + "domain": "ehrendingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ehrendingen.ch" + ], + "redirect": [], + "wikidata": [ + "ehrendingen.ch" + ], + "guess": [ + "ehrendingen.ch" + ] + }, + "flags": [] + }, + "4061": { + "bfs": "4061", + "name": "Arni (AG)", + "canton": "Kanton Aargau", + "domain": "arni-ag.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arni-ag.ch" + ], + "redirect": [], + "wikidata": [ + "arni-ag.ch" + ], + "guess": [ + "arni.ch" + ] + }, + "flags": [] + }, + "4062": { + "bfs": "4062", + "name": "Berikon", + "canton": "Kanton Aargau", + "domain": "berikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "berikon.ch" + ], + "redirect": [], + "wikidata": [ + "berikon.ch" + ], + "guess": [ + "berikon.ch" + ] + }, + "flags": [] + }, + "4063": { + "bfs": "4063", + "name": "Bremgarten (AG)", + "canton": "Kanton Aargau", + "domain": "bremgarten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bremgarten.ch" + ], + "redirect": [], + "wikidata": [ + "bremgarten.ch" + ], + "guess": [ + "bremgarten.ch" + ] + }, + "flags": [] + }, + "4064": { + "bfs": "4064", + "name": "Büttikon", + "canton": "Kanton Aargau", + "domain": "buettikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buettikon.ch" + ], + "redirect": [], + "wikidata": [ + "buettikon.ch" + ], + "guess": [ + "buettikon.ch" + ] + }, + "flags": [] + }, + "4065": { + "bfs": "4065", + "name": "Dottikon", + "canton": "Kanton Aargau", + "domain": "dottikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dottikon.ch" + ], + "redirect": [], + "wikidata": [ + "dottikon.ch" + ], + "guess": [ + "dottikon.ch" + ] + }, + "flags": [] + }, + "4066": { + "bfs": "4066", + "name": "Eggenwil", + "canton": "Kanton Aargau", + "domain": "eggenwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eggenwil.ch" + ], + "redirect": [], + "wikidata": [ + "eggenwil.ch" + ], + "guess": [ + "eggenwil.ch" + ] + }, + "flags": [] + }, + "4067": { + "bfs": "4067", + "name": "Fischbach-Göslikon", + "canton": "Kanton Aargau", + "domain": "fischbach-goeslikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fischbach-goeslikon.ch" + ], + "redirect": [], + "wikidata": [ + "fischbach-goeslikon.ch" + ], + "guess": [ + "fischbach-goeslikon.ch" + ] + }, + "flags": [] + }, + "4068": { + "bfs": "4068", + "name": "Hägglingen", + "canton": "Kanton Aargau", + "domain": "haegglingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "haegglingen.ch" + ], + "redirect": [], + "wikidata": [ + "haegglingen.ch" + ], + "guess": [ + "haegglingen.ch" + ] + }, + "flags": [] + }, + "4071": { + "bfs": "4071", + "name": "Jonen", + "canton": "Kanton Aargau", + "domain": "jonen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jonen.ch" + ], + "redirect": [], + "wikidata": [ + "jonen.ch" + ], + "guess": [ + "jonen.ch" + ] + }, + "flags": [] + }, + "4072": { + "bfs": "4072", + "name": "Niederwil (AG)", + "canton": "Kanton Aargau", + "domain": "niederwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "niederwil.ch" + ], + "redirect": [], + "wikidata": [ + "niederwil.ch" + ], + "guess": [ + "niederwil.ch" + ] + }, + "flags": [] + }, + "4073": { + "bfs": "4073", + "name": "Oberlunkhofen", + "canton": "Kanton Aargau", + "domain": "oberlunkhofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberlunkhofen.ch" + ], + "redirect": [], + "wikidata": [ + "oberlunkhofen.ch" + ], + "guess": [ + "oberlunkhofen.ch" + ] + }, + "flags": [] + }, + "4074": { + "bfs": "4074", + "name": "Oberwil-Lieli", + "canton": "Kanton Aargau", + "domain": "oberwil-lieli.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberwil-lieli.ch" + ], + "redirect": [], + "wikidata": [ + "oberwil-lieli.ch" + ], + "guess": [ + "oberwil-lieli.ch", + "oberwillieli.ch" + ] + }, + "flags": [] + }, + "4075": { + "bfs": "4075", + "name": "Rudolfstetten-Friedlisberg", + "canton": "Kanton Aargau", + "domain": "rudolfstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rudolfstetten.ch" + ], + "redirect": [], + "wikidata": [ + "rudolfstetten.ch" + ], + "guess": [ + "rudolfstetten-friedlisberg.ch" + ] + }, + "flags": [] + }, + "4076": { + "bfs": "4076", + "name": "Sarmenstorf", + "canton": "Kanton Aargau", + "domain": "sarmenstorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sarmenstorf.ch" + ], + "redirect": [], + "wikidata": [ + "sarmenstorf.ch" + ], + "guess": [ + "sarmenstorf.ch" + ] + }, + "flags": [] + }, + "4077": { + "bfs": "4077", + "name": "Tägerig", + "canton": "Kanton Aargau", + "domain": "taegerig.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "taegerig.ch" + ], + "redirect": [], + "wikidata": [ + "taegerig.ch" + ], + "guess": [ + "taegerig.ch" + ] + }, + "flags": [] + }, + "4078": { + "bfs": "4078", + "name": "Uezwil", + "canton": "Kanton Aargau", + "domain": "uezwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uezwil.ch" + ], + "redirect": [], + "wikidata": [ + "uezwil.ch" + ], + "guess": [ + "uezwil.ch" + ] + }, + "flags": [] + }, + "4079": { + "bfs": "4079", + "name": "Unterlunkhofen", + "canton": "Kanton Aargau", + "domain": "unterlunkhofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unterlunkhofen.ch" + ], + "redirect": [], + "wikidata": [ + "unterlunkhofen.ch" + ], + "guess": [ + "unterlunkhofen.ch" + ] + }, + "flags": [] + }, + "4080": { + "bfs": "4080", + "name": "Villmergen", + "canton": "Kanton Aargau", + "domain": "villmergen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "villmergen.ch" + ], + "redirect": [], + "wikidata": [ + "villmergen.ch" + ], + "guess": [ + "villmergen.ch" + ] + }, + "flags": [] + }, + "4081": { + "bfs": "4081", + "name": "Widen", + "canton": "Kanton Aargau", + "domain": "widen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "widen.ch" + ], + "redirect": [], + "wikidata": [ + "widen.ch" + ], + "guess": [ + "widen.ch" + ] + }, + "flags": [] + }, + "4082": { + "bfs": "4082", + "name": "Wohlen (AG)", + "canton": "Kanton Aargau", + "domain": "wohlen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wohlen.ch" + ], + "redirect": [], + "wikidata": [ + "wohlen.ch" + ], + "guess": [ + "wohlen.ch" + ] + }, + "flags": [] + }, + "4083": { + "bfs": "4083", + "name": "Zufikon", + "canton": "Kanton Aargau", + "domain": "zufikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zufikon.ch" + ], + "redirect": [], + "wikidata": [ + "zufikon.ch" + ], + "guess": [ + "zufikon.ch" + ] + }, + "flags": [] + }, + "4084": { + "bfs": "4084", + "name": "Islisberg", + "canton": "Kanton Aargau", + "domain": "islisberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "islisberg.ch" + ], + "redirect": [], + "wikidata": [ + "islisberg.ch" + ], + "guess": [ + "islisberg.ch" + ] + }, + "flags": [] + }, + "4091": { + "bfs": "4091", + "name": "Auenstein", + "canton": "Kanton Aargau", + "domain": "auenstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "auenstein.ch" + ], + "redirect": [], + "wikidata": [ + "auenstein.ch" + ], + "guess": [ + "auenstein.ch" + ] + }, + "flags": [] + }, + "4092": { + "bfs": "4092", + "name": "Birr", + "canton": "Kanton Aargau", + "domain": "birr.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "birr.ch" + ], + "redirect": [], + "wikidata": [ + "birr.ch" + ], + "guess": [ + "birr.ch" + ] + }, + "flags": [] + }, + "4093": { + "bfs": "4093", + "name": "Birrhard", + "canton": "Kanton Aargau", + "domain": "birrhard.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "birrhard.ch" + ], + "redirect": [], + "wikidata": [ + "birrhard.ch" + ], + "guess": [ + "birrhard.ch" + ] + }, + "flags": [] + }, + "4095": { + "bfs": "4095", + "name": "Brugg", + "canton": "Kanton Aargau", + "domain": "brugg.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "brugg.ch" + ] + }, + "flags": [] + }, + "4099": { + "bfs": "4099", + "name": "Habsburg", + "canton": "Kanton Aargau", + "domain": "habsburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "habsburg.ch" + ], + "redirect": [], + "wikidata": [ + "habsburg.ch" + ], + "guess": [ + "habsburg.ch" + ] + }, + "flags": [] + }, + "4100": { + "bfs": "4100", + "name": "Hausen (AG)", + "canton": "Kanton Aargau", + "domain": "hausen.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hausen.swiss" + ], + "redirect": [], + "wikidata": [ + "hausen.swiss" + ], + "guess": [ + "hausen.ch" + ] + }, + "flags": [] + }, + "4104": { + "bfs": "4104", + "name": "Lupfig", + "canton": "Kanton Aargau", + "domain": "lupfig.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lupfig.ch" + ], + "redirect": [], + "wikidata": [ + "lupfig.ch" + ], + "guess": [ + "lupfig.ch" + ] + }, + "flags": [] + }, + "4105": { + "bfs": "4105", + "name": "Mandach", + "canton": "Kanton Aargau", + "domain": "mandach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mandach.ch" + ], + "redirect": [], + "wikidata": [ + "mandach.ch" + ], + "guess": [ + "mandach.ch" + ] + }, + "flags": [] + }, + "4106": { + "bfs": "4106", + "name": "Mönthal", + "canton": "Kanton Aargau", + "domain": "moenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moenthal.ch" + ], + "redirect": [], + "wikidata": [ + "moenthal.ch" + ], + "guess": [ + "moenthal.ch" + ] + }, + "flags": [] + }, + "4107": { + "bfs": "4107", + "name": "Mülligen", + "canton": "Kanton Aargau", + "domain": "muelligen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muelligen.ch" + ], + "redirect": [], + "wikidata": [ + "muelligen.ch" + ], + "guess": [ + "muelligen.ch" + ] + }, + "flags": [] + }, + "4110": { + "bfs": "4110", + "name": "Remigen", + "canton": "Kanton Aargau", + "domain": "remigen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "remigen.ch" + ], + "redirect": [], + "wikidata": [ + "remigen.ch" + ], + "guess": [ + "remigen.ch" + ] + }, + "flags": [] + }, + "4111": { + "bfs": "4111", + "name": "Riniken", + "canton": "Kanton Aargau", + "domain": "riniken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "riniken.ch" + ], + "redirect": [], + "wikidata": [ + "riniken.ch" + ], + "guess": [ + "riniken.ch" + ] + }, + "flags": [] + }, + "4112": { + "bfs": "4112", + "name": "Rüfenach", + "canton": "Kanton Aargau", + "domain": "ruefenach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ruefenach.ch" + ], + "redirect": [], + "wikidata": [ + "ruefenach.ch" + ], + "guess": [ + "ruefenach.ch" + ] + }, + "flags": [] + }, + "4117": { + "bfs": "4117", + "name": "Thalheim (AG)", + "canton": "Kanton Aargau", + "domain": "gemeinde-thalheim.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gemeinde-thalheim.ch" + ], + "guess": [ + "gemeinde-thalheim.ch", + "thalheim.ch" + ] + }, + "flags": [] + }, + "4120": { + "bfs": "4120", + "name": "Veltheim (AG)", + "canton": "Kanton Aargau", + "domain": "veltheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "veltheim.ch" + ], + "redirect": [], + "wikidata": [ + "veltheim.ch" + ], + "guess": [ + "veltheim.ch" + ] + }, + "flags": [] + }, + "4121": { + "bfs": "4121", + "name": "Villigen", + "canton": "Kanton Aargau", + "domain": "villigen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "villigen.ch" + ], + "guess": [ + "gemeinde-villigen.ch", + "villigen.ch" + ] + }, + "flags": [] + }, + "4123": { + "bfs": "4123", + "name": "Windisch", + "canton": "Kanton Aargau", + "domain": "windisch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "windisch.ch" + ], + "redirect": [], + "wikidata": [ + "windisch.ch" + ], + "guess": [ + "windisch.ch" + ] + }, + "flags": [] + }, + "4124": { + "bfs": "4124", + "name": "Bözberg", + "canton": "Kanton Aargau", + "domain": "boezberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boezberg.ch" + ], + "redirect": [], + "wikidata": [ + "boezberg.ch" + ], + "guess": [ + "boezberg.ch", + "gemeinde-boezberg.ch" + ] + }, + "flags": [] + }, + "4125": { + "bfs": "4125", + "name": "Schinznach", + "canton": "Kanton Aargau", + "domain": "schinznach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schinznach.ch" + ], + "redirect": [], + "wikidata": [ + "schinznach.ch" + ], + "guess": [ + "schinznach.ch" + ] + }, + "flags": [] + }, + "4131": { + "bfs": "4131", + "name": "Beinwil am See", + "canton": "Kanton Aargau", + "domain": "beinwilamsee.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "beinwilamsee.ch" + ], + "guess": [ + "beinwilamsee.ch" + ] + }, + "flags": [] + }, + "4132": { + "bfs": "4132", + "name": "Birrwil", + "canton": "Kanton Aargau", + "domain": "birrwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "birrwil.ch" + ], + "redirect": [], + "wikidata": [ + "birrwil.ch" + ], + "guess": [ + "birrwil.ch" + ] + }, + "flags": [] + }, + "4134": { + "bfs": "4134", + "name": "Dürrenäsch", + "canton": "Kanton Aargau", + "domain": "duerrenaesch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duerrenaesch.ch" + ], + "redirect": [], + "wikidata": [ + "duerrenaesch.ch" + ], + "guess": [ + "duerrenaesch.ch" + ] + }, + "flags": [] + }, + "4135": { + "bfs": "4135", + "name": "Gontenschwil", + "canton": "Kanton Aargau", + "domain": "gontenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gontenschwil.ch" + ], + "redirect": [], + "wikidata": [ + "gontenschwil.ch" + ], + "guess": [ + "gontenschwil.ch" + ] + }, + "flags": [] + }, + "4136": { + "bfs": "4136", + "name": "Holziken", + "canton": "Kanton Aargau", + "domain": "holziken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "holziken.ch" + ], + "redirect": [], + "wikidata": [ + "holziken.ch" + ], + "guess": [ + "holziken.ch" + ] + }, + "flags": [] + }, + "4137": { + "bfs": "4137", + "name": "Leimbach (AG)", + "canton": "Kanton Aargau", + "domain": "leimbach.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leimbach.swiss" + ], + "redirect": [], + "wikidata": [ + "leimbach.swiss" + ], + "guess": [ + "leimbach.ch" + ] + }, + "flags": [] + }, + "4138": { + "bfs": "4138", + "name": "Leutwil", + "canton": "Kanton Aargau", + "domain": "leutwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leutwil.ch" + ], + "redirect": [], + "wikidata": [ + "leutwil.ch" + ], + "guess": [ + "leutwil.ch" + ] + }, + "flags": [] + }, + "4139": { + "bfs": "4139", + "name": "Menziken", + "canton": "Kanton Aargau", + "domain": "menziken.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "menziken.ch" + ], + "guess": [ + "menziken.ch" + ] + }, + "flags": [] + }, + "4140": { + "bfs": "4140", + "name": "Oberkulm", + "canton": "Kanton Aargau", + "domain": "oberkulm.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberkulm.ch" + ], + "redirect": [], + "wikidata": [ + "oberkulm.ch" + ], + "guess": [ + "oberkulm.ch" + ] + }, + "flags": [] + }, + "4141": { + "bfs": "4141", + "name": "Reinach (AG)", + "canton": "Kanton Aargau", + "domain": "reinach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "reinach.ch" + ], + "guess": [ + "reinach.ch" + ] + }, + "flags": [] + }, + "4142": { + "bfs": "4142", + "name": "Schlossrued", + "canton": "Kanton Aargau", + "domain": "schlossrued.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schlossrued.ch" + ], + "redirect": [], + "wikidata": [ + "schlossrued.ch" + ], + "guess": [ + "schlossrued.ch" + ] + }, + "flags": [] + }, + "4143": { + "bfs": "4143", + "name": "Schmiedrued", + "canton": "Kanton Aargau", + "domain": "schmiedrued-walde.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "schmiedrued-walde.ch" + ], + "guess": [ + "schmiedrued.ch" + ] + }, + "flags": [] + }, + "4144": { + "bfs": "4144", + "name": "Schöftland", + "canton": "Kanton Aargau", + "domain": "schoeftland.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schoeftland.ch" + ], + "redirect": [], + "wikidata": [ + "schoeftland.ch" + ], + "guess": [ + "schoeftland.ch" + ] + }, + "flags": [] + }, + "4145": { + "bfs": "4145", + "name": "Teufenthal (AG)", + "canton": "Kanton Aargau", + "domain": "teufenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "teufenthal.ch" + ], + "redirect": [], + "wikidata": [ + "teufenthal.ch" + ], + "guess": [ + "teufenthal.ch" + ] + }, + "flags": [] + }, + "4146": { + "bfs": "4146", + "name": "Unterkulm", + "canton": "Kanton Aargau", + "domain": "unterkulm.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "unterkulm.ch" + ], + "redirect": [], + "wikidata": [ + "unterkulm.ch" + ], + "guess": [ + "unterkulm.ch" + ] + }, + "flags": [] + }, + "4147": { + "bfs": "4147", + "name": "Zetzwil", + "canton": "Kanton Aargau", + "domain": "zetzwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zetzwil.ch" + ], + "redirect": [], + "wikidata": [ + "zetzwil.ch" + ], + "guess": [ + "zetzwil.ch" + ] + }, + "flags": [] + }, + "4161": { + "bfs": "4161", + "name": "Eiken", + "canton": "Kanton Aargau", + "domain": "eiken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eiken.ch" + ], + "redirect": [], + "wikidata": [ + "eiken.ch" + ], + "guess": [ + "eiken.ch" + ] + }, + "flags": [] + }, + "4163": { + "bfs": "4163", + "name": "Frick", + "canton": "Kanton Aargau", + "domain": "frick.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "frick.ch" + ], + "redirect": [], + "wikidata": [ + "frick.ch" + ], + "guess": [ + "frick.ch" + ] + }, + "flags": [] + }, + "4164": { + "bfs": "4164", + "name": "Gansingen", + "canton": "Kanton Aargau", + "domain": "gansingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gansingen.ch" + ], + "redirect": [], + "wikidata": [ + "gansingen.ch" + ], + "guess": [ + "gansingen.ch" + ] + }, + "flags": [] + }, + "4165": { + "bfs": "4165", + "name": "Gipf-Oberfrick", + "canton": "Kanton Aargau", + "domain": "gipf-oberfrick.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gipf-oberfrick.ch" + ], + "redirect": [], + "wikidata": [ + "gipf-oberfrick.ch" + ], + "guess": [ + "gipf-oberfrick.ch" + ] + }, + "flags": [] + }, + "4169": { + "bfs": "4169", + "name": "Kaisten", + "canton": "Kanton Aargau", + "domain": "kaisten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kaisten.ch" + ], + "redirect": [], + "wikidata": [ + "kaisten.ch" + ], + "guess": [ + "kaisten.ch" + ] + }, + "flags": [] + }, + "4170": { + "bfs": "4170", + "name": "Laufenburg", + "canton": "Kanton Aargau", + "domain": "laufenburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laufenburg.ch" + ], + "redirect": [], + "wikidata": [ + "laufenburg.ch" + ], + "guess": [ + "laufenburg.ch" + ] + }, + "flags": [] + }, + "4172": { + "bfs": "4172", + "name": "Münchwilen (AG)", + "canton": "Kanton Aargau", + "domain": "muenchwilen-ag.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muenchwilen-ag.ch" + ], + "redirect": [], + "wikidata": [ + "muenchwilen-ag.ch" + ], + "guess": [ + "muenchwilen.ch" + ] + }, + "flags": [] + }, + "4173": { + "bfs": "4173", + "name": "Oberhof", + "canton": "Kanton Aargau", + "domain": "oberhof.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberhof.ch" + ], + "redirect": [], + "wikidata": [ + "oberhof.ch" + ], + "guess": [ + "oberhof.ch" + ] + }, + "flags": [] + }, + "4175": { + "bfs": "4175", + "name": "Oeschgen", + "canton": "Kanton Aargau", + "domain": "oeschgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oeschgen.ch" + ], + "redirect": [], + "wikidata": [ + "oeschgen.ch" + ], + "guess": [ + "oeschgen.ch" + ] + }, + "flags": [] + }, + "4176": { + "bfs": "4176", + "name": "Schwaderloch", + "canton": "Kanton Aargau", + "domain": "schwaderloch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schwaderloch.ch" + ], + "redirect": [], + "wikidata": [ + "schwaderloch.ch" + ], + "guess": [ + "schwaderloch.ch" + ] + }, + "flags": [] + }, + "4177": { + "bfs": "4177", + "name": "Sisseln", + "canton": "Kanton Aargau", + "domain": "sisseln.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sisseln.ch" + ], + "redirect": [], + "wikidata": [ + "sisseln.ch" + ], + "guess": [ + "sisseln.ch" + ] + }, + "flags": [] + }, + "4181": { + "bfs": "4181", + "name": "Wittnau", + "canton": "Kanton Aargau", + "domain": "wittnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wittnau.ch" + ], + "redirect": [], + "wikidata": [ + "wittnau.ch" + ], + "guess": [ + "wittnau.ch" + ] + }, + "flags": [] + }, + "4182": { + "bfs": "4182", + "name": "Wölflinswil", + "canton": "Kanton Aargau", + "domain": "woelflinswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "woelflinswil.ch" + ], + "redirect": [], + "wikidata": [ + "woelflinswil.ch" + ], + "guess": [ + "woelflinswil.ch" + ] + }, + "flags": [] + }, + "4183": { + "bfs": "4183", + "name": "Zeihen", + "canton": "Kanton Aargau", + "domain": "zeihen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zeihen.ch" + ], + "redirect": [], + "wikidata": [ + "zeihen.ch" + ], + "guess": [ + "zeihen.ch" + ] + }, + "flags": [] + }, + "4184": { + "bfs": "4184", + "name": "Mettauertal", + "canton": "Kanton Aargau", + "domain": "mettauertal.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "mettauertal.ch" + ] + }, + "flags": [] + }, + "4185": { + "bfs": "4185", + "name": "Böztal", + "canton": "Kanton Aargau", + "domain": "boeztal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boeztal.ch" + ], + "redirect": [], + "wikidata": [ + "boeztal.ch" + ], + "guess": [ + "boeztal.ch" + ] + }, + "flags": [] + }, + "4186": { + "bfs": "4186", + "name": "Herznach-Ueken", + "canton": "Kanton Aargau", + "domain": "herznach-ueken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "3way.ch", + "herznach-ueken.ch", + "kommpakt.ch" + ], + "redirect": [], + "wikidata": [ + "herznach-ueken.ch" + ], + "guess": [ + "herznach-ueken.ch" + ] + }, + "flags": [] + }, + "4191": { + "bfs": "4191", + "name": "Ammerswil", + "canton": "Kanton Aargau", + "domain": "ammerswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ammerswil.ch" + ], + "redirect": [], + "wikidata": [ + "ammerswil.ch" + ], + "guess": [ + "ammerswil.ch" + ] + }, + "flags": [] + }, + "4192": { + "bfs": "4192", + "name": "Boniswil", + "canton": "Kanton Aargau", + "domain": "boniswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boniswil.ch" + ], + "redirect": [], + "wikidata": [ + "boniswil.ch" + ], + "guess": [ + "boniswil.ch" + ] + }, + "flags": [] + }, + "4193": { + "bfs": "4193", + "name": "Brunegg", + "canton": "Kanton Aargau", + "domain": "brunegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brunegg.ch" + ], + "redirect": [], + "wikidata": [ + "brunegg.ch" + ], + "guess": [ + "brunegg.ch" + ] + }, + "flags": [] + }, + "4194": { + "bfs": "4194", + "name": "Dintikon", + "canton": "Kanton Aargau", + "domain": "dintikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dintikon.ch" + ], + "redirect": [], + "wikidata": [ + "dintikon.ch" + ], + "guess": [ + "dintikon.ch" + ] + }, + "flags": [] + }, + "4195": { + "bfs": "4195", + "name": "Egliswil", + "canton": "Kanton Aargau", + "domain": "egliswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "egliswil.ch" + ], + "redirect": [], + "wikidata": [ + "egliswil.ch" + ], + "guess": [ + "egliswil.ch" + ] + }, + "flags": [] + }, + "4196": { + "bfs": "4196", + "name": "Fahrwangen", + "canton": "Kanton Aargau", + "domain": "fahrwangen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fahrwangen.ch" + ], + "redirect": [], + "wikidata": [ + "fahrwangen.ch" + ], + "guess": [ + "fahrwangen.ch", + "gemeinde-fahrwangen.ch" + ] + }, + "flags": [] + }, + "4197": { + "bfs": "4197", + "name": "Hallwil", + "canton": "Kanton Aargau", + "domain": "hallwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hallwil.ch" + ], + "redirect": [], + "wikidata": [ + "hallwil.ch" + ], + "guess": [ + "hallwil.ch" + ] + }, + "flags": [] + }, + "4198": { + "bfs": "4198", + "name": "Hendschiken", + "canton": "Kanton Aargau", + "domain": "hendschiken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hendschiken.ch" + ], + "redirect": [], + "wikidata": [ + "hendschiken.ch" + ], + "guess": [ + "hendschiken.ch" + ] + }, + "flags": [] + }, + "4199": { + "bfs": "4199", + "name": "Holderbank (AG)", + "canton": "Kanton Aargau", + "domain": "holderbank.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "holderbank.ch" + ], + "guess": [ + "holderbank.ch" + ] + }, + "flags": [] + }, + "4200": { + "bfs": "4200", + "name": "Hunzenschwil", + "canton": "Kanton Aargau", + "domain": "hunzenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hunzenschwil.ch" + ], + "redirect": [], + "wikidata": [ + "hunzenschwil.ch" + ], + "guess": [ + "hunzenschwil.ch" + ] + }, + "flags": [] + }, + "4201": { + "bfs": "4201", + "name": "Lenzburg", + "canton": "Kanton Aargau", + "domain": "lenzburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lenzburg.ch" + ], + "redirect": [], + "wikidata": [ + "lenzburg.ch" + ], + "guess": [ + "lenzburg.ch" + ] + }, + "flags": [] + }, + "4202": { + "bfs": "4202", + "name": "Meisterschwanden", + "canton": "Kanton Aargau", + "domain": "meisterschwanden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "meisterschwanden.ch" + ], + "guess": [ + "meisterschwanden.ch" + ] + }, + "flags": [] + }, + "4203": { + "bfs": "4203", + "name": "Möriken-Wildegg", + "canton": "Kanton Aargau", + "domain": "moeriken-wildegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moeriken-wildegg.ch" + ], + "redirect": [], + "wikidata": [ + "moeriken-wildegg.ch" + ], + "guess": [ + "moeriken-wildegg.ch" + ] + }, + "flags": [] + }, + "4204": { + "bfs": "4204", + "name": "Niederlenz", + "canton": "Kanton Aargau", + "domain": "niederlenz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "niederlenz.ch" + ], + "guess": [ + "niederlenz.ch" + ] + }, + "flags": [] + }, + "4205": { + "bfs": "4205", + "name": "Othmarsingen", + "canton": "Kanton Aargau", + "domain": "othmarsingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "othmarsingen.ch" + ], + "redirect": [], + "wikidata": [ + "othmarsingen.ch" + ], + "guess": [ + "othmarsingen.ch" + ] + }, + "flags": [] + }, + "4206": { + "bfs": "4206", + "name": "Rupperswil", + "canton": "Kanton Aargau", + "domain": "rupperswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rupperswil.ch" + ], + "redirect": [], + "wikidata": [ + "rupperswil.ch" + ], + "guess": [ + "rupperswil.ch" + ] + }, + "flags": [] + }, + "4207": { + "bfs": "4207", + "name": "Schafisheim", + "canton": "Kanton Aargau", + "domain": "schafisheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schafisheim.ch" + ], + "redirect": [], + "wikidata": [ + "schafisheim.ch" + ], + "guess": [ + "schafisheim.ch" + ] + }, + "flags": [] + }, + "4208": { + "bfs": "4208", + "name": "Seengen", + "canton": "Kanton Aargau", + "domain": "seengen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seengen.ch" + ], + "redirect": [], + "wikidata": [ + "seengen.ch" + ], + "guess": [ + "seengen.ch" + ] + }, + "flags": [] + }, + "4209": { + "bfs": "4209", + "name": "Seon", + "canton": "Kanton Aargau", + "domain": "seon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "seon.ch" + ], + "redirect": [], + "wikidata": [ + "seon.ch" + ], + "guess": [ + "seon.ch" + ] + }, + "flags": [] + }, + "4210": { + "bfs": "4210", + "name": "Staufen", + "canton": "Kanton Aargau", + "domain": "staufen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "staufen.ch" + ], + "redirect": [], + "wikidata": [ + "staufen.ch" + ], + "guess": [ + "staufen.ch" + ] + }, + "flags": [] + }, + "4221": { + "bfs": "4221", + "name": "Abtwil", + "canton": "Kanton Aargau", + "domain": "abtwilag.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "abtwilag.ch" + ], + "redirect": [], + "wikidata": [ + "abtwilag.ch" + ], + "guess": [] + }, + "flags": [] + }, + "4222": { + "bfs": "4222", + "name": "Aristau", + "canton": "Kanton Aargau", + "domain": "aristau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aristau.ch" + ], + "redirect": [], + "wikidata": [ + "aristau.ch" + ], + "guess": [ + "aristau.ch" + ] + }, + "flags": [] + }, + "4223": { + "bfs": "4223", + "name": "Auw", + "canton": "Kanton Aargau", + "domain": "auw.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "auw.ch" + ], + "redirect": [], + "wikidata": [ + "auw.ch" + ], + "guess": [ + "auw.ch" + ] + }, + "flags": [] + }, + "4224": { + "bfs": "4224", + "name": "Beinwil (Freiamt)", + "canton": "Kanton Aargau", + "domain": "beinwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "beinwil.ch" + ], + "redirect": [], + "wikidata": [ + "beinwil.ch" + ], + "guess": [ + "beinwil.ch" + ] + }, + "flags": [] + }, + "4226": { + "bfs": "4226", + "name": "Besenbüren", + "canton": "Kanton Aargau", + "domain": "besenbueren.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "besenbueren.ch" + ], + "redirect": [], + "wikidata": [ + "besenbueren.ch" + ], + "guess": [ + "besenbueren.ch" + ] + }, + "flags": [] + }, + "4227": { + "bfs": "4227", + "name": "Bettwil", + "canton": "Kanton Aargau", + "domain": "bettwil.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bettwil.ch" + ], + "guess": [ + "bettwil.ch" + ] + }, + "flags": [] + }, + "4228": { + "bfs": "4228", + "name": "Boswil", + "canton": "Kanton Aargau", + "domain": "boswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boswil.ch" + ], + "redirect": [], + "wikidata": [ + "boswil.ch" + ], + "guess": [ + "boswil.ch" + ] + }, + "flags": [] + }, + "4229": { + "bfs": "4229", + "name": "Bünzen", + "canton": "Kanton Aargau", + "domain": "buenzen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buenzen.ch" + ], + "redirect": [], + "wikidata": [ + "buenzen.ch" + ], + "guess": [ + "buenzen.ch" + ] + }, + "flags": [] + }, + "4230": { + "bfs": "4230", + "name": "Buttwil", + "canton": "Kanton Aargau", + "domain": "buttwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buttwil.ch" + ], + "redirect": [], + "wikidata": [ + "buttwil.ch" + ], + "guess": [ + "buttwil.ch" + ] + }, + "flags": [] + }, + "4231": { + "bfs": "4231", + "name": "Dietwil", + "canton": "Kanton Aargau", + "domain": "dietwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dietwil.ch" + ], + "redirect": [], + "wikidata": [ + "dietwil.ch" + ], + "guess": [ + "dietwil.ch" + ] + }, + "flags": [] + }, + "4232": { + "bfs": "4232", + "name": "Geltwil", + "canton": "Kanton Aargau", + "domain": "geltwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "geltwil.ch" + ], + "redirect": [], + "wikidata": [ + "geltwil.ch" + ], + "guess": [ + "geltwil.ch" + ] + }, + "flags": [] + }, + "4233": { + "bfs": "4233", + "name": "Kallern", + "canton": "Kanton Aargau", + "domain": "kallern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kallern.ch", + "zso-freiamt.ch" + ], + "redirect": [], + "wikidata": [ + "kallern.ch" + ], + "guess": [ + "kallern.ch" + ] + }, + "flags": [] + }, + "4234": { + "bfs": "4234", + "name": "Merenschwand", + "canton": "Kanton Aargau", + "domain": "merenschwand.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "merenschwand.ch" + ], + "redirect": [], + "wikidata": [ + "merenschwand.ch" + ], + "guess": [ + "merenschwand.ch" + ] + }, + "flags": [] + }, + "4235": { + "bfs": "4235", + "name": "Mühlau", + "canton": "Kanton Aargau", + "domain": "muehlau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muehlau.ch" + ], + "redirect": [], + "wikidata": [ + "muehlau.ch" + ], + "guess": [ + "muehlau.ch" + ] + }, + "flags": [] + }, + "4236": { + "bfs": "4236", + "name": "Muri (AG)", + "canton": "Kanton Aargau", + "domain": "muri.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muri.ch" + ], + "redirect": [], + "wikidata": [ + "muri.ch" + ], + "guess": [ + "muri.ch" + ] + }, + "flags": [] + }, + "4237": { + "bfs": "4237", + "name": "Oberrüti", + "canton": "Kanton Aargau", + "domain": "oberrueti.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberrueti.ch" + ], + "redirect": [], + "wikidata": [ + "oberrueti.ch" + ], + "guess": [ + "oberrueti.ch" + ] + }, + "flags": [] + }, + "4238": { + "bfs": "4238", + "name": "Rottenschwil", + "canton": "Kanton Aargau", + "domain": "rottenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rottenschwil.ch" + ], + "redirect": [], + "wikidata": [ + "rottenschwil.ch" + ], + "guess": [ + "rottenschwil.ch" + ] + }, + "flags": [] + }, + "4239": { + "bfs": "4239", + "name": "Sins", + "canton": "Kanton Aargau", + "domain": "sins.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sins.ch" + ], + "guess": [ + "sins.ch" + ] + }, + "flags": [] + }, + "4240": { + "bfs": "4240", + "name": "Waltenschwil", + "canton": "Kanton Aargau", + "domain": "waltenschwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "waltenschwil.ch" + ], + "redirect": [], + "wikidata": [ + "waltenschwil.ch" + ], + "guess": [ + "waltenschwil.ch" + ] + }, + "flags": [] + }, + "4251": { + "bfs": "4251", + "name": "Hellikon", + "canton": "Kanton Aargau", + "domain": "hellikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hellikon.ch" + ], + "redirect": [], + "wikidata": [ + "hellikon.ch" + ], + "guess": [ + "hellikon.ch" + ] + }, + "flags": [] + }, + "4252": { + "bfs": "4252", + "name": "Kaiseraugst", + "canton": "Kanton Aargau", + "domain": "kaiseraugst.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "kaiseraugst.ch" + ], + "guess": [ + "kaiseraugst.ch" + ] + }, + "flags": [] + }, + "4253": { + "bfs": "4253", + "name": "Magden", + "canton": "Kanton Aargau", + "domain": "magden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "magden.ch" + ], + "redirect": [], + "wikidata": [ + "magden.ch" + ], + "guess": [ + "magden.ch" + ] + }, + "flags": [] + }, + "4254": { + "bfs": "4254", + "name": "Möhlin", + "canton": "Kanton Aargau", + "domain": "moehlin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moehlin.ch" + ], + "redirect": [], + "wikidata": [ + "moehlin.ch" + ], + "guess": [ + "moehlin.ch" + ] + }, + "flags": [] + }, + "4255": { + "bfs": "4255", + "name": "Mumpf", + "canton": "Kanton Aargau", + "domain": "mumpf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mumpf.ch" + ], + "guess": [ + "mumpf.ch" + ] + }, + "flags": [] + }, + "4256": { + "bfs": "4256", + "name": "Obermumpf", + "canton": "Kanton Aargau", + "domain": "obermumpf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "obermumpf.ch" + ], + "redirect": [], + "wikidata": [ + "obermumpf.ch" + ], + "guess": [ + "obermumpf.ch" + ] + }, + "flags": [] + }, + "4257": { + "bfs": "4257", + "name": "Olsberg", + "canton": "Kanton Aargau", + "domain": "olsberg.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "olsberg.ch" + ], + "guess": [ + "olsberg.ch" + ] + }, + "flags": [] + }, + "4258": { + "bfs": "4258", + "name": "Rheinfelden", + "canton": "Kanton Aargau", + "domain": "rheinfelden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rheinfelden.ch" + ], + "guess": [ + "rheinfelden.ch", + "stadt-rheinfelden.ch" + ] + }, + "flags": [] + }, + "4259": { + "bfs": "4259", + "name": "Schupfart", + "canton": "Kanton Aargau", + "domain": "schupfart.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "schupfart.ch" + ], + "guess": [ + "schupfart.ch" + ] + }, + "flags": [] + }, + "4260": { + "bfs": "4260", + "name": "Stein (AG)", + "canton": "Kanton Aargau", + "domain": "gemeinde-stein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeinde-stein.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-stein.ch" + ], + "guess": [ + "gemeinde-stein.ch" + ] + }, + "flags": [] + }, + "4261": { + "bfs": "4261", + "name": "Wallbach", + "canton": "Kanton Aargau", + "domain": "wallbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wallbach.ch" + ], + "redirect": [], + "wikidata": [ + "wallbach.ch" + ], + "guess": [ + "wallbach.ch" + ] + }, + "flags": [] + }, + "4262": { + "bfs": "4262", + "name": "Wegenstetten", + "canton": "Kanton Aargau", + "domain": "wegenstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wegenstetten.ch" + ], + "redirect": [], + "wikidata": [ + "wegenstetten.ch" + ], + "guess": [ + "wegenstetten.ch" + ] + }, + "flags": [] + }, + "4263": { + "bfs": "4263", + "name": "Zeiningen", + "canton": "Kanton Aargau", + "domain": "zeiningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zeiningen.ch" + ], + "redirect": [], + "wikidata": [ + "zeiningen.ch" + ], + "guess": [ + "zeiningen.ch" + ] + }, + "flags": [] + }, + "4264": { + "bfs": "4264", + "name": "Zuzgen", + "canton": "Kanton Aargau", + "domain": "zuzgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zuzgen.ch" + ], + "redirect": [], + "wikidata": [ + "zuzgen.ch" + ], + "guess": [ + "zuzgen.ch" + ] + }, + "flags": [] + }, + "4271": { + "bfs": "4271", + "name": "Aarburg", + "canton": "Kanton Aargau", + "domain": "aarburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aarburg.ch" + ], + "redirect": [], + "wikidata": [ + "aarburg.ch" + ], + "guess": [ + "aarburg.ch" + ] + }, + "flags": [] + }, + "4273": { + "bfs": "4273", + "name": "Bottenwil", + "canton": "Kanton Aargau", + "domain": "bottenwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bottenwil.ch" + ], + "redirect": [], + "wikidata": [ + "bottenwil.ch" + ], + "guess": [ + "bottenwil.ch" + ] + }, + "flags": [] + }, + "4274": { + "bfs": "4274", + "name": "Brittnau", + "canton": "Kanton Aargau", + "domain": "brittnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brittnau.ch" + ], + "redirect": [], + "wikidata": [ + "brittnau.ch" + ], + "guess": [ + "brittnau.ch" + ] + }, + "flags": [] + }, + "4275": { + "bfs": "4275", + "name": "Kirchleerau", + "canton": "Kanton Aargau", + "domain": "kirchleerau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kirchleerau.ch" + ], + "redirect": [], + "wikidata": [ + "kirchleerau.ch" + ], + "guess": [ + "kirchleerau.ch" + ] + }, + "flags": [] + }, + "4276": { + "bfs": "4276", + "name": "Kölliken", + "canton": "Kanton Aargau", + "domain": "koelliken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "koelliken.ch" + ], + "redirect": [], + "wikidata": [ + "koelliken.ch" + ], + "guess": [ + "koelliken.ch" + ] + }, + "flags": [] + }, + "4277": { + "bfs": "4277", + "name": "Moosleerau", + "canton": "Kanton Aargau", + "domain": "moosleerau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moosleerau.ch" + ], + "redirect": [], + "wikidata": [ + "moosleerau.ch" + ], + "guess": [ + "moosleerau.ch" + ] + }, + "flags": [] + }, + "4279": { + "bfs": "4279", + "name": "Murgenthal", + "canton": "Kanton Aargau", + "domain": "murgenthal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "murgenthal.ch" + ], + "redirect": [], + "wikidata": [ + "murgenthal.ch" + ], + "guess": [ + "murgenthal.ch" + ] + }, + "flags": [] + }, + "4280": { + "bfs": "4280", + "name": "Oftringen", + "canton": "Kanton Aargau", + "domain": "oftringen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oftringen.ch" + ], + "redirect": [], + "wikidata": [ + "oftringen.ch" + ], + "guess": [ + "oftringen.ch" + ] + }, + "flags": [] + }, + "4281": { + "bfs": "4281", + "name": "Reitnau", + "canton": "Kanton Aargau", + "domain": "reitnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "reitnau.ch" + ], + "redirect": [], + "wikidata": [ + "reitnau.ch" + ], + "guess": [ + "reitnau.ch" + ] + }, + "flags": [] + }, + "4282": { + "bfs": "4282", + "name": "Rothrist", + "canton": "Kanton Aargau", + "domain": "rothrist.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rothrist.ch" + ], + "redirect": [], + "wikidata": [ + "rothrist.ch" + ], + "guess": [ + "rothrist.ch" + ] + }, + "flags": [] + }, + "4283": { + "bfs": "4283", + "name": "Safenwil", + "canton": "Kanton Aargau", + "domain": "safenwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "safenwil.ch" + ], + "redirect": [], + "wikidata": [ + "safenwil.ch" + ], + "guess": [ + "safenwil.ch" + ] + }, + "flags": [] + }, + "4284": { + "bfs": "4284", + "name": "Staffelbach", + "canton": "Kanton Aargau", + "domain": "staffelbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "staffelbach.ch" + ], + "redirect": [], + "wikidata": [ + "staffelbach.ch" + ], + "guess": [ + "staffelbach.ch" + ] + }, + "flags": [] + }, + "4285": { + "bfs": "4285", + "name": "Strengelbach", + "canton": "Kanton Aargau", + "domain": "strengelbach.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "strengelbach.ch" + ], + "guess": [ + "strengelbach.ch" + ] + }, + "flags": [] + }, + "4286": { + "bfs": "4286", + "name": "Uerkheim", + "canton": "Kanton Aargau", + "domain": "uerkheim.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uerkheim.ch" + ], + "redirect": [], + "wikidata": [ + "uerkheim.ch" + ], + "guess": [ + "uerkheim.ch" + ] + }, + "flags": [] + }, + "4287": { + "bfs": "4287", + "name": "Vordemwald", + "canton": "Kanton Aargau", + "domain": "vordemwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vordemwald.ch" + ], + "redirect": [], + "wikidata": [ + "vordemwald.ch" + ], + "guess": [ + "vordemwald.ch" + ] + }, + "flags": [] + }, + "4288": { + "bfs": "4288", + "name": "Wiliberg", + "canton": "Kanton Aargau", + "domain": "wiliberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wiliberg.ch" + ], + "redirect": [], + "wikidata": [ + "wiliberg.ch" + ], + "guess": [ + "wiliberg.ch" + ] + }, + "flags": [] + }, + "4289": { + "bfs": "4289", + "name": "Zofingen", + "canton": "Kanton Aargau", + "domain": "zofingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "zofingen.ch" + ], + "guess": [ + "zofingen.ch" + ] + }, + "flags": [] + }, + "4303": { + "bfs": "4303", + "name": "Böttstein", + "canton": "Kanton Aargau", + "domain": "boettstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boettstein.ch" + ], + "redirect": [], + "wikidata": [ + "boettstein.ch" + ], + "guess": [ + "boettstein.ch" + ] + }, + "flags": [] + }, + "4304": { + "bfs": "4304", + "name": "Döttingen", + "canton": "Kanton Aargau", + "domain": "doettingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "doettingen.ch", + "megura.ch" + ], + "redirect": [], + "wikidata": [ + "doettingen.ch" + ], + "guess": [ + "doettingen.ch" + ] + }, + "flags": [] + }, + "4305": { + "bfs": "4305", + "name": "Endingen", + "canton": "Kanton Aargau", + "domain": "endingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "endingen.ch", + "unterendingen.ch" + ], + "redirect": [], + "wikidata": [ + "endingen.ch" + ], + "guess": [ + "endingen.ch" + ] + }, + "flags": [] + }, + "4306": { + "bfs": "4306", + "name": "Fisibach", + "canton": "Kanton Aargau", + "domain": "fisibach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fisibach.ch" + ], + "redirect": [], + "wikidata": [ + "fisibach.ch" + ], + "guess": [ + "fisibach.ch" + ] + }, + "flags": [] + }, + "4307": { + "bfs": "4307", + "name": "Full-Reuenthal", + "canton": "Kanton Aargau", + "domain": "full-reuenthal.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "full-reuenthal.ch" + ] + }, + "flags": [] + }, + "4309": { + "bfs": "4309", + "name": "Klingnau", + "canton": "Kanton Aargau", + "domain": "klingnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "klingnau.ch" + ], + "redirect": [], + "wikidata": [ + "klingnau.ch" + ], + "guess": [ + "klingnau.ch" + ] + }, + "flags": [] + }, + "4310": { + "bfs": "4310", + "name": "Koblenz", + "canton": "Kanton Aargau", + "domain": "koblenz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "koblenz.ch", + "megura.ch" + ], + "redirect": [], + "wikidata": [ + "koblenz.ch" + ], + "guess": [ + "koblenz.ch" + ] + }, + "flags": [] + }, + "4311": { + "bfs": "4311", + "name": "Leibstadt", + "canton": "Kanton Aargau", + "domain": "leibstadt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "full-reuenthal.ch", + "leibstadt.ch" + ], + "redirect": [], + "wikidata": [ + "leibstadt.ch" + ], + "guess": [ + "leibstadt.ch" + ] + }, + "flags": [] + }, + "4312": { + "bfs": "4312", + "name": "Lengnau (AG)", + "canton": "Kanton Aargau", + "domain": "lengnau-ag.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lengnau-ag.ch" + ], + "redirect": [], + "wikidata": [ + "lengnau-ag.ch" + ], + "guess": [ + "lengnau.ch" + ] + }, + "flags": [] + }, + "4313": { + "bfs": "4313", + "name": "Leuggern", + "canton": "Kanton Aargau", + "domain": "leuggern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leuggern.ch" + ], + "redirect": [], + "wikidata": [ + "leuggern.ch" + ], + "guess": [ + "leuggern.ch" + ] + }, + "flags": [] + }, + "4314": { + "bfs": "4314", + "name": "Mellikon", + "canton": "Kanton Aargau", + "domain": "mellikon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mellikon.ch" + ], + "redirect": [], + "wikidata": [ + "mellikon.ch" + ], + "guess": [ + "mellikon.ch" + ] + }, + "flags": [] + }, + "4318": { + "bfs": "4318", + "name": "Schneisingen", + "canton": "Kanton Aargau", + "domain": "schneisingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schneisingen.ch" + ], + "redirect": [], + "wikidata": [ + "schneisingen.ch" + ], + "guess": [ + "schneisingen.ch" + ] + }, + "flags": [] + }, + "4319": { + "bfs": "4319", + "name": "Siglistorf", + "canton": "Kanton Aargau", + "domain": "siglistorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "siglistorf.ch" + ], + "redirect": [], + "wikidata": [ + "siglistorf.ch" + ], + "guess": [ + "siglistorf.ch" + ] + }, + "flags": [] + }, + "4320": { + "bfs": "4320", + "name": "Tegerfelden", + "canton": "Kanton Aargau", + "domain": "tegerfelden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tegerfelden.ch" + ], + "redirect": [], + "wikidata": [ + "tegerfelden.ch" + ], + "guess": [ + "tegerfelden.ch" + ] + }, + "flags": [] + }, + "4324": { + "bfs": "4324", + "name": "Zurzach", + "canton": "Kanton Aargau", + "domain": "zurzach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zurzach.ch" + ], + "redirect": [], + "wikidata": [ + "zurzach.ch" + ], + "guess": [ + "zurzach.ch" + ] + }, + "flags": [] + }, + "4401": { + "bfs": "4401", + "name": "Arbon", + "canton": "Kanton Thurgau", + "domain": "arbon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arbon.ch" + ], + "redirect": [], + "wikidata": [ + "arbon.ch" + ], + "guess": [ + "arbon.ch" + ] + }, + "flags": [] + }, + "4406": { + "bfs": "4406", + "name": "Dozwil", + "canton": "Kanton Thurgau", + "domain": "dozwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dozwil.ch", + "ew-dozwil.ch" + ], + "redirect": [], + "wikidata": [ + "dozwil.ch" + ], + "guess": [ + "dozwil.ch" + ] + }, + "flags": [] + }, + "4411": { + "bfs": "4411", + "name": "Egnach", + "canton": "Kanton Thurgau", + "domain": "egnach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "egnach.ch" + ], + "redirect": [], + "wikidata": [ + "egnach.ch" + ], + "guess": [ + "egnach.ch" + ] + }, + "flags": [] + }, + "4416": { + "bfs": "4416", + "name": "Hefenhofen", + "canton": "Kanton Thurgau", + "domain": "hefenhofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hefenhofen.ch" + ], + "redirect": [], + "wikidata": [ + "hefenhofen.ch" + ], + "guess": [ + "hefenhofen.ch" + ] + }, + "flags": [] + }, + "4421": { + "bfs": "4421", + "name": "Horn", + "canton": "Kanton Thurgau", + "domain": "horn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "horn.ch" + ], + "redirect": [], + "wikidata": [ + "horn.ch" + ], + "guess": [ + "horn.ch" + ] + }, + "flags": [] + }, + "4426": { + "bfs": "4426", + "name": "Kesswil", + "canton": "Kanton Thurgau", + "domain": "kesswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kesswil.ch" + ], + "redirect": [], + "wikidata": [ + "kesswil.ch" + ], + "guess": [ + "kesswil.ch" + ] + }, + "flags": [] + }, + "4431": { + "bfs": "4431", + "name": "Roggwil (TG)", + "canton": "Kanton Thurgau", + "domain": "roggwil-tg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "roggwil-tg.ch" + ], + "redirect": [], + "wikidata": [ + "roggwil-tg.ch" + ], + "guess": [ + "roggwil.ch" + ] + }, + "flags": [] + }, + "4436": { + "bfs": "4436", + "name": "Romanshorn", + "canton": "Kanton Thurgau", + "domain": "romanshorn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "romanshorn.ch" + ], + "redirect": [], + "wikidata": [ + "romanshorn.ch" + ], + "guess": [ + "romanshorn.ch" + ] + }, + "flags": [] + }, + "4441": { + "bfs": "4441", + "name": "Salmsach", + "canton": "Kanton Thurgau", + "domain": "salmsach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "salmsach.ch" + ], + "redirect": [], + "wikidata": [ + "salmsach.ch" + ], + "guess": [ + "salmsach.ch" + ] + }, + "flags": [] + }, + "4446": { + "bfs": "4446", + "name": "Sommeri", + "canton": "Kanton Thurgau", + "domain": "sommeri.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sommeri.ch" + ], + "guess": [ + "sommeri.ch" + ] + }, + "flags": [] + }, + "4451": { + "bfs": "4451", + "name": "Uttwil", + "canton": "Kanton Thurgau", + "domain": "uttwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "uttwil.ch" + ], + "redirect": [], + "wikidata": [ + "uttwil.ch" + ], + "guess": [ + "uttwil.ch" + ] + }, + "flags": [] + }, + "4461": { + "bfs": "4461", + "name": "Amriswil", + "canton": "Kanton Thurgau", + "domain": "amriswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "amriswil.ch" + ], + "redirect": [], + "wikidata": [ + "amriswil.ch" + ], + "guess": [ + "amriswil.ch" + ] + }, + "flags": [] + }, + "4471": { + "bfs": "4471", + "name": "Bischofszell", + "canton": "Kanton Thurgau", + "domain": "bischofszell.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bischofszell.ch" + ], + "redirect": [], + "wikidata": [ + "bischofszell.ch" + ], + "guess": [ + "bischofszell.ch" + ] + }, + "flags": [] + }, + "4476": { + "bfs": "4476", + "name": "Erlen", + "canton": "Kanton Thurgau", + "domain": "erlen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "erlen.ch" + ], + "redirect": [], + "wikidata": [ + "erlen.ch" + ], + "guess": [ + "erlen.ch" + ] + }, + "flags": [] + }, + "4486": { + "bfs": "4486", + "name": "Hauptwil-Gottshaus", + "canton": "Kanton Thurgau", + "domain": "hauptwil-gottshaus.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "pghg.ch" + ], + "redirect": [], + "wikidata": [ + "hauptwil-gottshaus.ch" + ], + "guess": [ + "hauptwil-gottshaus.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "4495": { + "bfs": "4495", + "name": "Hohentannen", + "canton": "Kanton Thurgau", + "domain": "hohentannen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "hohentannen.ch" + ], + "guess": [ + "hohentannen.ch" + ] + }, + "flags": [] + }, + "4501": { + "bfs": "4501", + "name": "Kradolf-Schönenberg", + "canton": "Kanton Thurgau", + "domain": "pgks.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "pgks.ch" + ] + }, + "flags": [] + }, + "4506": { + "bfs": "4506", + "name": "Sulgen", + "canton": "Kanton Thurgau", + "domain": "sulgen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sulgen.ch" + ], + "redirect": [], + "wikidata": [ + "sulgen.ch" + ], + "guess": [ + "sulgen.ch" + ] + }, + "flags": [] + }, + "4511": { + "bfs": "4511", + "name": "Zihlschlacht-Sitterdorf", + "canton": "Kanton Thurgau", + "domain": "zihlschlacht-sitterdorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zihlschlacht-sitterdorf.ch" + ], + "redirect": [], + "wikidata": [ + "zihlschlacht-sitterdorf.ch" + ], + "guess": [ + "zihlschlacht-sitterdorf.ch" + ] + }, + "flags": [] + }, + "4536": { + "bfs": "4536", + "name": "Basadingen-Schlattingen", + "canton": "Kanton Thurgau", + "domain": "pg-bs.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "pg-bs.ch" + ] + }, + "flags": [] + }, + "4545": { + "bfs": "4545", + "name": "Diessenhofen", + "canton": "Kanton Thurgau", + "domain": "diessenhofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "diessenhofen.ch" + ], + "redirect": [], + "wikidata": [ + "diessenhofen.ch" + ], + "guess": [ + "diessenhofen.ch" + ] + }, + "flags": [] + }, + "4546": { + "bfs": "4546", + "name": "Schlatt (TG)", + "canton": "Kanton Thurgau", + "domain": "schlatt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schlatt.ch" + ], + "redirect": [], + "wikidata": [ + "schlatt.ch" + ], + "guess": [ + "schlatt.ch" + ] + }, + "flags": [] + }, + "4551": { + "bfs": "4551", + "name": "Aadorf", + "canton": "Kanton Thurgau", + "domain": "aadorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aadorf.ch" + ], + "redirect": [], + "wikidata": [ + "aadorf.ch" + ], + "guess": [ + "aadorf.ch" + ] + }, + "flags": [] + }, + "4561": { + "bfs": "4561", + "name": "Felben-Wellhausen", + "canton": "Kanton Thurgau", + "domain": "felben-wellhausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "felben-wellhausen.ch" + ], + "redirect": [], + "wikidata": [ + "felben-wellhausen.ch" + ], + "guess": [ + "felben-wellhausen.ch" + ] + }, + "flags": [] + }, + "4566": { + "bfs": "4566", + "name": "Frauenfeld", + "canton": "Kanton Thurgau", + "domain": "frauenfeld.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "frauenfeld.ch" + ], + "guess": [ + "frauenfeld.ch" + ] + }, + "flags": [] + }, + "4571": { + "bfs": "4571", + "name": "Gachnang", + "canton": "Kanton Thurgau", + "domain": "gachnang.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gachnang.ch" + ], + "redirect": [], + "wikidata": [ + "gachnang.ch" + ], + "guess": [ + "gachnang.ch" + ] + }, + "flags": [] + }, + "4590": { + "bfs": "4590", + "name": "Hüttlingen", + "canton": "Kanton Thurgau", + "domain": "huettlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "huettlingen.ch" + ], + "redirect": [], + "wikidata": [ + "huettlingen.ch" + ], + "guess": [ + "huettlingen.ch" + ] + }, + "flags": [] + }, + "4591": { + "bfs": "4591", + "name": "Matzingen", + "canton": "Kanton Thurgau", + "domain": "matzingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "matzingen.ch" + ], + "redirect": [], + "wikidata": [ + "matzingen.ch" + ], + "guess": [ + "matzingen.ch" + ] + }, + "flags": [] + }, + "4601": { + "bfs": "4601", + "name": "Neunforn", + "canton": "Kanton Thurgau", + "domain": "neunforn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neunforn.ch" + ], + "redirect": [], + "wikidata": [ + "neunforn.ch" + ], + "guess": [ + "neunforn.ch" + ] + }, + "flags": [] + }, + "4606": { + "bfs": "4606", + "name": "Stettfurt", + "canton": "Kanton Thurgau", + "domain": "stettfurt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stettfurt.ch" + ], + "redirect": [], + "wikidata": [ + "stettfurt.ch" + ], + "guess": [ + "stettfurt.ch" + ] + }, + "flags": [] + }, + "4611": { + "bfs": "4611", + "name": "Thundorf", + "canton": "Kanton Thurgau", + "domain": "thundorf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thundorf.ch" + ], + "redirect": [], + "wikidata": [ + "thundorf.ch" + ], + "guess": [ + "thundorf.ch" + ] + }, + "flags": [] + }, + "4616": { + "bfs": "4616", + "name": "Uesslingen-Buch", + "canton": "Kanton Thurgau", + "domain": "uesslingen-buch.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "uesslingen-buch.ch" + ], + "guess": [ + "uesslingen-buch.ch" + ] + }, + "flags": [] + }, + "4621": { + "bfs": "4621", + "name": "Warth-Weiningen", + "canton": "Kanton Thurgau", + "domain": "warth-weiningen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "warth-weiningen.ch" + ], + "redirect": [], + "wikidata": [ + "warth-weiningen.ch" + ], + "guess": [ + "warth-weiningen.ch" + ] + }, + "flags": [] + }, + "4641": { + "bfs": "4641", + "name": "Altnau", + "canton": "Kanton Thurgau", + "domain": "altnau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altnau.ch" + ], + "redirect": [], + "wikidata": [ + "altnau.ch" + ], + "guess": [ + "altnau.ch" + ] + }, + "flags": [] + }, + "4643": { + "bfs": "4643", + "name": "Bottighofen", + "canton": "Kanton Thurgau", + "domain": "bottighofen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bottighofen.ch" + ], + "redirect": [], + "wikidata": [ + "bottighofen.ch" + ], + "guess": [ + "bottighofen.ch" + ] + }, + "flags": [] + }, + "4646": { + "bfs": "4646", + "name": "Ermatingen", + "canton": "Kanton Thurgau", + "domain": "ermatingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ermatingen.ch" + ], + "redirect": [], + "wikidata": [ + "ermatingen.ch" + ], + "guess": [ + "ermatingen.ch" + ] + }, + "flags": [] + }, + "4651": { + "bfs": "4651", + "name": "Gottlieben", + "canton": "Kanton Thurgau", + "domain": "gottlieben.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gottlieben.ch" + ], + "redirect": [], + "wikidata": [ + "gottlieben.ch" + ], + "guess": [ + "gottlieben.ch" + ] + }, + "flags": [] + }, + "4656": { + "bfs": "4656", + "name": "Güttingen", + "canton": "Kanton Thurgau", + "domain": "guettingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "guettingen.ch" + ], + "redirect": [], + "wikidata": [ + "guettingen.ch" + ], + "guess": [ + "guettingen.ch" + ] + }, + "flags": [] + }, + "4666": { + "bfs": "4666", + "name": "Kemmental", + "canton": "Kanton Thurgau", + "domain": "kemmental.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kemmental.ch" + ], + "redirect": [], + "wikidata": [ + "kemmental.ch" + ], + "guess": [ + "kemmental.ch" + ] + }, + "flags": [] + }, + "4671": { + "bfs": "4671", + "name": "Kreuzlingen", + "canton": "Kanton Thurgau", + "domain": "kreuzlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "kreuzlingen.ch" + ], + "redirect": [], + "wikidata": [ + "kreuzlingen.ch" + ], + "guess": [ + "kreuzlingen.ch", + "stadt-kreuzlingen.ch" + ] + }, + "flags": [] + }, + "4681": { + "bfs": "4681", + "name": "Langrickenbach", + "canton": "Kanton Thurgau", + "domain": "langrickenbach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "langrickenbach.ch" + ], + "redirect": [], + "wikidata": [ + "langrickenbach.ch" + ], + "guess": [ + "langrickenbach.ch" + ] + }, + "flags": [] + }, + "4683": { + "bfs": "4683", + "name": "Lengwil", + "canton": "Kanton Thurgau", + "domain": "lengwil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lengwil.ch" + ], + "redirect": [], + "wikidata": [ + "lengwil.ch" + ], + "guess": [ + "lengwil.ch" + ] + }, + "flags": [] + }, + "4691": { + "bfs": "4691", + "name": "Münsterlingen", + "canton": "Kanton Thurgau", + "domain": "muensterlingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muensterlingen.ch" + ], + "redirect": [], + "wikidata": [ + "muensterlingen.ch" + ], + "guess": [ + "muensterlingen.ch" + ] + }, + "flags": [] + }, + "4696": { + "bfs": "4696", + "name": "Tägerwilen", + "canton": "Kanton Thurgau", + "domain": "taegerwilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "taegerwilen.ch" + ], + "redirect": [], + "wikidata": [ + "taegerwilen.ch" + ], + "guess": [ + "taegerwilen.ch" + ] + }, + "flags": [] + }, + "4701": { + "bfs": "4701", + "name": "Wäldi", + "canton": "Kanton Thurgau", + "domain": "waeldi.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "waeldi.ch" + ], + "redirect": [], + "wikidata": [ + "waeldi.ch" + ], + "guess": [ + "waeldi.ch" + ] + }, + "flags": [] + }, + "4711": { + "bfs": "4711", + "name": "Affeltrangen", + "canton": "Kanton Thurgau", + "domain": "affeltrangen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "affeltrangen.ch" + ], + "redirect": [], + "wikidata": [ + "affeltrangen.ch" + ], + "guess": [ + "affeltrangen.ch" + ] + }, + "flags": [] + }, + "4716": { + "bfs": "4716", + "name": "Bettwiesen", + "canton": "Kanton Thurgau", + "domain": "bettwiesen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bettwiesen.ch" + ], + "guess": [ + "bettwiesen.ch" + ] + }, + "flags": [] + }, + "4721": { + "bfs": "4721", + "name": "Bichelsee-Balterswil", + "canton": "Kanton Thurgau", + "domain": "bichelsee-balterswil.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bichelsee-balterswil.ch" + ], + "redirect": [], + "wikidata": [ + "bichelsee-balterswil.ch" + ], + "guess": [ + "bichelsee-balterswil.ch" + ] + }, + "flags": [] + }, + "4723": { + "bfs": "4723", + "name": "Braunau", + "canton": "Kanton Thurgau", + "domain": "braunau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "braunau.ch" + ], + "redirect": [], + "wikidata": [ + "braunau.ch" + ], + "guess": [ + "braunau.ch" + ] + }, + "flags": [] + }, + "4724": { + "bfs": "4724", + "name": "Eschlikon", + "canton": "Kanton Thurgau", + "domain": "eschlikon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eschlikon.ch" + ], + "guess": [ + "eschlikon.ch" + ] + }, + "flags": [] + }, + "4726": { + "bfs": "4726", + "name": "Fischingen", + "canton": "Kanton Thurgau", + "domain": "fischingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fischingen.ch" + ], + "guess": [ + "fischingen.ch" + ] + }, + "flags": [] + }, + "4741": { + "bfs": "4741", + "name": "Lommis", + "canton": "Kanton Thurgau", + "domain": "lommis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lommis.ch" + ], + "redirect": [], + "wikidata": [ + "lommis.ch" + ], + "guess": [ + "lommis.ch" + ] + }, + "flags": [] + }, + "4746": { + "bfs": "4746", + "name": "Münchwilen (TG)", + "canton": "Kanton Thurgau", + "domain": "muenchwilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muenchwilen.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "muenchwilen.ch" + ] + }, + "flags": [] + }, + "4751": { + "bfs": "4751", + "name": "Rickenbach (TG)", + "canton": "Kanton Thurgau", + "domain": "rickenbach-tg.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rickenbach-tg.ch" + ], + "guess": [ + "rickenbach.ch" + ] + }, + "flags": [] + }, + "4756": { + "bfs": "4756", + "name": "Schönholzerswilen", + "canton": "Kanton Thurgau", + "domain": "schoenholzerswilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "schoenholzerswilen.ch" + ], + "redirect": [], + "wikidata": [ + "schoenholzerswilen.ch" + ], + "guess": [ + "schoenholzerswilen.ch" + ] + }, + "flags": [] + }, + "4761": { + "bfs": "4761", + "name": "Sirnach", + "canton": "Kanton Thurgau", + "domain": "sirnach.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sirnach.ch" + ], + "redirect": [], + "wikidata": [ + "sirnach.ch" + ], + "guess": [ + "sirnach.ch" + ] + }, + "flags": [] + }, + "4776": { + "bfs": "4776", + "name": "Tobel-Tägerschen", + "canton": "Kanton Thurgau", + "domain": "tobel-taegerschen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "tobel-taegerschen.ch" + ], + "guess": [ + "tobel-taegerschen.ch" + ] + }, + "flags": [] + }, + "4781": { + "bfs": "4781", + "name": "Wängi", + "canton": "Kanton Thurgau", + "domain": "waengi.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "waengi.ch" + ], + "guess": [ + "waengi.ch" + ] + }, + "flags": [] + }, + "4786": { + "bfs": "4786", + "name": "Wilen (TG)", + "canton": "Kanton Thurgau", + "domain": "wilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wilen.ch" + ], + "redirect": [], + "wikidata": [ + "wilen.ch" + ], + "guess": [ + "wilen.ch" + ] + }, + "flags": [] + }, + "4791": { + "bfs": "4791", + "name": "Wuppenau", + "canton": "Kanton Thurgau", + "domain": "wuppenau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wuppenau.ch" + ], + "redirect": [], + "wikidata": [ + "wuppenau.ch" + ], + "guess": [ + "wuppenau.ch" + ] + }, + "flags": [] + }, + "4801": { + "bfs": "4801", + "name": "Berlingen", + "canton": "Kanton Thurgau", + "domain": "berlingen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "berlingen.ch" + ], + "guess": [ + "berlingen.ch" + ] + }, + "flags": [] + }, + "4806": { + "bfs": "4806", + "name": "Eschenz", + "canton": "Kanton Thurgau", + "domain": "eschenz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eschenz.ch" + ], + "redirect": [], + "wikidata": [ + "eschenz.ch" + ], + "guess": [ + "eschenz.ch" + ] + }, + "flags": [] + }, + "4811": { + "bfs": "4811", + "name": "Herdern", + "canton": "Kanton Thurgau", + "domain": "herdern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "herdern.ch" + ], + "redirect": [], + "wikidata": [ + "herdern.ch" + ], + "guess": [ + "herdern.ch" + ] + }, + "flags": [] + }, + "4816": { + "bfs": "4816", + "name": "Homburg", + "canton": "Kanton Thurgau", + "domain": "homburg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "homburg.ch" + ], + "redirect": [], + "wikidata": [ + "homburg.ch" + ], + "guess": [ + "homburg.ch" + ] + }, + "flags": [] + }, + "4821": { + "bfs": "4821", + "name": "Hüttwilen", + "canton": "Kanton Thurgau", + "domain": "huettwilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "huettwilen.ch" + ], + "redirect": [], + "wikidata": [ + "huettwilen.ch" + ], + "guess": [ + "huettwilen.ch" + ] + }, + "flags": [] + }, + "4826": { + "bfs": "4826", + "name": "Mammern", + "canton": "Kanton Thurgau", + "domain": "mammern.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mammern.ch" + ], + "redirect": [], + "wikidata": [ + "mammern.ch" + ], + "guess": [ + "mammern.ch" + ] + }, + "flags": [] + }, + "4831": { + "bfs": "4831", + "name": "Müllheim", + "canton": "Kanton Thurgau", + "domain": "muellheim.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "muellheim.ch" + ], + "guess": [ + "muellheim.ch" + ] + }, + "flags": [] + }, + "4841": { + "bfs": "4841", + "name": "Pfyn", + "canton": "Kanton Thurgau", + "domain": "pfyn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pfyn.ch" + ], + "redirect": [], + "wikidata": [ + "pfyn.ch" + ], + "guess": [ + "pfyn.ch" + ] + }, + "flags": [] + }, + "4846": { + "bfs": "4846", + "name": "Raperswilen", + "canton": "Kanton Thurgau", + "domain": "raperswilen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "raperswilen.ch" + ], + "redirect": [], + "wikidata": [ + "raperswilen.ch" + ], + "guess": [ + "raperswilen.ch" + ] + }, + "flags": [] + }, + "4851": { + "bfs": "4851", + "name": "Salenstein", + "canton": "Kanton Thurgau", + "domain": "salenstein.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "salenstein.ch" + ], + "redirect": [], + "wikidata": [ + "salenstein.ch" + ], + "guess": [ + "salenstein.ch" + ] + }, + "flags": [] + }, + "4864": { + "bfs": "4864", + "name": "Steckborn", + "canton": "Kanton Thurgau", + "domain": "steckborn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "steckborn.ch" + ], + "redirect": [], + "wikidata": [ + "steckborn.ch" + ], + "guess": [ + "steckborn.ch" + ] + }, + "flags": [] + }, + "4871": { + "bfs": "4871", + "name": "Wagenhausen", + "canton": "Kanton Thurgau", + "domain": "wagenhausen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wagenhausen.ch" + ], + "redirect": [], + "wikidata": [ + "wagenhausen.ch" + ], + "guess": [ + "wagenhausen.ch" + ] + }, + "flags": [] + }, + "4881": { + "bfs": "4881", + "name": "Amlikon-Bissegg", + "canton": "Kanton Thurgau", + "domain": "amlikon-bissegg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "amlikon-bissegg.ch" + ], + "redirect": [], + "wikidata": [ + "amlikon-bissegg.ch" + ], + "guess": [ + "amlikon-bissegg.ch" + ] + }, + "flags": [] + }, + "4891": { + "bfs": "4891", + "name": "Berg (TG)", + "canton": "Kanton Thurgau", + "domain": "berg-tg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "143.ch", + "alz.ch", + "atlantis-kita-hort.ch", + "azweinfelden.ch", + "babysits.ch", + "bbm-tg.ch", + "berg-tg.ch", + "bergerzentrum.ch", + "bruennliacker.ch", + "christ-in-us.org", + "eg-kehlhof.ch", + "evang-berg.ch", + "familien-zentrum.ch", + "familienplattform-ostschweiz.ch", + "forstrevier-mittelthurgau.ch", + "grunliberale.ch", + "hpsm.ch", + "kabag.ch", + "kath-berg.ch", + "kinderkrippe-calimero.ch", + "koibw.ch", + "kulturpool-mittelthurgau.ch", + "kvatg.ch", + "ludo-buerglen.ch", + "lungenliga-tg.ch", + "mzdberg.ch", + "nrpag.ch", + "perspektive-tg.ch", + "post.ch", + "projuventute-sh-tg.ch", + "raiffeisen.ch", + "regiobiblio-weinfelden.ch", + "rheumaliga.ch", + "scberg.ch", + "selbsthilfe-tg.ch", + "spielchischte.net", + "spitex-mittelthurgau.ch", + "stgag.ch", + "tageo.ch", + "tagesfamilien-motg.ch", + "tbweinfelden.ch", + "tcberg.ch", + "tertianum.ch", + "tg.ch", + "tg.prosenectute.ch", + "thalmannbestattungsdienste.ch", + "vsbb.ch", + "weinfelden.ch" + ], + "redirect": [], + "wikidata": [ + "berg-tg.ch" + ], + "guess": [ + "berg.ch", + "gemeinde-berg.ch" + ] + }, + "flags": [] + }, + "4901": { + "bfs": "4901", + "name": "Birwinken", + "canton": "Kanton Thurgau", + "domain": "birwinken.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "birwinken.ch" + ], + "redirect": [], + "wikidata": [ + "birwinken.ch" + ], + "guess": [ + "birwinken.ch" + ] + }, + "flags": [] + }, + "4911": { + "bfs": "4911", + "name": "Bürglen (TG)", + "canton": "Kanton Thurgau", + "domain": "buerglen-tg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buerglen-tg.ch" + ], + "redirect": [], + "wikidata": [ + "buerglen-tg.ch" + ], + "guess": [ + "buerglen.ch" + ] + }, + "flags": [] + }, + "4921": { + "bfs": "4921", + "name": "Bussnang", + "canton": "Kanton Thurgau", + "domain": "bussnang.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bussnang.ch" + ], + "redirect": [], + "wikidata": [ + "bussnang.ch" + ], + "guess": [ + "bussnang.ch" + ] + }, + "flags": [] + }, + "4941": { + "bfs": "4941", + "name": "Märstetten", + "canton": "Kanton Thurgau", + "domain": "maerstetten.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maerstetten.ch" + ], + "redirect": [], + "wikidata": [ + "maerstetten.ch" + ], + "guess": [ + "maerstetten.ch", + "mrstetten.ch" + ] + }, + "flags": [] + }, + "4946": { + "bfs": "4946", + "name": "Weinfelden", + "canton": "Kanton Thurgau", + "domain": "weinfelden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "weinfelden.ch" + ], + "guess": [ + "weinfelden.ch" + ] + }, + "flags": [] + }, + "4951": { + "bfs": "4951", + "name": "Wigoltingen", + "canton": "Kanton Thurgau", + "domain": "wigoltingen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "wigoltingen.ch" + ], + "redirect": [], + "wikidata": [ + "wigoltingen.ch" + ], + "guess": [ + "wigoltingen.ch" + ] + }, + "flags": [] + }, + "5001": { + "bfs": "5001", + "name": "Arbedo-Castione", + "canton": "Kanton Tessin", + "domain": "arbedocastione.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arbedocastione.ch" + ], + "redirect": [], + "wikidata": [ + "arbedocastione.ch" + ], + "guess": [ + "arbedocastione.ch" + ] + }, + "flags": [] + }, + "5002": { + "bfs": "5002", + "name": "Bellinzona", + "canton": "Kanton Tessin", + "domain": "bellinzona.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bellinzona.ch" + ], + "guess": [ + "bellinzona.ch" + ] + }, + "flags": [] + }, + "5003": { + "bfs": "5003", + "name": "Cadenazzo", + "canton": "Kanton Tessin", + "domain": "cadenazzo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cadenazzo.ch" + ], + "redirect": [], + "wikidata": [ + "cadenazzo.ch" + ], + "guess": [ + "cadenazzo.ch" + ] + }, + "flags": [] + }, + "5009": { + "bfs": "5009", + "name": "Isone", + "canton": "Kanton Tessin", + "domain": "isone.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "edu.ti.ch", + "isone.ch", + "isuav.ch" + ], + "redirect": [], + "wikidata": [ + "isone.ch" + ], + "guess": [ + "isone.ch" + ] + }, + "flags": [] + }, + "5010": { + "bfs": "5010", + "name": "Lumino", + "canton": "Kanton Tessin", + "domain": "lumino.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lumino.ch" + ], + "redirect": [], + "wikidata": [ + "lumino.ch" + ], + "guess": [ + "lumino.ch" + ] + }, + "flags": [] + }, + "5017": { + "bfs": "5017", + "name": "Sant'Antonino", + "canton": "Kanton Tessin", + "domain": "santonino.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "santonino.ch" + ], + "redirect": [], + "wikidata": [ + "santonino.ch" + ], + "guess": [ + "santantonino.ch" + ] + }, + "flags": [] + }, + "5048": { + "bfs": "5048", + "name": "Acquarossa", + "canton": "Kanton Tessin", + "domain": "acquarossa.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "acquarossa.ch" + ], + "redirect": [], + "wikidata": [ + "acquarossa.ch" + ], + "guess": [ + "acquarossa.ch" + ] + }, + "flags": [] + }, + "5049": { + "bfs": "5049", + "name": "Blenio", + "canton": "Kanton Tessin", + "domain": "comuneblenio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "comuneblenio.ch" + ], + "redirect": [], + "wikidata": [ + "comuneblenio.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5050": { + "bfs": "5050", + "name": "Serravalle", + "canton": "Kanton Tessin", + "domain": "serravalle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "distrettoblenio.ch", + "serravalle.ch" + ], + "redirect": [], + "wikidata": [ + "serravalle.ch" + ], + "guess": [ + "serravalle.ch" + ] + }, + "flags": [] + }, + "5061": { + "bfs": "5061", + "name": "Airolo", + "canton": "Kanton Tessin", + "domain": "airolo.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "airolo.ch" + ], + "redirect": [], + "wikidata": [ + "comuneairolo.ch" + ], + "guess": [ + "airolo.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "5063": { + "bfs": "5063", + "name": "Bedretto", + "canton": "Kanton Tessin", + "domain": "bedretto.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bedretto.ch" + ], + "redirect": [], + "wikidata": [ + "bedretto.ch" + ], + "guess": [ + "bedretto.ch" + ] + }, + "flags": [] + }, + "5071": { + "bfs": "5071", + "name": "Dalpe", + "canton": "Kanton Tessin", + "domain": "dalpe.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "dalpe.ch" + ], + "guess": [ + "dalpe.ch" + ] + }, + "flags": [] + }, + "5072": { + "bfs": "5072", + "name": "Faido", + "canton": "Kanton Tessin", + "domain": "faido.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "faido.ch" + ], + "guess": [ + "faido.ch" + ] + }, + "flags": [] + }, + "5073": { + "bfs": "5073", + "name": "Giornico", + "canton": "Kanton Tessin", + "domain": "giornico.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "giornico.ch" + ], + "redirect": [], + "wikidata": [ + "giornico.ch" + ], + "guess": [ + "giornico.ch" + ] + }, + "flags": [] + }, + "5076": { + "bfs": "5076", + "name": "Personico", + "canton": "Kanton Tessin", + "domain": "personico.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "personico.ch" + ], + "redirect": [], + "wikidata": [ + "personico.ch" + ], + "guess": [ + "personico.ch" + ] + }, + "flags": [] + }, + "5077": { + "bfs": "5077", + "name": "Pollegio", + "canton": "Kanton Tessin", + "domain": "pollegio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pollegio.ch" + ], + "redirect": [], + "wikidata": [ + "pollegio.ch" + ], + "guess": [ + "pollegio.ch" + ] + }, + "flags": [] + }, + "5079": { + "bfs": "5079", + "name": "Quinto", + "canton": "Kanton Tessin", + "domain": "tiquinto.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tiquinto.ch" + ], + "redirect": [], + "wikidata": [ + "tiquinto.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5091": { + "bfs": "5091", + "name": "Ascona", + "canton": "Kanton Tessin", + "domain": "ascona.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ascona.ch" + ], + "redirect": [], + "wikidata": [ + "ascona.ch" + ], + "guess": [ + "ascona.ch" + ] + }, + "flags": [] + }, + "5096": { + "bfs": "5096", + "name": "Brione sopra Minusio", + "canton": "Kanton Tessin", + "domain": "brione.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brione.ch" + ], + "redirect": [], + "wikidata": [ + "brione.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5097": { + "bfs": "5097", + "name": "Brissago", + "canton": "Kanton Tessin", + "domain": "brissago.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brissago.ch" + ], + "redirect": [], + "wikidata": [ + "brissago.ch" + ], + "guess": [ + "brissago.ch" + ] + }, + "flags": [] + }, + "5108": { + "bfs": "5108", + "name": "Gordola", + "canton": "Kanton Tessin", + "domain": "gordola.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gordola.ch" + ], + "redirect": [], + "wikidata": [ + "gordola.ch" + ], + "guess": [ + "gordola.ch" + ] + }, + "flags": [] + }, + "5112": { + "bfs": "5112", + "name": "Lavertezzo", + "canton": "Kanton Tessin", + "domain": "lavertezzo.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lavertezzo.ch" + ], + "guess": [ + "lavertezzo.ch" + ] + }, + "flags": [] + }, + "5113": { + "bfs": "5113", + "name": "Locarno", + "canton": "Kanton Tessin", + "domain": "locarno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "locarno.ch" + ], + "redirect": [], + "wikidata": [ + "locarno.ch" + ], + "guess": [ + "locarno.ch", + "stadt-locarno.ch" + ] + }, + "flags": [] + }, + "5115": { + "bfs": "5115", + "name": "Losone", + "canton": "Kanton Tessin", + "domain": "losone.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "losone.ch" + ], + "redirect": [], + "wikidata": [ + "losone.ch" + ], + "guess": [ + "losone.ch" + ] + }, + "flags": [] + }, + "5117": { + "bfs": "5117", + "name": "Mergoscia", + "canton": "Kanton Tessin", + "domain": "mergoscia.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mergoscia.ch" + ], + "guess": [ + "mergoscia.ch" + ] + }, + "flags": [] + }, + "5118": { + "bfs": "5118", + "name": "Minusio", + "canton": "Kanton Tessin", + "domain": "minusio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "minusio.ch" + ], + "redirect": [], + "wikidata": [ + "minusio.ch" + ], + "guess": [ + "minusio.ch" + ] + }, + "flags": [] + }, + "5120": { + "bfs": "5120", + "name": "Muralto", + "canton": "Kanton Tessin", + "domain": "muralto.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muralto.ch" + ], + "redirect": [], + "wikidata": [ + "muralto.ch" + ], + "guess": [ + "muralto.ch" + ] + }, + "flags": [] + }, + "5121": { + "bfs": "5121", + "name": "Orselina", + "canton": "Kanton Tessin", + "domain": "orselina.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brione.ch", + "orselina.ch" + ], + "redirect": [], + "wikidata": [ + "orselina.ch" + ], + "guess": [ + "orselina.ch" + ] + }, + "flags": [] + }, + "5125": { + "bfs": "5125", + "name": "Ronco sopra Ascona", + "canton": "Kanton Tessin", + "domain": "ronco-s-ascona.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ronco-s-ascona.ch" + ], + "redirect": [], + "wikidata": [ + "ronco-s-ascona.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5131": { + "bfs": "5131", + "name": "Tenero-Contra", + "canton": "Kanton Tessin", + "domain": "tenero-contra.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tenero-contra.ch" + ], + "redirect": [], + "wikidata": [ + "tenero-contra.ch" + ], + "guess": [ + "tenero-contra.ch" + ] + }, + "flags": [] + }, + "5136": { + "bfs": "5136", + "name": "Onsernone", + "canton": "Kanton Tessin", + "domain": "onsernone.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "locarnese.ch", + "onsernone.swiss", + "ti.ch" + ], + "redirect": [], + "wikidata": [ + "onsernone.swiss" + ], + "guess": [ + "onsernone.ch" + ] + }, + "flags": [] + }, + "5138": { + "bfs": "5138", + "name": "Cugnasco-Gerra", + "canton": "Kanton Tessin", + "domain": "cugnasco-gerra.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cugnasco-gerra.ch" + ], + "redirect": [], + "wikidata": [ + "cugnasco-gerra.ch" + ], + "guess": [ + "cugnasco-gerra.ch", + "cugnascogerra.ch" + ] + }, + "flags": [] + }, + "5141": { + "bfs": "5141", + "name": "Agno", + "canton": "Kanton Tessin", + "domain": "agno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "agno.ch" + ], + "redirect": [], + "wikidata": [ + "agno.ch" + ], + "guess": [ + "agno.ch" + ] + }, + "flags": [] + }, + "5143": { + "bfs": "5143", + "name": "Aranno", + "canton": "Kanton Tessin", + "domain": "aranno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aranno.ch" + ], + "redirect": [], + "wikidata": [ + "aranno.ch" + ], + "guess": [ + "aranno.ch" + ] + }, + "flags": [] + }, + "5144": { + "bfs": "5144", + "name": "Arogno", + "canton": "Kanton Tessin", + "domain": "arogno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arogno.ch" + ], + "redirect": [], + "wikidata": [ + "arogno.ch" + ], + "guess": [ + "arogno.ch" + ] + }, + "flags": [] + }, + "5148": { + "bfs": "5148", + "name": "Bedano", + "canton": "Kanton Tessin", + "domain": "bedano.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bedano.ch" + ], + "redirect": [], + "wikidata": [ + "bedano.ch" + ], + "guess": [ + "bedano.ch" + ] + }, + "flags": [] + }, + "5151": { + "bfs": "5151", + "name": "Bioggio", + "canton": "Kanton Tessin", + "domain": "bioggio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bioggio.ch" + ], + "redirect": [], + "wikidata": [ + "bioggio.ch" + ], + "guess": [ + "bioggio.ch" + ] + }, + "flags": [] + }, + "5154": { + "bfs": "5154", + "name": "Bissone", + "canton": "Kanton Tessin", + "domain": "bissone.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bissone.ch" + ], + "redirect": [], + "wikidata": [ + "bissone.ch" + ], + "guess": [ + "bissone.ch" + ] + }, + "flags": [] + }, + "5160": { + "bfs": "5160", + "name": "Brusino Arsizio", + "canton": "Kanton Tessin", + "domain": "brusinoarsizio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "brusinoarsizio.ch" + ], + "redirect": [], + "wikidata": [ + "brusinoarsizio.ch" + ], + "guess": [ + "brusinoarsizio.ch" + ] + }, + "flags": [] + }, + "5161": { + "bfs": "5161", + "name": "Cademario", + "canton": "Kanton Tessin", + "domain": "cademario.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cademario.ch" + ], + "redirect": [], + "wikidata": [ + "cademario.ch" + ], + "guess": [ + "cademario.ch" + ] + }, + "flags": [] + }, + "5162": { + "bfs": "5162", + "name": "Cadempino", + "canton": "Kanton Tessin", + "domain": "cadempino.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cadempino.ch" + ], + "redirect": [], + "wikidata": [ + "cadempino.ch" + ], + "guess": [ + "cadempino.ch" + ] + }, + "flags": [] + }, + "5167": { + "bfs": "5167", + "name": "Canobbio", + "canton": "Kanton Tessin", + "domain": "canobbio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "canobbio.ch" + ], + "redirect": [], + "wikidata": [ + "canobbio.ch" + ], + "guess": [ + "canobbio.ch" + ] + }, + "flags": [] + }, + "5171": { + "bfs": "5171", + "name": "Caslano", + "canton": "Kanton Tessin", + "domain": "caslano.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "caslano.ch" + ], + "redirect": [], + "wikidata": [ + "caslano.ch" + ], + "guess": [ + "caslano.ch" + ] + }, + "flags": [] + }, + "5176": { + "bfs": "5176", + "name": "Comano", + "canton": "Kanton Tessin", + "domain": "comano.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "comano.ch" + ], + "redirect": [], + "wikidata": [ + "comano.ch" + ], + "guess": [ + "comano.ch" + ] + }, + "flags": [] + }, + "5180": { + "bfs": "5180", + "name": "Cureglia", + "canton": "Kanton Tessin", + "domain": "cureglia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cureglia.ch", + "poliziaredde.ch" + ], + "redirect": [], + "wikidata": [ + "cureglia.ch" + ], + "guess": [ + "cureglia.ch" + ] + }, + "flags": [] + }, + "5186": { + "bfs": "5186", + "name": "Grancia", + "canton": "Kanton Tessin", + "domain": "grancia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grancia.ch" + ], + "redirect": [], + "wikidata": [ + "grancia.ch" + ], + "guess": [ + "grancia.ch" + ] + }, + "flags": [] + }, + "5187": { + "bfs": "5187", + "name": "Gravesano", + "canton": "Kanton Tessin", + "domain": "gravesano.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gravesano.ch" + ], + "redirect": [], + "wikidata": [ + "gravesano.ch" + ], + "guess": [ + "gravesano.ch" + ] + }, + "flags": [] + }, + "5189": { + "bfs": "5189", + "name": "Lamone", + "canton": "Kanton Tessin", + "domain": "lamone.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lamone.ch" + ], + "guess": [ + "lamone.ch" + ] + }, + "flags": [] + }, + "5192": { + "bfs": "5192", + "name": "Lugano", + "canton": "Kanton Tessin", + "domain": "lugano.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lugano.ch" + ], + "guess": [ + "lugano.ch", + "stadt-lugano.ch" + ] + }, + "flags": [] + }, + "5193": { + "bfs": "5193", + "name": "Magliaso", + "canton": "Kanton Tessin", + "domain": "magliaso.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "magliaso.ch" + ], + "redirect": [], + "wikidata": [ + "magliaso.ch" + ], + "guess": [ + "magliaso.ch" + ] + }, + "flags": [] + }, + "5194": { + "bfs": "5194", + "name": "Manno", + "canton": "Kanton Tessin", + "domain": "manno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "manno.ch" + ], + "redirect": [], + "wikidata": [ + "manno.ch" + ], + "guess": [ + "manno.ch" + ] + }, + "flags": [] + }, + "5196": { + "bfs": "5196", + "name": "Massagno", + "canton": "Kanton Tessin", + "domain": "massagno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "massagno.ch" + ], + "redirect": [], + "wikidata": [ + "massagno.ch" + ], + "guess": [ + "massagno.ch" + ] + }, + "flags": [] + }, + "5198": { + "bfs": "5198", + "name": "Melide", + "canton": "Kanton Tessin", + "domain": "melide.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "melide.ch" + ], + "guess": [ + "melide.ch" + ] + }, + "flags": [] + }, + "5199": { + "bfs": "5199", + "name": "Mezzovico-Vira", + "canton": "Kanton Tessin", + "domain": "mezzovico-vira.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mezzovico-vira.ch" + ], + "redirect": [], + "wikidata": [ + "mezzovico-vira.ch" + ], + "guess": [ + "mezzovico-vira.ch" + ] + }, + "flags": [] + }, + "5203": { + "bfs": "5203", + "name": "Morcote", + "canton": "Kanton Tessin", + "domain": "morcote.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "morcote.ch" + ], + "guess": [ + "morcote.ch" + ] + }, + "flags": [] + }, + "5205": { + "bfs": "5205", + "name": "Muzzano", + "canton": "Kanton Tessin", + "domain": "muzzano.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muzzano.ch" + ], + "redirect": [], + "wikidata": [ + "muzzano.ch" + ], + "guess": [ + "muzzano.ch" + ] + }, + "flags": [] + }, + "5206": { + "bfs": "5206", + "name": "Neggio", + "canton": "Kanton Tessin", + "domain": "neggio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "neggio.ch" + ], + "redirect": [], + "wikidata": [ + "neggio.ch" + ], + "guess": [ + "neggio.ch" + ] + }, + "flags": [] + }, + "5208": { + "bfs": "5208", + "name": "Origlio", + "canton": "Kanton Tessin", + "domain": "origlio.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "origlio.ch" + ], + "guess": [ + "origlio.ch" + ] + }, + "flags": [] + }, + "5210": { + "bfs": "5210", + "name": "Paradiso", + "canton": "Kanton Tessin", + "domain": "paradiso.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "paradiso.ch" + ], + "redirect": [], + "wikidata": [ + "paradiso.ch" + ], + "guess": [ + "paradiso.ch" + ] + }, + "flags": [] + }, + "5212": { + "bfs": "5212", + "name": "Ponte Capriasca", + "canton": "Kanton Tessin", + "domain": "pontecapriasca.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pontecapriasca.ch" + ], + "redirect": [], + "wikidata": [ + "pontecapriasca.ch" + ], + "guess": [ + "pontecapriasca.ch" + ] + }, + "flags": [] + }, + "5214": { + "bfs": "5214", + "name": "Porza", + "canton": "Kanton Tessin", + "domain": "porza.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "porza.ch" + ] + }, + "flags": [] + }, + "5216": { + "bfs": "5216", + "name": "Pura", + "canton": "Kanton Tessin", + "domain": "pura.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pura.ch" + ], + "redirect": [], + "wikidata": [ + "pura.ch" + ], + "guess": [ + "pura.ch" + ] + }, + "flags": [] + }, + "5221": { + "bfs": "5221", + "name": "Savosa", + "canton": "Kanton Tessin", + "domain": "savosa.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "savosa.ch" + ], + "redirect": [], + "wikidata": [ + "savosa.ch" + ], + "guess": [ + "savosa.ch" + ] + }, + "flags": [] + }, + "5225": { + "bfs": "5225", + "name": "Sorengo", + "canton": "Kanton Tessin", + "domain": "sorengo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sorengo.ch" + ], + "redirect": [], + "wikidata": [ + "sorengo.ch" + ], + "guess": [ + "sorengo.ch" + ] + }, + "flags": [] + }, + "5226": { + "bfs": "5226", + "name": "Capriasca", + "canton": "Kanton Tessin", + "domain": "capriasca.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "capriasca.ch" + ], + "guess": [ + "capriasca.ch" + ] + }, + "flags": [] + }, + "5227": { + "bfs": "5227", + "name": "Torricella-Taverne", + "canton": "Kanton Tessin", + "domain": "torricella-taverne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "edu.ti.ch", + "torricella-taverne.ch" + ], + "redirect": [], + "wikidata": [ + "torricella-taverne.ch" + ], + "guess": [ + "torricella-taverne.ch" + ] + }, + "flags": [] + }, + "5230": { + "bfs": "5230", + "name": "Vernate", + "canton": "Kanton Tessin", + "domain": "vernate.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vernate.ch" + ], + "guess": [ + "vernate.ch" + ] + }, + "flags": [] + }, + "5231": { + "bfs": "5231", + "name": "Vezia", + "canton": "Kanton Tessin", + "domain": "vezia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vezia.ch" + ], + "redirect": [], + "wikidata": [ + "vezia.ch" + ], + "guess": [ + "vezia.ch" + ] + }, + "flags": [] + }, + "5233": { + "bfs": "5233", + "name": "Vico Morcote", + "canton": "Kanton Tessin", + "domain": "vicomorcote.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vicomorcote.ch" + ], + "redirect": [], + "wikidata": [ + "vicomorcote.ch" + ], + "guess": [ + "vicomorcote.ch" + ] + }, + "flags": [] + }, + "5236": { + "bfs": "5236", + "name": "Collina d'Oro", + "canton": "Kanton Tessin", + "domain": "collinadoro.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "collinadoro.swiss", + "poliziaceresiosud.ch" + ], + "redirect": [], + "wikidata": [ + "collinadoro.swiss" + ], + "guess": [ + "collinadoro.ch" + ] + }, + "flags": [] + }, + "5237": { + "bfs": "5237", + "name": "Alto Malcantone", + "canton": "Kanton Tessin", + "domain": "altomalcantone.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "altomalcantone.ch" + ], + "redirect": [], + "wikidata": [ + "altomalcantone.ch" + ], + "guess": [ + "altomalcantone.ch" + ] + }, + "flags": [] + }, + "5238": { + "bfs": "5238", + "name": "Monteceneri", + "canton": "Kanton Tessin", + "domain": "monteceneri.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "monteceneri.ch" + ], + "redirect": [], + "wikidata": [ + "monteceneri.ch" + ], + "guess": [ + "monteceneri.ch" + ] + }, + "flags": [] + }, + "5239": { + "bfs": "5239", + "name": "Tresa", + "canton": "Kanton Tessin", + "domain": "tresa.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tresa.ch" + ], + "redirect": [], + "wikidata": [ + "tresa.ch" + ], + "guess": [ + "tresa.ch" + ] + }, + "flags": [] + }, + "5240": { + "bfs": "5240", + "name": "Val Mara", + "canton": "Kanton Tessin", + "domain": "valmara.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "valmara.ch" + ], + "redirect": [], + "wikidata": [ + "valmara.ch" + ], + "guess": [ + "valmara.ch" + ] + }, + "flags": [] + }, + "5242": { + "bfs": "5242", + "name": "Balerna", + "canton": "Kanton Tessin", + "domain": "balerna.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "balerna.ch" + ], + "redirect": [], + "wikidata": [ + "balerna.ch" + ], + "guess": [ + "balerna.ch" + ] + }, + "flags": [] + }, + "5249": { + "bfs": "5249", + "name": "Castel San Pietro", + "canton": "Kanton Tessin", + "domain": "castelsanpietro.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "castelsanpietro.ch" + ], + "redirect": [], + "wikidata": [ + "castelsanpietro.ch" + ], + "guess": [ + "castelsanpietro.ch" + ] + }, + "flags": [] + }, + "5250": { + "bfs": "5250", + "name": "Chiasso", + "canton": "Kanton Tessin", + "domain": "chiasso.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chiasso.ch" + ], + "redirect": [], + "wikidata": [ + "chiasso.ch" + ], + "guess": [ + "chiasso.ch", + "stadt-chiasso.ch" + ] + }, + "flags": [] + }, + "5251": { + "bfs": "5251", + "name": "Coldrerio", + "canton": "Kanton Tessin", + "domain": "coldrerio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "coldrerio.ch" + ], + "redirect": [], + "wikidata": [ + "coldrerio.ch" + ], + "guess": [ + "coldrerio.ch" + ] + }, + "flags": [] + }, + "5254": { + "bfs": "5254", + "name": "Mendrisio", + "canton": "Kanton Tessin", + "domain": "mendrisio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mendrisio.ch" + ], + "redirect": [], + "wikidata": [ + "mendrisio.ch" + ], + "guess": [ + "mendrisio.ch" + ] + }, + "flags": [] + }, + "5257": { + "bfs": "5257", + "name": "Morbio Inferiore", + "canton": "Kanton Tessin", + "domain": "morbioinf.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "morbioinf.ch" + ], + "redirect": [], + "wikidata": [ + "morbioinf.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5260": { + "bfs": "5260", + "name": "Novazzano", + "canton": "Kanton Tessin", + "domain": "novazzano.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "novazzano.ch" + ], + "redirect": [], + "wikidata": [ + "novazzano.ch" + ], + "guess": [ + "novazzano.ch" + ] + }, + "flags": [] + }, + "5263": { + "bfs": "5263", + "name": "Riva San Vitale", + "canton": "Kanton Tessin", + "domain": "rivasanvitale.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rivasanvitale.ch" + ], + "redirect": [], + "wikidata": [ + "rivasanvitale.ch" + ], + "guess": [ + "rivasanvitale.ch" + ] + }, + "flags": [] + }, + "5266": { + "bfs": "5266", + "name": "Stabio", + "canton": "Kanton Tessin", + "domain": "stabio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "stabio.ch" + ], + "redirect": [], + "wikidata": [ + "stabio.ch" + ], + "guess": [ + "stabio.ch" + ] + }, + "flags": [] + }, + "5268": { + "bfs": "5268", + "name": "Vacallo", + "canton": "Kanton Tessin", + "domain": "vacallo.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vacallo.ch" + ], + "redirect": [], + "wikidata": [ + "vacallo.ch" + ], + "guess": [ + "vacallo.ch" + ] + }, + "flags": [] + }, + "5269": { + "bfs": "5269", + "name": "Breggia", + "canton": "Kanton Tessin", + "domain": "comunebreggia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "comunebreggia.ch" + ], + "redirect": [], + "wikidata": [ + "comunebreggia.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5281": { + "bfs": "5281", + "name": "Biasca", + "canton": "Kanton Tessin", + "domain": "biasca.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "biasca.ch" + ], + "redirect": [], + "wikidata": [ + "biasca.ch" + ], + "guess": [ + "biasca.ch" + ] + }, + "flags": [] + }, + "5287": { + "bfs": "5287", + "name": "Riviera", + "canton": "Kanton Tessin", + "domain": "comuneriviera.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "comuneriviera.ch" + ], + "redirect": [], + "wikidata": [ + "comuneriviera.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5304": { + "bfs": "5304", + "name": "Bosco/Gurin", + "canton": "Kanton Tessin", + "domain": "bosco-gurin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bosco-gurin.ch" + ], + "redirect": [], + "wikidata": [ + "bosco-gurin.ch" + ], + "guess": [ + "bosco-gurin.ch", + "bosco.ch" + ] + }, + "flags": [] + }, + "5307": { + "bfs": "5307", + "name": "Campo (Vallemaggia)", + "canton": "Kanton Tessin", + "domain": "campo-vallemaggia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "campo-vallemaggia.ch", + "ti.ch" + ], + "redirect": [], + "wikidata": [ + "campo-vallemaggia.ch" + ], + "guess": [ + "campo.ch" + ] + }, + "flags": [] + }, + "5309": { + "bfs": "5309", + "name": "Cerentino", + "canton": "Kanton Tessin", + "domain": "cerentino.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cerentino.ch", + "shindesign.ch" + ], + "redirect": [], + "wikidata": [ + "cerentino.ch" + ], + "guess": [ + "cerentino.ch" + ] + }, + "flags": [] + }, + "5310": { + "bfs": "5310", + "name": "Cevio", + "canton": "Kanton Tessin", + "domain": "cevio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cevio.ch" + ], + "redirect": [], + "wikidata": [ + "cevio.ch" + ], + "guess": [ + "cevio.ch" + ] + }, + "flags": [] + }, + "5315": { + "bfs": "5315", + "name": "Linescio", + "canton": "Kanton Tessin", + "domain": "linescio.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "linescio.ch" + ], + "guess": [ + "linescio.ch" + ] + }, + "flags": [] + }, + "5317": { + "bfs": "5317", + "name": "Maggia", + "canton": "Kanton Tessin", + "domain": "maggia.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maggia.ch" + ], + "redirect": [], + "wikidata": [ + "maggia.ch" + ], + "guess": [ + "maggia.ch" + ] + }, + "flags": [] + }, + "5323": { + "bfs": "5323", + "name": "Lavizzara", + "canton": "Kanton Tessin", + "domain": "lavizzara.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lavizzara.ch" + ], + "guess": [ + "lavizzara.ch" + ] + }, + "flags": [] + }, + "5324": { + "bfs": "5324", + "name": "Avegno Gordevio", + "canton": "Kanton Tessin", + "domain": "avegnogordevio.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "avegnogordevio.ch" + ], + "redirect": [], + "wikidata": [ + "avegnogordevio.ch" + ], + "guess": [ + "avegnogordevio.ch" + ] + }, + "flags": [] + }, + "5395": { + "bfs": "5395", + "name": "Lema", + "canton": "Kanton Tessin", + "domain": "lema.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lema.ch" + ], + "redirect": [], + "wikidata": [ + "lema.ch" + ], + "guess": [ + "lema.ch" + ] + }, + "flags": [] + }, + "5396": { + "bfs": "5396", + "name": "Terre di Pedemonte", + "canton": "Kanton Tessin", + "domain": "pedemonte.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pedemonte.ch" + ], + "redirect": [], + "wikidata": [ + "pedemonte.ch" + ], + "guess": [ + "terredipedemonte.ch" + ] + }, + "flags": [] + }, + "5397": { + "bfs": "5397", + "name": "Centovalli", + "canton": "Kanton Tessin", + "domain": "centovalli.swiss", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "centovalli.swiss" + ] + }, + "flags": [] + }, + "5398": { + "bfs": "5398", + "name": "Gambarogno", + "canton": "Kanton Tessin", + "domain": "gambarogno.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gambarogno.ch" + ], + "redirect": [], + "wikidata": [ + "gambarogno.ch" + ], + "guess": [ + "gambarogno.ch" + ] + }, + "flags": [] + }, + "5399": { + "bfs": "5399", + "name": "Verzasca", + "canton": "Kanton Tessin", + "domain": "verzasca.swiss", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "verzasca.swiss" + ], + "redirect": [], + "wikidata": [ + "verzasca.swiss" + ], + "guess": [ + "verzasca.ch" + ] + }, + "flags": [] + }, + "5401": { + "bfs": "5401", + "name": "Aigle", + "canton": "Kanton Waadt", + "domain": "aigle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aigle.ch", + "vd.ch" + ], + "redirect": [], + "wikidata": [ + "aigle.ch" + ], + "guess": [ + "aigle.ch" + ] + }, + "flags": [] + }, + "5402": { + "bfs": "5402", + "name": "Bex", + "canton": "Kanton Waadt", + "domain": "bex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bex.ch" + ], + "redirect": [], + "wikidata": [ + "bex.ch" + ], + "guess": [ + "bex.ch" + ] + }, + "flags": [] + }, + "5403": { + "bfs": "5403", + "name": "Chessel", + "canton": "Kanton Waadt", + "domain": "chessel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chessel.ch" + ], + "redirect": [], + "wikidata": [ + "chessel.ch" + ], + "guess": [ + "chessel.ch" + ] + }, + "flags": [] + }, + "5404": { + "bfs": "5404", + "name": "Corbeyrier", + "canton": "Kanton Waadt", + "domain": "corbeyrier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corbeyrier.ch" + ], + "redirect": [], + "wikidata": [ + "corbeyrier.ch" + ], + "guess": [ + "corbeyrier.ch" + ] + }, + "flags": [] + }, + "5405": { + "bfs": "5405", + "name": "Gryon", + "canton": "Kanton Waadt", + "domain": "gryon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gryon-tourisme.ch", + "gryon.ch" + ], + "redirect": [], + "wikidata": [ + "gryon.ch" + ], + "guess": [ + "gryon.ch" + ] + }, + "flags": [] + }, + "5406": { + "bfs": "5406", + "name": "Lavey-Morcles", + "canton": "Kanton Waadt", + "domain": "lavey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lavey.ch" + ], + "redirect": [], + "wikidata": [ + "lavey.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5407": { + "bfs": "5407", + "name": "Leysin", + "canton": "Kanton Waadt", + "domain": "leysin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leysin.ch" + ], + "redirect": [], + "wikidata": [ + "leysin.ch" + ], + "guess": [ + "leysin.ch" + ] + }, + "flags": [] + }, + "5408": { + "bfs": "5408", + "name": "Noville", + "canton": "Kanton Waadt", + "domain": "noville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cartoriviera.ch", + "noville.ch" + ], + "redirect": [], + "wikidata": [ + "noville.ch" + ], + "guess": [ + "noville.ch" + ] + }, + "flags": [] + }, + "5409": { + "bfs": "5409", + "name": "Ollon", + "canton": "Kanton Waadt", + "domain": "ollon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ollon.ch" + ], + "guess": [ + "ollon.ch" + ] + }, + "flags": [] + }, + "5410": { + "bfs": "5410", + "name": "Ormont-Dessous", + "canton": "Kanton Waadt", + "domain": "ormont-dessous.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ormont-dessous.ch" + ], + "redirect": [], + "wikidata": [ + "ormont-dessous.ch" + ], + "guess": [ + "ormont-dessous.ch" + ] + }, + "flags": [] + }, + "5411": { + "bfs": "5411", + "name": "Ormont-Dessus", + "canton": "Kanton Waadt", + "domain": "ormont-dessus.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ormont-dessus.ch" + ], + "guess": [ + "ormont-dessus.ch" + ] + }, + "flags": [] + }, + "5412": { + "bfs": "5412", + "name": "Rennaz", + "canton": "Kanton Waadt", + "domain": "rennaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rennaz.ch" + ], + "redirect": [], + "wikidata": [ + "rennaz.ch" + ], + "guess": [ + "rennaz.ch" + ] + }, + "flags": [] + }, + "5413": { + "bfs": "5413", + "name": "Roche (VD)", + "canton": "Kanton Waadt", + "domain": "roche-vd.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "roche-vd.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5414": { + "bfs": "5414", + "name": "Villeneuve (VD)", + "canton": "Kanton Waadt", + "domain": "villeneuve.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "villeneuve.ch" + ], + "redirect": [], + "wikidata": [ + "villeneuve.ch" + ], + "guess": [ + "villeneuve.ch" + ] + }, + "flags": [] + }, + "5415": { + "bfs": "5415", + "name": "Yvorne", + "canton": "Kanton Waadt", + "domain": "yvorne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "yvorne.ch" + ], + "redirect": [], + "wikidata": [ + "yvorne.ch" + ], + "guess": [ + "yvorne.ch" + ] + }, + "flags": [] + }, + "5422": { + "bfs": "5422", + "name": "Aubonne", + "canton": "Kanton Waadt", + "domain": "aubonne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aubonne.ch" + ], + "redirect": [], + "wikidata": [ + "aubonne.ch" + ], + "guess": [ + "aubonne.ch" + ] + }, + "flags": [] + }, + "5423": { + "bfs": "5423", + "name": "Ballens", + "canton": "Kanton Waadt", + "domain": "ballens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ballens.ch" + ], + "redirect": [], + "wikidata": [ + "ballens.ch" + ], + "guess": [ + "ballens.ch" + ] + }, + "flags": [] + }, + "5424": { + "bfs": "5424", + "name": "Berolle", + "canton": "Kanton Waadt", + "domain": "berolle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "berolle.ch" + ], + "redirect": [], + "wikidata": [ + "berolle.ch" + ], + "guess": [ + "berolle.ch" + ] + }, + "flags": [] + }, + "5425": { + "bfs": "5425", + "name": "Bière", + "canton": "Kanton Waadt", + "domain": "biere-vd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "biere-vd.ch" + ], + "redirect": [], + "wikidata": [ + "biere-vd.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5426": { + "bfs": "5426", + "name": "Bougy-Villars", + "canton": "Kanton Waadt", + "domain": "bougy-villars.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aubonne.ch", + "bougy-villars.ch" + ], + "redirect": [], + "wikidata": [ + "bougy-villars.ch" + ], + "guess": [ + "bougy-villars.ch" + ] + }, + "flags": [] + }, + "5427": { + "bfs": "5427", + "name": "Féchy", + "canton": "Kanton Waadt", + "domain": "fechy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fechy.ch" + ], + "guess": [ + "fechy.ch" + ] + }, + "flags": [] + }, + "5428": { + "bfs": "5428", + "name": "Gimel", + "canton": "Kanton Waadt", + "domain": "gimel.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gimel.ch" + ], + "guess": [ + "gimel.ch" + ] + }, + "flags": [] + }, + "5429": { + "bfs": "5429", + "name": "Longirod", + "canton": "Kanton Waadt", + "domain": "longirod.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "longirod.ch" + ], + "redirect": [], + "wikidata": [ + "longirod.ch" + ], + "guess": [ + "longirod.ch" + ] + }, + "flags": [] + }, + "5430": { + "bfs": "5430", + "name": "Marchissy", + "canton": "Kanton Waadt", + "domain": "marchissy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "marchissy.ch" + ], + "redirect": [], + "wikidata": [ + "marchissy.ch" + ], + "guess": [ + "marchissy.ch" + ] + }, + "flags": [] + }, + "5431": { + "bfs": "5431", + "name": "Mollens (VD)", + "canton": "Kanton Waadt", + "domain": "mollensvd.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mollensvd.ch" + ], + "guess": [ + "mollens.ch" + ] + }, + "flags": [] + }, + "5434": { + "bfs": "5434", + "name": "Saint-George", + "canton": "Kanton Waadt", + "domain": "stgeorge.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "stgeorge.ch" + ], + "guess": [ + "saint-george.ch", + "saintgeorge.ch" + ] + }, + "flags": [] + }, + "5435": { + "bfs": "5435", + "name": "Saint-Livres", + "canton": "Kanton Waadt", + "domain": "st-livres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "st-livres.ch" + ], + "redirect": [], + "wikidata": [ + "st-livres.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5436": { + "bfs": "5436", + "name": "Saint-Oyens", + "canton": "Kanton Waadt", + "domain": "saint-oyens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saint-oyens.ch" + ], + "guess": [ + "saint-oyens.ch" + ] + }, + "flags": [] + }, + "5437": { + "bfs": "5437", + "name": "Saubraz", + "canton": "Kanton Waadt", + "domain": "saubraz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saubraz.ch" + ], + "redirect": [], + "wikidata": [ + "saubraz.ch" + ], + "guess": [ + "saubraz.ch" + ] + }, + "flags": [] + }, + "5451": { + "bfs": "5451", + "name": "Avenches", + "canton": "Kanton Waadt", + "domain": "avenches.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "avenches.ch" + ], + "guess": [ + "avenches.ch" + ] + }, + "flags": [] + }, + "5456": { + "bfs": "5456", + "name": "Cudrefin", + "canton": "Kanton Waadt", + "domain": "cudrefin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cudrefin.ch" + ], + "redirect": [], + "wikidata": [ + "cudrefin.ch" + ], + "guess": [ + "cudrefin.ch" + ] + }, + "flags": [] + }, + "5458": { + "bfs": "5458", + "name": "Faoug", + "canton": "Kanton Waadt", + "domain": "faoug.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "faoug.ch" + ], + "redirect": [], + "wikidata": [ + "faoug.ch" + ], + "guess": [ + "faoug.ch" + ] + }, + "flags": [] + }, + "5464": { + "bfs": "5464", + "name": "Vully-les-Lacs", + "canton": "Kanton Waadt", + "domain": "vully-les-lacs.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vully-les-lacs.ch" + ], + "redirect": [], + "wikidata": [ + "vully-les-lacs.ch" + ], + "guess": [ + "vully-les-lacs.ch" + ] + }, + "flags": [] + }, + "5471": { + "bfs": "5471", + "name": "Bettens", + "canton": "Kanton Waadt", + "domain": "bluewin.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bluewin.ch" + ] + }, + "flags": [] + }, + "5472": { + "bfs": "5472", + "name": "Bournens", + "canton": "Kanton Waadt", + "domain": "bournens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bournens.ch" + ], + "guess": [ + "bournens.ch" + ] + }, + "flags": [] + }, + "5473": { + "bfs": "5473", + "name": "Boussens", + "canton": "Kanton Waadt", + "domain": "boussens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boussens.ch" + ], + "redirect": [], + "wikidata": [ + "boussens.ch" + ], + "guess": [ + "boussens.ch" + ] + }, + "flags": [] + }, + "5474": { + "bfs": "5474", + "name": "La Chaux (Cossonay)", + "canton": "Kanton Waadt", + "domain": "lachaux.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lachaux.ch" + ], + "guess": [ + "la-chaux.ch", + "lachaux.ch" + ] + }, + "flags": [] + }, + "5475": { + "bfs": "5475", + "name": "Chavannes-le-Veyron", + "canton": "Kanton Waadt", + "domain": "chavannes-le-veyron.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chavannes-le-veyron.ch" + ], + "redirect": [], + "wikidata": [ + "chavannes-le-veyron.ch" + ], + "guess": [ + "chavannes-le-veyron.ch" + ] + }, + "flags": [] + }, + "5476": { + "bfs": "5476", + "name": "Chevilly", + "canton": "Kanton Waadt", + "domain": "chevilly.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chevilly.ch" + ], + "redirect": [], + "wikidata": [ + "chevilly.ch" + ], + "guess": [ + "chevilly.ch" + ] + }, + "flags": [] + }, + "5477": { + "bfs": "5477", + "name": "Cossonay", + "canton": "Kanton Waadt", + "domain": "cossonay.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cossonay.ch" + ], + "redirect": [], + "wikidata": [ + "cossonay.ch" + ], + "guess": [ + "cossonay.ch" + ] + }, + "flags": [] + }, + "5479": { + "bfs": "5479", + "name": "Cuarnens", + "canton": "Kanton Waadt", + "domain": "cuarnens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cuarnens.ch" + ], + "redirect": [], + "wikidata": [ + "cuarnens.ch" + ], + "guess": [ + "cuarnens.ch" + ] + }, + "flags": [] + }, + "5480": { + "bfs": "5480", + "name": "Daillens", + "canton": "Kanton Waadt", + "domain": "daillens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "daillens.ch" + ], + "guess": [ + "daillens.ch" + ] + }, + "flags": [] + }, + "5481": { + "bfs": "5481", + "name": "Dizy", + "canton": "Kanton Waadt", + "domain": "dizy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "dizy.ch" + ], + "guess": [ + "dizy.ch" + ] + }, + "flags": [] + }, + "5482": { + "bfs": "5482", + "name": "Eclépens", + "canton": "Kanton Waadt", + "domain": "eclepens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eclepens.ch" + ], + "guess": [ + "eclepens.ch" + ] + }, + "flags": [] + }, + "5483": { + "bfs": "5483", + "name": "Ferreyres", + "canton": "Kanton Waadt", + "domain": "ferreyres.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ferreyres.ch" + ], + "guess": [ + "ferreyres.ch" + ] + }, + "flags": [] + }, + "5484": { + "bfs": "5484", + "name": "Gollion", + "canton": "Kanton Waadt", + "domain": "gollion.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gollion.ch" + ], + "redirect": [], + "wikidata": [ + "gollion.ch" + ], + "guess": [ + "gollion.ch" + ] + }, + "flags": [] + }, + "5485": { + "bfs": "5485", + "name": "Grancy", + "canton": "Kanton Waadt", + "domain": "grancy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grancy.ch" + ], + "guess": [ + "grancy.ch" + ] + }, + "flags": [] + }, + "5486": { + "bfs": "5486", + "name": "L'Isle", + "canton": "Kanton Waadt", + "domain": "lisle.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lisle.ch" + ], + "guess": [ + "lisle.ch" + ] + }, + "flags": [] + }, + "5487": { + "bfs": "5487", + "name": "Lussery-Villars", + "canton": "Kanton Waadt", + "domain": "lussery-villars.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lussery-villars.ch" + ], + "redirect": [], + "wikidata": [ + "lussery-villars.ch" + ], + "guess": [ + "lussery-villars.ch" + ] + }, + "flags": [] + }, + "5488": { + "bfs": "5488", + "name": "Mauraz", + "canton": "Kanton Waadt", + "domain": "mauraz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mauraz.ch" + ], + "guess": [ + "mauraz.ch" + ] + }, + "flags": [] + }, + "5489": { + "bfs": "5489", + "name": "Mex (VD)", + "canton": "Kanton Waadt", + "domain": "mex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mex.ch" + ], + "redirect": [], + "wikidata": [ + "mex.ch" + ], + "guess": [ + "mex.ch" + ] + }, + "flags": [] + }, + "5490": { + "bfs": "5490", + "name": "Moiry", + "canton": "Kanton Waadt", + "domain": "moiry.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moiry.ch" + ], + "redirect": [], + "wikidata": [ + "moiry.ch" + ], + "guess": [ + "moiry.ch" + ] + }, + "flags": [] + }, + "5491": { + "bfs": "5491", + "name": "Mont-la-Ville", + "canton": "Kanton Waadt", + "domain": "mont-la-ville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grf-fiduciaire.ch", + "mont-la-ville.ch", + "slide-effect.com" + ], + "redirect": [], + "wikidata": [ + "mont-la-ville.ch" + ], + "guess": [ + "mont-la-ville.ch" + ] + }, + "flags": [] + }, + "5492": { + "bfs": "5492", + "name": "Montricher", + "canton": "Kanton Waadt", + "domain": "montricher.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montricher.ch" + ], + "redirect": [], + "wikidata": [ + "montricher.ch" + ], + "guess": [ + "montricher.ch" + ] + }, + "flags": [] + }, + "5493": { + "bfs": "5493", + "name": "Orny", + "canton": "Kanton Waadt", + "domain": "orny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "orny.ch" + ], + "redirect": [], + "wikidata": [ + "orny.ch" + ], + "guess": [ + "orny.ch" + ] + }, + "flags": [] + }, + "5495": { + "bfs": "5495", + "name": "Penthalaz", + "canton": "Kanton Waadt", + "domain": "penthalaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "penthalaz.ch" + ], + "redirect": [], + "wikidata": [ + "penthalaz.ch" + ], + "guess": [ + "penthalaz.ch" + ] + }, + "flags": [] + }, + "5496": { + "bfs": "5496", + "name": "Penthaz", + "canton": "Kanton Waadt", + "domain": "penthaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "penthaz.ch" + ], + "guess": [ + "penthaz.ch" + ] + }, + "flags": [] + }, + "5497": { + "bfs": "5497", + "name": "Pompaples", + "canton": "Kanton Waadt", + "domain": "pompaples.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pompaples.ch" + ], + "redirect": [], + "wikidata": [ + "pompaples.ch" + ], + "guess": [ + "pompaples.ch" + ] + }, + "flags": [] + }, + "5498": { + "bfs": "5498", + "name": "La Sarraz", + "canton": "Kanton Waadt", + "domain": "lasarraz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lasarraz.ch" + ], + "guess": [ + "lasarraz.ch" + ] + }, + "flags": [] + }, + "5499": { + "bfs": "5499", + "name": "Senarclens", + "canton": "Kanton Waadt", + "domain": "senarclens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "senarclens.ch" + ], + "redirect": [], + "wikidata": [ + "senarclens.ch" + ], + "guess": [ + "senarclens.ch" + ] + }, + "flags": [] + }, + "5501": { + "bfs": "5501", + "name": "Sullens", + "canton": "Kanton Waadt", + "domain": "sullens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sullens.ch" + ], + "redirect": [], + "wikidata": [ + "sullens.ch" + ], + "guess": [ + "sullens.ch" + ] + }, + "flags": [] + }, + "5503": { + "bfs": "5503", + "name": "Vufflens-la-Ville", + "canton": "Kanton Waadt", + "domain": "vufflens-la-ville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vufflens-la-ville.ch" + ], + "redirect": [], + "wikidata": [ + "vufflens-la-ville.ch" + ], + "guess": [ + "vufflens-la-ville.ch" + ] + }, + "flags": [] + }, + "5511": { + "bfs": "5511", + "name": "Assens", + "canton": "Kanton Waadt", + "domain": "assens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "assens.ch" + ], + "redirect": [], + "wikidata": [ + "assens.ch" + ], + "guess": [ + "assens.ch" + ] + }, + "flags": [] + }, + "5512": { + "bfs": "5512", + "name": "Bercher", + "canton": "Kanton Waadt", + "domain": "bercher-vd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bercher-vd.ch" + ], + "redirect": [], + "wikidata": [ + "bercher-vd.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5514": { + "bfs": "5514", + "name": "Bottens", + "canton": "Kanton Waadt", + "domain": "bottens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bottens.ch" + ], + "redirect": [], + "wikidata": [ + "bottens.ch" + ], + "guess": [ + "bottens.ch" + ] + }, + "flags": [] + }, + "5515": { + "bfs": "5515", + "name": "Bretigny-sur-Morrens", + "canton": "Kanton Waadt", + "domain": "bretigny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bretigny.ch" + ], + "redirect": [], + "wikidata": [ + "bretigny.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5516": { + "bfs": "5516", + "name": "Cugy (VD)", + "canton": "Kanton Waadt", + "domain": "cugy-vd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cugy-vd.ch" + ], + "redirect": [], + "wikidata": [ + "cugy-vd.ch" + ], + "guess": [ + "cugy.ch" + ] + }, + "flags": [] + }, + "5518": { + "bfs": "5518", + "name": "Echallens", + "canton": "Kanton Waadt", + "domain": "echallens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "echallens.ch" + ], + "guess": [ + "echallens.ch", + "echallens.vd.ch" + ] + }, + "flags": [] + }, + "5520": { + "bfs": "5520", + "name": "Essertines-sur-Yverdon", + "canton": "Kanton Waadt", + "domain": "essertines-sur-yverdon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "essertines-sur-yverdon.ch" + ], + "redirect": [], + "wikidata": [ + "essertines-sur-yverdon.ch" + ], + "guess": [ + "essertines-sur-yverdon.ch" + ] + }, + "flags": [] + }, + "5521": { + "bfs": "5521", + "name": "Etagnières", + "canton": "Kanton Waadt", + "domain": "etagnieres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "echallens.ch", + "etagnieres.ch" + ], + "redirect": [], + "wikidata": [ + "etagnieres.ch" + ], + "guess": [ + "etagnieres.ch" + ] + }, + "flags": [] + }, + "5522": { + "bfs": "5522", + "name": "Fey", + "canton": "Kanton Waadt", + "domain": "fey-vd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fey-vd.ch" + ], + "redirect": [], + "wikidata": [ + "fey-vd.ch" + ], + "guess": [ + "fey.ch" + ] + }, + "flags": [] + }, + "5523": { + "bfs": "5523", + "name": "Froideville", + "canton": "Kanton Waadt", + "domain": "froideville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "froideville.ch" + ], + "redirect": [], + "wikidata": [ + "froideville.ch" + ], + "guess": [ + "froideville.ch" + ] + }, + "flags": [] + }, + "5527": { + "bfs": "5527", + "name": "Morrens (VD)", + "canton": "Kanton Waadt", + "domain": "morrens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "morrens.ch" + ], + "redirect": [], + "wikidata": [ + "morrens.ch" + ], + "guess": [ + "morrens.ch" + ] + }, + "flags": [] + }, + "5529": { + "bfs": "5529", + "name": "Oulens-sous-Echallens", + "canton": "Kanton Waadt", + "domain": "oulens-sous-echallens.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "oulens-sous-echallens.ch" + ], + "redirect": [], + "wikidata": [ + "oulens.ch" + ], + "guess": [ + "oulens-sous-echallens.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "5530": { + "bfs": "5530", + "name": "Pailly", + "canton": "Kanton Waadt", + "domain": "pailly.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pailly.ch" + ], + "redirect": [], + "wikidata": [ + "pailly.ch" + ], + "guess": [ + "pailly.ch" + ] + }, + "flags": [] + }, + "5531": { + "bfs": "5531", + "name": "Penthéréaz", + "canton": "Kanton Waadt", + "domain": "penthereaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "penthereaz.ch" + ], + "guess": [ + "penthereaz.ch" + ] + }, + "flags": [] + }, + "5533": { + "bfs": "5533", + "name": "Poliez-Pittet", + "canton": "Kanton Waadt", + "domain": "poliez-pittet.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "poliez-pittet.ch" + ], + "redirect": [], + "wikidata": [ + "poliez-pittet.ch" + ], + "guess": [ + "poliez-pittet.ch" + ] + }, + "flags": [] + }, + "5534": { + "bfs": "5534", + "name": "Rueyres", + "canton": "Kanton Waadt", + "domain": "rueyres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rueyres.ch" + ], + "redirect": [], + "wikidata": [ + "rueyres.ch" + ], + "guess": [ + "rueyres.ch" + ] + }, + "flags": [] + }, + "5535": { + "bfs": "5535", + "name": "Saint-Barthélemy (VD)", + "canton": "Kanton Waadt", + "domain": "st-barthelemy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "st-barthelemy.ch" + ], + "redirect": [], + "wikidata": [ + "st-barthelemy.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5537": { + "bfs": "5537", + "name": "Villars-le-Terroir", + "canton": "Kanton Waadt", + "domain": "villars-le-terroir.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "villars-le-terroir.ch" + ], + "guess": [ + "villars-le-terroir.ch" + ] + }, + "flags": [] + }, + "5539": { + "bfs": "5539", + "name": "Vuarrens", + "canton": "Kanton Waadt", + "domain": "vuarrens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vuarrens.ch" + ], + "redirect": [], + "wikidata": [ + "vuarrens.ch" + ], + "guess": [ + "vuarrens.ch" + ] + }, + "flags": [] + }, + "5540": { + "bfs": "5540", + "name": "Montilliez", + "canton": "Kanton Waadt", + "domain": "montilliez.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "montilliez.ch" + ], + "guess": [ + "montilliez.ch" + ] + }, + "flags": [] + }, + "5541": { + "bfs": "5541", + "name": "Goumoëns", + "canton": "Kanton Waadt", + "domain": "goumoens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "goumoens.ch" + ], + "guess": [ + "goumoens.ch" + ] + }, + "flags": [] + }, + "5551": { + "bfs": "5551", + "name": "Bonvillars", + "canton": "Kanton Waadt", + "domain": "bonvillars.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "vd.ch" + ], + "redirect": [], + "wikidata": [ + "bonvillars.ch" + ], + "guess": [ + "bonvillars.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "5552": { + "bfs": "5552", + "name": "Bullet", + "canton": "Kanton Waadt", + "domain": "bullet.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bullet.ch" + ], + "redirect": [], + "wikidata": [ + "bullet.ch" + ], + "guess": [ + "bullet.ch" + ] + }, + "flags": [] + }, + "5553": { + "bfs": "5553", + "name": "Champagne", + "canton": "Kanton Waadt", + "domain": "champagne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "champagne.ch" + ], + "redirect": [], + "wikidata": [ + "champagne.ch" + ], + "guess": [ + "champagne.ch" + ] + }, + "flags": [] + }, + "5554": { + "bfs": "5554", + "name": "Concise", + "canton": "Kanton Waadt", + "domain": "concise.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "concise.ch" + ], + "redirect": [], + "wikidata": [ + "concise.ch" + ], + "guess": [ + "concise.ch" + ] + }, + "flags": [] + }, + "5555": { + "bfs": "5555", + "name": "Corcelles-près-Concise", + "canton": "Kanton Waadt", + "domain": "corcelles-concise.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corcelles-concise.ch" + ], + "redirect": [], + "wikidata": [ + "corcelles-concise.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5556": { + "bfs": "5556", + "name": "Fiez", + "canton": "Kanton Waadt", + "domain": "fiez.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fiez.ch" + ], + "guess": [ + "fiez.ch" + ] + }, + "flags": [] + }, + "5557": { + "bfs": "5557", + "name": "Fontaines-sur-Grandson", + "canton": "Kanton Waadt", + "domain": "fontaines-sur-grandson.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fontaines-sur-grandson.ch" + ], + "guess": [ + "fontaines-sur-grandson.ch" + ] + }, + "flags": [] + }, + "5559": { + "bfs": "5559", + "name": "Giez", + "canton": "Kanton Waadt", + "domain": "giez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "giez.ch" + ], + "redirect": [], + "wikidata": [ + "giez.ch" + ], + "guess": [ + "giez.ch" + ] + }, + "flags": [] + }, + "5560": { + "bfs": "5560", + "name": "Grandevent", + "canton": "Kanton Waadt", + "domain": "grandevent.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grandevent.ch" + ], + "guess": [ + "grandevent.ch" + ] + }, + "flags": [] + }, + "5561": { + "bfs": "5561", + "name": "Grandson", + "canton": "Kanton Waadt", + "domain": "grandson.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grandson.ch" + ], + "redirect": [], + "wikidata": [ + "grandson.ch" + ], + "guess": [ + "grandson.ch" + ] + }, + "flags": [] + }, + "5562": { + "bfs": "5562", + "name": "Mauborget", + "canton": "Kanton Waadt", + "domain": "mauborget.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mauborget.ch" + ], + "guess": [ + "mauborget.ch" + ] + }, + "flags": [] + }, + "5563": { + "bfs": "5563", + "name": "Mutrux", + "canton": "Kanton Waadt", + "domain": "mutrux.swiss", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "mutrux.swiss" + ] + }, + "flags": [] + }, + "5564": { + "bfs": "5564", + "name": "Novalles", + "canton": "Kanton Waadt", + "domain": "novalles.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "novalles.ch" + ], + "guess": [ + "novalles.ch" + ] + }, + "flags": [] + }, + "5565": { + "bfs": "5565", + "name": "Onnens (VD)", + "canton": "Kanton Waadt", + "domain": "onnens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "onnens.ch" + ], + "guess": [ + "onnens.ch" + ] + }, + "flags": [] + }, + "5566": { + "bfs": "5566", + "name": "Provence", + "canton": "Kanton Waadt", + "domain": "provence.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "provence.ch" + ], + "guess": [ + "provence.ch" + ] + }, + "flags": [] + }, + "5568": { + "bfs": "5568", + "name": "Sainte-Croix", + "canton": "Kanton Waadt", + "domain": "sainte-croix.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sainte-croix.ch" + ], + "redirect": [], + "wikidata": [ + "sainte-croix.ch" + ], + "guess": [ + "sainte-croix.ch", + "saintecroix.ch" + ] + }, + "flags": [] + }, + "5571": { + "bfs": "5571", + "name": "Tévenon", + "canton": "Kanton Waadt", + "domain": "tevenon.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "tevenon.ch" + ] + }, + "flags": [] + }, + "5581": { + "bfs": "5581", + "name": "Belmont-sur-Lausanne", + "canton": "Kanton Waadt", + "domain": "belmont.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "belmont.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5582": { + "bfs": "5582", + "name": "Cheseaux-sur-Lausanne", + "canton": "Kanton Waadt", + "domain": "cheseaux.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "cheseaux.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5583": { + "bfs": "5583", + "name": "Crissier", + "canton": "Kanton Waadt", + "domain": "crissier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "crissier.ch" + ], + "guess": [ + "crissier.ch" + ] + }, + "flags": [] + }, + "5584": { + "bfs": "5584", + "name": "Epalinges", + "canton": "Kanton Waadt", + "domain": "epalinges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "epalinges.ch" + ], + "redirect": [], + "wikidata": [ + "epalinges.ch" + ], + "guess": [ + "epalinges.ch", + "epalinges.vd.ch" + ] + }, + "flags": [] + }, + "5585": { + "bfs": "5585", + "name": "Jouxtens-Mézery", + "canton": "Kanton Waadt", + "domain": "jouxtens-mezery.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "jouxtens-mezery.ch" + ], + "guess": [ + "jouxtens-mezery.ch" + ] + }, + "flags": [] + }, + "5586": { + "bfs": "5586", + "name": "Lausanne", + "canton": "Kanton Waadt", + "domain": "lausanne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lausanne.ch" + ], + "redirect": [], + "wikidata": [ + "lausanne.ch" + ], + "guess": [ + "lausanne.ch" + ] + }, + "flags": [] + }, + "5587": { + "bfs": "5587", + "name": "Le Mont-sur-Lausanne", + "canton": "Kanton Waadt", + "domain": "lemontsurlausanne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lemontsurlausanne.ch" + ], + "redirect": [], + "wikidata": [ + "lemontsurlausanne.ch" + ], + "guess": [ + "lemontsurlausanne.ch" + ] + }, + "flags": [] + }, + "5588": { + "bfs": "5588", + "name": "Paudex", + "canton": "Kanton Waadt", + "domain": "paudex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "paudex.ch" + ], + "redirect": [], + "wikidata": [ + "paudex.ch" + ], + "guess": [ + "paudex.ch" + ] + }, + "flags": [] + }, + "5589": { + "bfs": "5589", + "name": "Prilly", + "canton": "Kanton Waadt", + "domain": "prilly.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "prilly.ch" + ], + "guess": [ + "prilly.ch" + ] + }, + "flags": [] + }, + "5590": { + "bfs": "5590", + "name": "Pully", + "canton": "Kanton Waadt", + "domain": "pully.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "pully.ch" + ], + "guess": [ + "pully.ch" + ] + }, + "flags": [] + }, + "5591": { + "bfs": "5591", + "name": "Renens (VD)", + "canton": "Kanton Waadt", + "domain": "renens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "renens.ch" + ], + "guess": [ + "renens.ch" + ] + }, + "flags": [] + }, + "5592": { + "bfs": "5592", + "name": "Romanel-sur-Lausanne", + "canton": "Kanton Waadt", + "domain": "romanel-sur-lausanne.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "romanel-sur-lausanne.ch" + ], + "guess": [ + "romanel-sur-lausanne.ch" + ] + }, + "flags": [] + }, + "5601": { + "bfs": "5601", + "name": "Chexbres", + "canton": "Kanton Waadt", + "domain": "chexbres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chexbres.ch" + ], + "redirect": [], + "wikidata": [ + "chexbres.ch" + ], + "guess": [ + "chexbres.ch" + ] + }, + "flags": [] + }, + "5604": { + "bfs": "5604", + "name": "Forel (Lavaux)", + "canton": "Kanton Waadt", + "domain": "forel.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "forel.ch" + ], + "guess": [ + "forel.ch" + ] + }, + "flags": [] + }, + "5606": { + "bfs": "5606", + "name": "Lutry", + "canton": "Kanton Waadt", + "domain": "lutry.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lutry.ch" + ], + "guess": [ + "lutry.ch" + ] + }, + "flags": [] + }, + "5607": { + "bfs": "5607", + "name": "Puidoux", + "canton": "Kanton Waadt", + "domain": "puidoux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "puidoux.ch" + ], + "redirect": [], + "wikidata": [ + "puidoux.ch" + ], + "guess": [ + "puidoux.ch" + ] + }, + "flags": [] + }, + "5609": { + "bfs": "5609", + "name": "Rivaz", + "canton": "Kanton Waadt", + "domain": "rivaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "rivaz.ch" + ], + "guess": [ + "rivaz.ch" + ] + }, + "flags": [] + }, + "5610": { + "bfs": "5610", + "name": "Saint-Saphorin (Lavaux)", + "canton": "Kanton Waadt", + "domain": "saint-saphorin.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saint-saphorin.ch" + ], + "guess": [ + "saint-saphorin.ch" + ] + }, + "flags": [] + }, + "5611": { + "bfs": "5611", + "name": "Savigny", + "canton": "Kanton Waadt", + "domain": "savigny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "savigny.ch" + ], + "guess": [ + "savigny.ch" + ] + }, + "flags": [] + }, + "5613": { + "bfs": "5613", + "name": "Bourg-en-Lavaux", + "canton": "Kanton Waadt", + "domain": "b-e-l.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "b-e-l.ch" + ], + "redirect": [], + "wikidata": [ + "b-e-l.ch" + ], + "guess": [] + }, + "flags": [ + "website_mismatch" + ] + }, + "5621": { + "bfs": "5621", + "name": "Aclens", + "canton": "Kanton Waadt", + "domain": "aclens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aclens.ch" + ], + "redirect": [], + "wikidata": [ + "aclens.ch" + ], + "guess": [ + "aclens.ch" + ] + }, + "flags": [] + }, + "5622": { + "bfs": "5622", + "name": "Bremblens", + "canton": "Kanton Waadt", + "domain": "bremblens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bremblens.ch" + ], + "redirect": [], + "wikidata": [ + "bremblens.ch" + ], + "guess": [ + "bremblens.ch" + ] + }, + "flags": [] + }, + "5623": { + "bfs": "5623", + "name": "Buchillon", + "canton": "Kanton Waadt", + "domain": "buchillon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "buchillon.ch" + ], + "redirect": [], + "wikidata": [ + "buchillon.ch" + ], + "guess": [ + "buchillon.ch" + ] + }, + "flags": [] + }, + "5624": { + "bfs": "5624", + "name": "Bussigny", + "canton": "Kanton Waadt", + "domain": "bussigny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bussigny.ch" + ], + "guess": [ + "bussigny.ch" + ] + }, + "flags": [] + }, + "5627": { + "bfs": "5627", + "name": "Chavannes-près-Renens", + "canton": "Kanton Waadt", + "domain": "chavannes.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chavannes.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5628": { + "bfs": "5628", + "name": "Chigny", + "canton": "Kanton Waadt", + "domain": "chigny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chigny.ch", + "lemansites.ch" + ], + "redirect": [], + "wikidata": [ + "chigny.ch" + ], + "guess": [ + "chigny.ch" + ] + }, + "flags": [] + }, + "5629": { + "bfs": "5629", + "name": "Clarmont", + "canton": "Kanton Waadt", + "domain": "clarmont.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "clarmont.ch" + ], + "guess": [ + "clarmont.ch" + ] + }, + "flags": [] + }, + "5631": { + "bfs": "5631", + "name": "Denens", + "canton": "Kanton Waadt", + "domain": "denens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "denens.ch" + ], + "redirect": [], + "wikidata": [ + "denens.ch" + ], + "guess": [ + "denens.ch" + ] + }, + "flags": [] + }, + "5632": { + "bfs": "5632", + "name": "Denges", + "canton": "Kanton Waadt", + "domain": "denges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "denges.ch" + ], + "redirect": [], + "wikidata": [ + "denges.ch" + ], + "guess": [ + "denges.ch" + ] + }, + "flags": [] + }, + "5633": { + "bfs": "5633", + "name": "Echandens", + "canton": "Kanton Waadt", + "domain": "echandens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "echandens.ch" + ], + "redirect": [], + "wikidata": [ + "echandens.ch" + ], + "guess": [ + "echandens.ch" + ] + }, + "flags": [] + }, + "5634": { + "bfs": "5634", + "name": "Echichens", + "canton": "Kanton Waadt", + "domain": "echichens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "echichens.ch" + ], + "redirect": [], + "wikidata": [ + "echichens.ch" + ], + "guess": [ + "echichens.ch" + ] + }, + "flags": [] + }, + "5635": { + "bfs": "5635", + "name": "Ecublens (VD)", + "canton": "Kanton Waadt", + "domain": "ecublens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ecublens.ch" + ], + "guess": [ + "ecublens.ch" + ] + }, + "flags": [] + }, + "5636": { + "bfs": "5636", + "name": "Etoy", + "canton": "Kanton Waadt", + "domain": "etoy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "etoy.ch" + ], + "redirect": [], + "wikidata": [ + "etoy.ch" + ], + "guess": [ + "etoy.ch" + ] + }, + "flags": [] + }, + "5637": { + "bfs": "5637", + "name": "Lavigny", + "canton": "Kanton Waadt", + "domain": "lavigny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lavigny.ch" + ], + "redirect": [], + "wikidata": [ + "lavigny.ch" + ], + "guess": [ + "lavigny.ch" + ] + }, + "flags": [] + }, + "5638": { + "bfs": "5638", + "name": "Lonay", + "canton": "Kanton Waadt", + "domain": "lonay.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lonay.ch" + ], + "redirect": [], + "wikidata": [ + "lonay.ch" + ], + "guess": [ + "lonay.ch" + ] + }, + "flags": [] + }, + "5639": { + "bfs": "5639", + "name": "Lully (VD)", + "canton": "Kanton Waadt", + "domain": "lully.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lully.ch" + ], + "guess": [ + "lully.ch" + ] + }, + "flags": [] + }, + "5640": { + "bfs": "5640", + "name": "Lussy-sur-Morges", + "canton": "Kanton Waadt", + "domain": "lussy-sur-morges.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lussy-sur-morges.ch" + ], + "guess": [ + "lussy-sur-morges.ch" + ] + }, + "flags": [] + }, + "5642": { + "bfs": "5642", + "name": "Morges", + "canton": "Kanton Waadt", + "domain": "morges.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "morges.ch" + ], + "guess": [ + "morges.ch" + ] + }, + "flags": [] + }, + "5643": { + "bfs": "5643", + "name": "Préverenges", + "canton": "Kanton Waadt", + "domain": "preverenges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "preverenges.ch" + ], + "redirect": [], + "wikidata": [ + "preverenges.ch" + ], + "guess": [ + "preverenges.ch" + ] + }, + "flags": [] + }, + "5645": { + "bfs": "5645", + "name": "Romanel-sur-Morges", + "canton": "Kanton Waadt", + "domain": "romanel-sur-morges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "romanel-sur-morges.ch" + ], + "redirect": [], + "wikidata": [ + "romanel-sur-morges.ch" + ], + "guess": [ + "romanel-sur-morges.ch" + ] + }, + "flags": [] + }, + "5646": { + "bfs": "5646", + "name": "Saint-Prex", + "canton": "Kanton Waadt", + "domain": "saint-prex.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "taniaemery.ch" + ], + "redirect": [], + "wikidata": [ + "saint-prex.ch" + ], + "guess": [ + "saint-prex.ch", + "saintprex.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "5648": { + "bfs": "5648", + "name": "Saint-Sulpice (VD)", + "canton": "Kanton Waadt", + "domain": "st-sulpice.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "st-sulpice.ch" + ], + "redirect": [], + "wikidata": [ + "st-sulpice.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5649": { + "bfs": "5649", + "name": "Tolochenaz", + "canton": "Kanton Waadt", + "domain": "tolochenaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "tolochenaz.ch" + ], + "guess": [ + "tolochenaz.ch" + ] + }, + "flags": [] + }, + "5650": { + "bfs": "5650", + "name": "Vaux-sur-Morges", + "canton": "Kanton Waadt", + "domain": "vaux-sur-morges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vaux-sur-morges.ch" + ], + "redirect": [], + "wikidata": [ + "vaux-sur-morges.ch" + ], + "guess": [ + "vaux-sur-morges.ch" + ] + }, + "flags": [] + }, + "5651": { + "bfs": "5651", + "name": "Villars-Sainte-Croix", + "canton": "Kanton Waadt", + "domain": "villars-sainte-croix.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "polouest.ch", + "villars-sainte-croix.ch" + ], + "redirect": [], + "wikidata": [ + "villars-sainte-croix.ch" + ], + "guess": [ + "villars-sainte-croix.ch" + ] + }, + "flags": [] + }, + "5652": { + "bfs": "5652", + "name": "Villars-sous-Yens", + "canton": "Kanton Waadt", + "domain": "villars-sous-yens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "villars-sous-yens.ch" + ], + "guess": [ + "villars-sous-yens.ch", + "villarssousyens.ch" + ] + }, + "flags": [] + }, + "5653": { + "bfs": "5653", + "name": "Vufflens-le-Château", + "canton": "Kanton Waadt", + "domain": "vufflens-le-chateau.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pro-xy.ch", + "vufflens-le-chateau.ch" + ], + "redirect": [], + "wikidata": [ + "vufflens-le-chateau.ch" + ], + "guess": [ + "vufflens-le-chateau.ch" + ] + }, + "flags": [] + }, + "5654": { + "bfs": "5654", + "name": "Vullierens", + "canton": "Kanton Waadt", + "domain": "vullierens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vullierens.ch" + ], + "redirect": [], + "wikidata": [ + "vullierens.ch" + ], + "guess": [ + "vullierens.ch" + ] + }, + "flags": [] + }, + "5655": { + "bfs": "5655", + "name": "Yens", + "canton": "Kanton Waadt", + "domain": "yens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "yens.ch" + ], + "guess": [ + "yens.ch" + ] + }, + "flags": [] + }, + "5656": { + "bfs": "5656", + "name": "Hautemorges", + "canton": "Kanton Waadt", + "domain": "hautemorges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hautemorges.ch" + ], + "redirect": [], + "wikidata": [ + "hautemorges.ch" + ], + "guess": [ + "hautemorges.ch" + ] + }, + "flags": [] + }, + "5661": { + "bfs": "5661", + "name": "Boulens", + "canton": "Kanton Waadt", + "domain": "boulens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boulens.ch" + ], + "redirect": [], + "wikidata": [ + "boulens.ch" + ], + "guess": [ + "boulens.ch" + ] + }, + "flags": [] + }, + "5663": { + "bfs": "5663", + "name": "Bussy-sur-Moudon", + "canton": "Kanton Waadt", + "domain": "bussy-sur-moudon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bussy-sur-moudon.ch" + ], + "redirect": [], + "wikidata": [ + "bussy-sur-moudon.ch" + ], + "guess": [ + "bussy-sur-moudon.ch" + ] + }, + "flags": [] + }, + "5665": { + "bfs": "5665", + "name": "Chavannes-sur-Moudon", + "canton": "Kanton Waadt", + "domain": "chavannes-sur-moudon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chavannes-sur-moudon.ch" + ], + "guess": [ + "chavannes-sur-moudon.ch" + ] + }, + "flags": [] + }, + "5669": { + "bfs": "5669", + "name": "Curtilles", + "canton": "Kanton Waadt", + "domain": "curtilles.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "curtilles.ch" + ], + "guess": [ + "curtilles.ch" + ] + }, + "flags": [] + }, + "5671": { + "bfs": "5671", + "name": "Dompierre (VD)", + "canton": "Kanton Waadt", + "domain": "dompierre-vd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dompierre-vd.ch" + ], + "redirect": [], + "wikidata": [ + "dompierre-vd.ch" + ], + "guess": [ + "dompierre.ch" + ] + }, + "flags": [] + }, + "5673": { + "bfs": "5673", + "name": "Hermenches", + "canton": "Kanton Waadt", + "domain": "hermenches.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "hermenches.ch" + ], + "guess": [ + "hermenches.ch" + ] + }, + "flags": [] + }, + "5674": { + "bfs": "5674", + "name": "Lovatens", + "canton": "Kanton Waadt", + "domain": "lovatens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lovatens.ch" + ], + "redirect": [], + "wikidata": [ + "lovatens.ch" + ], + "guess": [ + "lovatens.ch" + ] + }, + "flags": [] + }, + "5675": { + "bfs": "5675", + "name": "Lucens", + "canton": "Kanton Waadt", + "domain": "lucens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lucens.ch" + ], + "guess": [ + "lucens.ch" + ] + }, + "flags": [] + }, + "5678": { + "bfs": "5678", + "name": "Moudon", + "canton": "Kanton Waadt", + "domain": "moudon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moudon.ch" + ], + "redirect": [], + "wikidata": [ + "moudon.ch" + ], + "guess": [ + "moudon.ch" + ] + }, + "flags": [] + }, + "5680": { + "bfs": "5680", + "name": "Ogens", + "canton": "Kanton Waadt", + "domain": "ogens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ogens.ch" + ], + "redirect": [], + "wikidata": [ + "ogens.ch" + ], + "guess": [ + "ogens.ch" + ] + }, + "flags": [] + }, + "5683": { + "bfs": "5683", + "name": "Prévonloup", + "canton": "Kanton Waadt", + "domain": "prevonloup.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "prevonloup.ch" + ], + "redirect": [], + "wikidata": [ + "prevonloup.ch" + ], + "guess": [ + "prevonloup.ch" + ] + }, + "flags": [] + }, + "5684": { + "bfs": "5684", + "name": "Rossenges", + "canton": "Kanton Waadt", + "domain": "rossenges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rossenges.ch" + ], + "redirect": [], + "wikidata": [ + "rossenges.ch" + ], + "guess": [ + "rossenges.ch" + ] + }, + "flags": [] + }, + "5688": { + "bfs": "5688", + "name": "Syens", + "canton": "Kanton Waadt", + "domain": "syens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "syens.ch" + ], + "guess": [ + "syens.ch" + ] + }, + "flags": [] + }, + "5690": { + "bfs": "5690", + "name": "Villars-le-Comte", + "canton": "Kanton Waadt", + "domain": "villars-le-comte.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "villars-le-comte.ch" + ], + "guess": [ + "villars-le-comte.ch" + ] + }, + "flags": [] + }, + "5692": { + "bfs": "5692", + "name": "Vucherens", + "canton": "Kanton Waadt", + "domain": "vucherens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vucherens.ch" + ], + "redirect": [], + "wikidata": [ + "vucherens.ch" + ], + "guess": [ + "vucherens.ch" + ] + }, + "flags": [] + }, + "5693": { + "bfs": "5693", + "name": "Montanaire", + "canton": "Kanton Waadt", + "domain": "montanaire.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montanaire.ch" + ], + "redirect": [], + "wikidata": [ + "montanaire.ch" + ], + "guess": [ + "montanaire.ch" + ] + }, + "flags": [] + }, + "5701": { + "bfs": "5701", + "name": "Arnex-sur-Nyon", + "canton": "Kanton Waadt", + "domain": "arnex-sur-nyon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arnex-sur-nyon.ch" + ], + "redirect": [], + "wikidata": [ + "arnex-sur-nyon.ch" + ], + "guess": [ + "arnex-sur-nyon.ch" + ] + }, + "flags": [] + }, + "5702": { + "bfs": "5702", + "name": "Arzier-Le Muids", + "canton": "Kanton Waadt", + "domain": "arzier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "arzier.ch", + "vd.ch" + ], + "redirect": [], + "wikidata": [ + "arzier.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5703": { + "bfs": "5703", + "name": "Bassins", + "canton": "Kanton Waadt", + "domain": "bassins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bassins.ch" + ], + "redirect": [], + "wikidata": [ + "bassins.ch" + ], + "guess": [ + "bassins.ch" + ] + }, + "flags": [] + }, + "5704": { + "bfs": "5704", + "name": "Begnins", + "canton": "Kanton Waadt", + "domain": "begnins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "begnins.ch" + ], + "redirect": [], + "wikidata": [ + "begnins.ch" + ], + "guess": [ + "begnins.ch" + ] + }, + "flags": [] + }, + "5705": { + "bfs": "5705", + "name": "Bogis-Bossey", + "canton": "Kanton Waadt", + "domain": "bogis-bossey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bogis-bossey.ch", + "vd.ch" + ], + "redirect": [], + "wikidata": [ + "bogis-bossey.ch" + ], + "guess": [ + "bogis-bossey.ch" + ] + }, + "flags": [] + }, + "5706": { + "bfs": "5706", + "name": "Borex", + "canton": "Kanton Waadt", + "domain": "borex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "borex.ch" + ], + "redirect": [], + "wikidata": [ + "borex.ch" + ], + "guess": [ + "borex.ch" + ] + }, + "flags": [] + }, + "5707": { + "bfs": "5707", + "name": "Chavannes-de-Bogis", + "canton": "Kanton Waadt", + "domain": "chavannes-de-bogis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chavannes-de-bogis.ch" + ], + "redirect": [], + "wikidata": [ + "chavannes-de-bogis.ch" + ], + "guess": [ + "chavannes-de-bogis.ch" + ] + }, + "flags": [] + }, + "5708": { + "bfs": "5708", + "name": "Chavannes-des-Bois", + "canton": "Kanton Waadt", + "domain": "chavannes-des-bois.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chavannes-des-bois.ch" + ], + "redirect": [], + "wikidata": [ + "chavannes-des-bois.ch" + ], + "guess": [ + "chavannes-des-bois.ch" + ] + }, + "flags": [] + }, + "5709": { + "bfs": "5709", + "name": "Chéserex", + "canton": "Kanton Waadt", + "domain": "cheserex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cheserex.ch" + ], + "redirect": [], + "wikidata": [ + "cheserex.ch" + ], + "guess": [ + "cheserex.ch" + ] + }, + "flags": [] + }, + "5710": { + "bfs": "5710", + "name": "Coinsins", + "canton": "Kanton Waadt", + "domain": "coinsins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "coinsins.ch" + ], + "redirect": [], + "wikidata": [ + "coinsins.ch" + ], + "guess": [ + "coinsins.ch" + ] + }, + "flags": [] + }, + "5711": { + "bfs": "5711", + "name": "Commugny", + "canton": "Kanton Waadt", + "domain": "commugny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "commugny.ch" + ], + "redirect": [], + "wikidata": [ + "commugny.ch" + ], + "guess": [ + "commugny.ch" + ] + }, + "flags": [] + }, + "5712": { + "bfs": "5712", + "name": "Coppet", + "canton": "Kanton Waadt", + "domain": "coppet.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "coppet.ch" + ], + "redirect": [], + "wikidata": [ + "coppet.ch" + ], + "guess": [ + "coppet.ch" + ] + }, + "flags": [] + }, + "5713": { + "bfs": "5713", + "name": "Crans (VD)", + "canton": "Kanton Waadt", + "domain": "cransvd.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "cransvd.ch" + ] + }, + "flags": [] + }, + "5714": { + "bfs": "5714", + "name": "Crassier", + "canton": "Kanton Waadt", + "domain": "crassier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "crassier.ch" + ], + "redirect": [], + "wikidata": [ + "crassier.ch" + ], + "guess": [ + "crassier.ch" + ] + }, + "flags": [] + }, + "5715": { + "bfs": "5715", + "name": "Duillier", + "canton": "Kanton Waadt", + "domain": "duillier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "duillier.ch" + ], + "redirect": [], + "wikidata": [ + "duillier.ch" + ], + "guess": [ + "duillier.ch" + ] + }, + "flags": [] + }, + "5716": { + "bfs": "5716", + "name": "Eysins", + "canton": "Kanton Waadt", + "domain": "eysins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eysins.ch" + ], + "redirect": [], + "wikidata": [ + "eysins.ch" + ], + "guess": [ + "eysins.ch" + ] + }, + "flags": [] + }, + "5717": { + "bfs": "5717", + "name": "Founex", + "canton": "Kanton Waadt", + "domain": "founex.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "founex.ch" + ], + "guess": [ + "founex.ch" + ] + }, + "flags": [] + }, + "5718": { + "bfs": "5718", + "name": "Genolier", + "canton": "Kanton Waadt", + "domain": "genolier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "genolier.ch" + ], + "guess": [ + "genolier.ch" + ] + }, + "flags": [] + }, + "5719": { + "bfs": "5719", + "name": "Gingins", + "canton": "Kanton Waadt", + "domain": "gingins.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gingins.ch" + ], + "guess": [ + "gingins.ch" + ] + }, + "flags": [] + }, + "5720": { + "bfs": "5720", + "name": "Givrins", + "canton": "Kanton Waadt", + "domain": "givrins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "givrins.ch" + ], + "redirect": [], + "wikidata": [ + "givrins.ch" + ], + "guess": [ + "givrins.ch" + ] + }, + "flags": [] + }, + "5721": { + "bfs": "5721", + "name": "Gland", + "canton": "Kanton Waadt", + "domain": "gland.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gland.ch" + ], + "guess": [ + "gland.ch" + ] + }, + "flags": [] + }, + "5722": { + "bfs": "5722", + "name": "Grens", + "canton": "Kanton Waadt", + "domain": "grens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grens.ch" + ], + "redirect": [], + "wikidata": [ + "grens.ch" + ], + "guess": [ + "grens.ch" + ] + }, + "flags": [] + }, + "5723": { + "bfs": "5723", + "name": "Mies", + "canton": "Kanton Waadt", + "domain": "mies.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mies.ch" + ], + "guess": [ + "mies.ch" + ] + }, + "flags": [] + }, + "5724": { + "bfs": "5724", + "name": "Nyon", + "canton": "Kanton Waadt", + "domain": "nyon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "nyon.ch" + ], + "redirect": [], + "wikidata": [ + "nyon.ch" + ], + "guess": [ + "nyon.ch", + "stadt-nyon.ch" + ] + }, + "flags": [] + }, + "5725": { + "bfs": "5725", + "name": "Prangins", + "canton": "Kanton Waadt", + "domain": "prangins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "prangins.ch" + ], + "redirect": [], + "wikidata": [ + "prangins.ch" + ], + "guess": [ + "prangins.ch" + ] + }, + "flags": [] + }, + "5726": { + "bfs": "5726", + "name": "La Rippe", + "canton": "Kanton Waadt", + "domain": "larippe.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "larippe.ch" + ], + "redirect": [], + "wikidata": [ + "larippe.ch" + ], + "guess": [ + "larippe.ch" + ] + }, + "flags": [] + }, + "5727": { + "bfs": "5727", + "name": "Saint-Cergue", + "canton": "Kanton Waadt", + "domain": "st-cergue.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "st-cergue.ch" + ], + "guess": [ + "saint-cergue.ch", + "saintcergue.ch" + ] + }, + "flags": [] + }, + "5728": { + "bfs": "5728", + "name": "Signy-Avenex", + "canton": "Kanton Waadt", + "domain": "signy-avenex.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "signy-avenex.ch" + ], + "guess": [ + "signy-avenex.ch" + ] + }, + "flags": [] + }, + "5729": { + "bfs": "5729", + "name": "Tannay", + "canton": "Kanton Waadt", + "domain": "tannay.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "tannay.ch" + ], + "guess": [ + "tannay.ch" + ] + }, + "flags": [] + }, + "5730": { + "bfs": "5730", + "name": "Trélex", + "canton": "Kanton Waadt", + "domain": "trelex.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "trelex.ch" + ], + "guess": [ + "trelex.ch" + ] + }, + "flags": [] + }, + "5731": { + "bfs": "5731", + "name": "Le Vaud", + "canton": "Kanton Waadt", + "domain": "levaud.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "levaud.ch" + ], + "redirect": [], + "wikidata": [ + "levaud.ch" + ], + "guess": [ + "levaud.ch" + ] + }, + "flags": [] + }, + "5732": { + "bfs": "5732", + "name": "Vich", + "canton": "Kanton Waadt", + "domain": "vich.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vich.ch" + ], + "redirect": [], + "wikidata": [ + "vich.ch" + ], + "guess": [ + "vich.ch" + ] + }, + "flags": [] + }, + "5741": { + "bfs": "5741", + "name": "L'Abergement", + "canton": "Kanton Waadt", + "domain": "labergement.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "labergement.ch" + ], + "guess": [ + "labergement.ch" + ] + }, + "flags": [] + }, + "5742": { + "bfs": "5742", + "name": "Agiez", + "canton": "Kanton Waadt", + "domain": "agiez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "agiez.ch" + ], + "redirect": [], + "wikidata": [ + "agiez.ch" + ], + "guess": [ + "agiez.ch" + ] + }, + "flags": [] + }, + "5743": { + "bfs": "5743", + "name": "Arnex-sur-Orbe", + "canton": "Kanton Waadt", + "domain": "arnex-sur-orbe.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "arnex-sur-orbe.ch" + ], + "guess": [ + "arnex-sur-orbe.ch" + ] + }, + "flags": [] + }, + "5744": { + "bfs": "5744", + "name": "Ballaigues", + "canton": "Kanton Waadt", + "domain": "ballaigues.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ballaigues.ch" + ], + "guess": [ + "ballaigues.ch" + ] + }, + "flags": [] + }, + "5745": { + "bfs": "5745", + "name": "Baulmes", + "canton": "Kanton Waadt", + "domain": "baulmes.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "baulmes.ch" + ], + "guess": [ + "baulmes.ch" + ] + }, + "flags": [] + }, + "5746": { + "bfs": "5746", + "name": "Bavois", + "canton": "Kanton Waadt", + "domain": "bavois.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bavois.ch" + ], + "guess": [ + "bavois.ch" + ] + }, + "flags": [] + }, + "5747": { + "bfs": "5747", + "name": "Bofflens", + "canton": "Kanton Waadt", + "domain": "bofflens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bofflens.ch" + ], + "redirect": [], + "wikidata": [ + "bofflens.ch" + ], + "guess": [ + "bofflens.ch" + ] + }, + "flags": [] + }, + "5748": { + "bfs": "5748", + "name": "Bretonnières", + "canton": "Kanton Waadt", + "domain": "bretonnieres.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bretonnieres.ch" + ] + }, + "flags": [] + }, + "5749": { + "bfs": "5749", + "name": "Chavornay", + "canton": "Kanton Waadt", + "domain": "chavornay.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chavornay.ch" + ], + "redirect": [], + "wikidata": [ + "chavornay.ch" + ], + "guess": [ + "chavornay.ch" + ] + }, + "flags": [] + }, + "5750": { + "bfs": "5750", + "name": "Les Clées", + "canton": "Kanton Waadt", + "domain": "lesclees.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lesclees.ch" + ], + "guess": [ + "lesclees.ch" + ] + }, + "flags": [] + }, + "5752": { + "bfs": "5752", + "name": "Croy", + "canton": "Kanton Waadt", + "domain": "croy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "croy.ch", + "montee-nozon.ch" + ], + "redirect": [], + "wikidata": [ + "croy.ch" + ], + "guess": [ + "croy.ch" + ] + }, + "flags": [] + }, + "5754": { + "bfs": "5754", + "name": "Juriens", + "canton": "Kanton Waadt", + "domain": "juriens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "juriens.ch" + ], + "guess": [ + "juriens.ch" + ] + }, + "flags": [] + }, + "5755": { + "bfs": "5755", + "name": "Lignerolle", + "canton": "Kanton Waadt", + "domain": "lignerolle.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "lignerolle.ch" + ] + }, + "flags": [] + }, + "5756": { + "bfs": "5756", + "name": "Montcherand", + "canton": "Kanton Waadt", + "domain": "montcherand.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montcherand.ch" + ], + "redirect": [], + "wikidata": [ + "montcherand.ch" + ], + "guess": [ + "montcherand.ch" + ] + }, + "flags": [] + }, + "5757": { + "bfs": "5757", + "name": "Orbe", + "canton": "Kanton Waadt", + "domain": "orbe.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "orbe.ch" + ], + "guess": [ + "orbe.ch" + ] + }, + "flags": [] + }, + "5758": { + "bfs": "5758", + "name": "La Praz", + "canton": "Kanton Waadt", + "domain": "lapraz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lapraz.ch" + ], + "redirect": [], + "wikidata": [ + "lapraz.ch" + ], + "guess": [ + "lapraz.ch" + ] + }, + "flags": [] + }, + "5759": { + "bfs": "5759", + "name": "Premier", + "canton": "Kanton Waadt", + "domain": "premier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "premier.ch" + ], + "redirect": [], + "wikidata": [ + "premier.ch" + ], + "guess": [ + "premier.ch" + ] + }, + "flags": [] + }, + "5760": { + "bfs": "5760", + "name": "Rances", + "canton": "Kanton Waadt", + "domain": "rances.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rances.ch" + ], + "redirect": [], + "wikidata": [ + "rances.ch" + ], + "guess": [ + "rances.ch" + ] + }, + "flags": [] + }, + "5761": { + "bfs": "5761", + "name": "Romainmôtier-Envy", + "canton": "Kanton Waadt", + "domain": "romainmotier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "romainmotier.ch" + ], + "redirect": [], + "wikidata": [ + "romainmotier.ch" + ], + "guess": [ + "romainmotier-envy.ch" + ] + }, + "flags": [] + }, + "5762": { + "bfs": "5762", + "name": "Sergey", + "canton": "Kanton Waadt", + "domain": "sergey.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sergey.ch" + ], + "guess": [ + "sergey.ch" + ] + }, + "flags": [] + }, + "5763": { + "bfs": "5763", + "name": "Valeyres-sous-Rances", + "canton": "Kanton Waadt", + "domain": "valeyres-sous-rances.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "valeyres-sous-rances.ch" + ], + "guess": [ + "valeyres-sous-rances.ch" + ] + }, + "flags": [] + }, + "5764": { + "bfs": "5764", + "name": "Vallorbe", + "canton": "Kanton Waadt", + "domain": "vallorbe.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vallorbe.ch" + ], + "redirect": [], + "wikidata": [ + "vallorbe.ch" + ], + "guess": [ + "vallorbe.ch" + ] + }, + "flags": [] + }, + "5765": { + "bfs": "5765", + "name": "Vaulion", + "canton": "Kanton Waadt", + "domain": "vaulion.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vaulion.ch" + ], + "redirect": [], + "wikidata": [ + "vaulion.ch" + ], + "guess": [ + "vaulion.ch" + ] + }, + "flags": [] + }, + "5766": { + "bfs": "5766", + "name": "Vuiteboeuf", + "canton": "Kanton Waadt", + "domain": "vuiteboeuf.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vuiteboeuf.ch" + ], + "guess": [ + "vuiteboeuf.ch" + ] + }, + "flags": [] + }, + "5785": { + "bfs": "5785", + "name": "Corcelles-le-Jorat", + "canton": "Kanton Waadt", + "domain": "corcelles-le-jorat.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corcelles-le-jorat.ch" + ], + "redirect": [], + "wikidata": [ + "corcelles-le-jorat.ch" + ], + "guess": [ + "corcelles-le-jorat.ch" + ] + }, + "flags": [] + }, + "5790": { + "bfs": "5790", + "name": "Maracon", + "canton": "Kanton Waadt", + "domain": "maracon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "maracon.ch" + ], + "redirect": [], + "wikidata": [ + "maracon.ch" + ], + "guess": [ + "maracon.ch" + ] + }, + "flags": [] + }, + "5792": { + "bfs": "5792", + "name": "Montpreveyres", + "canton": "Kanton Waadt", + "domain": "montpreveyres.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "montpreveyres.ch" + ], + "guess": [ + "montpreveyres.ch" + ] + }, + "flags": [] + }, + "5798": { + "bfs": "5798", + "name": "Ropraz", + "canton": "Kanton Waadt", + "domain": "ropraz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ropraz.ch" + ], + "guess": [ + "ropraz.ch" + ] + }, + "flags": [] + }, + "5799": { + "bfs": "5799", + "name": "Servion", + "canton": "Kanton Waadt", + "domain": "servion.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "servion.ch" + ], + "redirect": [], + "wikidata": [ + "servion.ch" + ], + "guess": [ + "servion.ch" + ] + }, + "flags": [] + }, + "5803": { + "bfs": "5803", + "name": "Vulliens", + "canton": "Kanton Waadt", + "domain": "vulliens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vulliens.ch" + ], + "redirect": [], + "wikidata": [ + "vulliens.ch" + ], + "guess": [ + "vulliens.ch" + ] + }, + "flags": [] + }, + "5804": { + "bfs": "5804", + "name": "Jorat-Menthue", + "canton": "Kanton Waadt", + "domain": "jorat-menthue.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jorat-menthue.ch" + ], + "redirect": [], + "wikidata": [ + "jorat-menthue.ch" + ], + "guess": [ + "jorat-menthue.ch" + ] + }, + "flags": [] + }, + "5805": { + "bfs": "5805", + "name": "Oron", + "canton": "Kanton Waadt", + "domain": "oron.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oron.ch" + ], + "redirect": [], + "wikidata": [ + "oron.ch" + ], + "guess": [ + "oron.ch" + ] + }, + "flags": [] + }, + "5806": { + "bfs": "5806", + "name": "Jorat-Mézières", + "canton": "Kanton Waadt", + "domain": "jorat-mezieres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jorat-mezieres.ch" + ], + "redirect": [], + "wikidata": [ + "jorat-mezieres.ch" + ], + "guess": [ + "jorat-mezieres.ch" + ] + }, + "flags": [] + }, + "5812": { + "bfs": "5812", + "name": "Champtauroz", + "canton": "Kanton Waadt", + "domain": "champtauroz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "champtauroz.ch" + ], + "redirect": [], + "wikidata": [ + "champtauroz.ch" + ], + "guess": [ + "champtauroz.ch" + ] + }, + "flags": [] + }, + "5813": { + "bfs": "5813", + "name": "Chevroux", + "canton": "Kanton Waadt", + "domain": "chevroux.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chevroux.ch" + ], + "guess": [ + "chevroux.ch" + ] + }, + "flags": [] + }, + "5816": { + "bfs": "5816", + "name": "Corcelles-près-Payerne", + "canton": "Kanton Waadt", + "domain": "corcelles.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corcelles.ch" + ], + "redirect": [], + "wikidata": [ + "corcelles.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5817": { + "bfs": "5817", + "name": "Grandcour", + "canton": "Kanton Waadt", + "domain": "grandcour.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grandcour.ch" + ], + "redirect": [], + "wikidata": [ + "grandcour.ch" + ], + "guess": [ + "grandcour.ch" + ] + }, + "flags": [] + }, + "5819": { + "bfs": "5819", + "name": "Henniez", + "canton": "Kanton Waadt", + "domain": "commune-henniez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "commune-henniez.ch" + ], + "redirect": [], + "wikidata": [ + "commune-henniez.ch" + ], + "guess": [ + "henniez.ch" + ] + }, + "flags": [] + }, + "5821": { + "bfs": "5821", + "name": "Missy", + "canton": "Kanton Waadt", + "domain": "missy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "missy.ch" + ], + "redirect": [], + "wikidata": [ + "missy.ch" + ], + "guess": [ + "missy.ch" + ] + }, + "flags": [] + }, + "5822": { + "bfs": "5822", + "name": "Payerne", + "canton": "Kanton Waadt", + "domain": "payerne.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "payerne.ch" + ], + "guess": [ + "payerne.ch" + ] + }, + "flags": [] + }, + "5827": { + "bfs": "5827", + "name": "Trey", + "canton": "Kanton Waadt", + "domain": "trey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trey.ch" + ], + "redirect": [], + "wikidata": [ + "trey.ch" + ], + "guess": [ + "trey.ch" + ] + }, + "flags": [] + }, + "5828": { + "bfs": "5828", + "name": "Treytorrens (Payerne)", + "canton": "Kanton Waadt", + "domain": "treytorrens.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "treytorrens.ch" + ], + "guess": [ + "treytorrens.ch" + ] + }, + "flags": [] + }, + "5830": { + "bfs": "5830", + "name": "Villarzel", + "canton": "Kanton Waadt", + "domain": "villarzel.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "villarzel.ch" + ], + "guess": [ + "villarzel.ch" + ] + }, + "flags": [] + }, + "5831": { + "bfs": "5831", + "name": "Valbroye", + "canton": "Kanton Waadt", + "domain": "valbroye.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "valbroye.ch" + ], + "guess": [ + "valbroye.ch" + ] + }, + "flags": [] + }, + "5841": { + "bfs": "5841", + "name": "Château-d'Oex", + "canton": "Kanton Waadt", + "domain": "chateaudoex-admin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chateaudoex-admin.ch" + ], + "redirect": [], + "wikidata": [ + "chateaudoex-admin.ch" + ], + "guess": [ + "chateau-doex.ch", + "chateaudoex.ch" + ] + }, + "flags": [] + }, + "5842": { + "bfs": "5842", + "name": "Rossinière", + "canton": "Kanton Waadt", + "domain": "rossiniere.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rossiniere.ch" + ], + "redirect": [], + "wikidata": [ + "rossiniere.ch" + ], + "guess": [ + "rossiniere.ch" + ] + }, + "flags": [] + }, + "5843": { + "bfs": "5843", + "name": "Rougemont", + "canton": "Kanton Waadt", + "domain": "rougemont.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rougemont.ch" + ], + "redirect": [], + "wikidata": [ + "rougemont.ch" + ], + "guess": [ + "rougemont.ch" + ] + }, + "flags": [] + }, + "5851": { + "bfs": "5851", + "name": "Allaman", + "canton": "Kanton Waadt", + "domain": "allaman.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "allaman.ch" + ], + "redirect": [], + "wikidata": [ + "allaman.ch" + ], + "guess": [ + "allaman.ch" + ] + }, + "flags": [] + }, + "5852": { + "bfs": "5852", + "name": "Bursinel", + "canton": "Kanton Waadt", + "domain": "bursinel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bursinel.ch" + ], + "redirect": [], + "wikidata": [ + "bursinel.ch" + ], + "guess": [ + "bursinel.ch" + ] + }, + "flags": [] + }, + "5853": { + "bfs": "5853", + "name": "Bursins", + "canton": "Kanton Waadt", + "domain": "bursins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bursins.ch", + "fcbursinsrolleperroy.ch", + "gland.ch" + ], + "redirect": [], + "wikidata": [ + "bursins.ch" + ], + "guess": [ + "bursins.ch" + ] + }, + "flags": [] + }, + "5854": { + "bfs": "5854", + "name": "Burtigny", + "canton": "Kanton Waadt", + "domain": "burtigny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "burtigny.ch" + ], + "guess": [ + "burtigny.ch" + ] + }, + "flags": [] + }, + "5855": { + "bfs": "5855", + "name": "Dully", + "canton": "Kanton Waadt", + "domain": "dully.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dully.ch" + ], + "redirect": [], + "wikidata": [ + "dully.ch" + ], + "guess": [ + "dully.ch" + ] + }, + "flags": [] + }, + "5856": { + "bfs": "5856", + "name": "Essertines-sur-Rolle", + "canton": "Kanton Waadt", + "domain": "essertines-sur-rolle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "essertines-sur-rolle.ch" + ], + "redirect": [], + "wikidata": [ + "essertines-sur-rolle.ch" + ], + "guess": [ + "essertines-sur-rolle.ch" + ] + }, + "flags": [] + }, + "5857": { + "bfs": "5857", + "name": "Gilly", + "canton": "Kanton Waadt", + "domain": "gilly.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gilly.ch" + ], + "redirect": [], + "wikidata": [ + "gilly.ch" + ], + "guess": [ + "gilly.ch" + ] + }, + "flags": [] + }, + "5858": { + "bfs": "5858", + "name": "Luins", + "canton": "Kanton Waadt", + "domain": "luins.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "luins.ch" + ], + "redirect": [], + "wikidata": [ + "luins.ch" + ], + "guess": [ + "luins.ch" + ] + }, + "flags": [] + }, + "5859": { + "bfs": "5859", + "name": "Mont-sur-Rolle", + "canton": "Kanton Waadt", + "domain": "mont-sur-rolle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mont-sur-rolle.ch" + ], + "redirect": [], + "wikidata": [ + "mont-sur-rolle.ch" + ], + "guess": [ + "mont-sur-rolle.ch" + ] + }, + "flags": [] + }, + "5860": { + "bfs": "5860", + "name": "Perroy", + "canton": "Kanton Waadt", + "domain": "perroy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "perroy.ch" + ], + "guess": [ + "perroy.ch" + ] + }, + "flags": [] + }, + "5861": { + "bfs": "5861", + "name": "Rolle", + "canton": "Kanton Waadt", + "domain": "rolle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rolle.ch" + ], + "redirect": [], + "wikidata": [ + "rolle.ch" + ], + "guess": [ + "rolle.ch" + ] + }, + "flags": [] + }, + "5862": { + "bfs": "5862", + "name": "Tartegnin", + "canton": "Kanton Waadt", + "domain": "tartegnin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "tartegnin.ch" + ], + "redirect": [], + "wikidata": [ + "tartegnin.ch" + ], + "guess": [ + "tartegnin.ch" + ] + }, + "flags": [] + }, + "5863": { + "bfs": "5863", + "name": "Vinzel", + "canton": "Kanton Waadt", + "domain": "vinzel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vinzel.ch" + ], + "redirect": [], + "wikidata": [ + "vinzel.ch" + ], + "guess": [ + "vinzel.ch" + ] + }, + "flags": [] + }, + "5871": { + "bfs": "5871", + "name": "L'Abbaye", + "canton": "Kanton Waadt", + "domain": "labbaye.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "labbaye.ch" + ], + "redirect": [], + "wikidata": [ + "labbaye.ch" + ], + "guess": [ + "labbaye.ch" + ] + }, + "flags": [] + }, + "5872": { + "bfs": "5872", + "name": "Le Chenit", + "canton": "Kanton Waadt", + "domain": "communeduchenit.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "communeduchenit.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5873": { + "bfs": "5873", + "name": "Le Lieu", + "canton": "Kanton Waadt", + "domain": "lelieu.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lelieu.ch" + ], + "redirect": [], + "wikidata": [ + "lelieu.ch" + ], + "guess": [ + "lelieu.ch" + ] + }, + "flags": [] + }, + "5882": { + "bfs": "5882", + "name": "Chardonne", + "canton": "Kanton Waadt", + "domain": "chardonne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chardonne.ch", + "comx.org", + "jongny.ch", + "securiv.ch" + ], + "redirect": [], + "wikidata": [ + "chardonne.ch" + ], + "guess": [ + "chardonne.ch" + ] + }, + "flags": [] + }, + "5883": { + "bfs": "5883", + "name": "Corseaux", + "canton": "Kanton Waadt", + "domain": "corseaux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corseaux.ch" + ], + "redirect": [], + "wikidata": [ + "corseaux.ch" + ], + "guess": [ + "corseaux.ch" + ] + }, + "flags": [] + }, + "5884": { + "bfs": "5884", + "name": "Corsier-sur-Vevey", + "canton": "Kanton Waadt", + "domain": "corsier-sur-vevey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corsier-sur-vevey.ch" + ], + "redirect": [], + "wikidata": [ + "corsier-sur-vevey.ch" + ], + "guess": [ + "corsier-sur-vevey.ch" + ] + }, + "flags": [] + }, + "5885": { + "bfs": "5885", + "name": "Jongny", + "canton": "Kanton Waadt", + "domain": "jongny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jongny.ch" + ], + "redirect": [], + "wikidata": [ + "jongny.ch" + ], + "guess": [ + "jongny.ch" + ] + }, + "flags": [] + }, + "5886": { + "bfs": "5886", + "name": "Montreux", + "canton": "Kanton Waadt", + "domain": "montreux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montreux.ch" + ], + "redirect": [], + "wikidata": [ + "montreux.ch" + ], + "guess": [ + "montreux.ch" + ] + }, + "flags": [] + }, + "5889": { + "bfs": "5889", + "name": "La Tour-de-Peilz", + "canton": "Kanton Waadt", + "domain": "la-tour-de-peilz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "la-tour-de-peilz.ch" + ], + "redirect": [], + "wikidata": [ + "la-tour-de-peilz.ch" + ], + "guess": [ + "la-tour-de-peilz.ch" + ] + }, + "flags": [] + }, + "5890": { + "bfs": "5890", + "name": "Vevey", + "canton": "Kanton Waadt", + "domain": "vevey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vevey.ch" + ], + "redirect": [], + "wikidata": [ + "vevey.ch" + ], + "guess": [ + "stadt-vevey.ch", + "vevey.ch" + ] + }, + "flags": [] + }, + "5891": { + "bfs": "5891", + "name": "Veytaux", + "canton": "Kanton Waadt", + "domain": "veytaux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "veytaux.ch" + ], + "redirect": [], + "wikidata": [ + "veytaux.ch" + ], + "guess": [ + "veytaux.ch" + ] + }, + "flags": [] + }, + "5892": { + "bfs": "5892", + "name": "Blonay - Saint-Légier", + "canton": "Kanton Waadt", + "domain": "bstl.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "bstl.ch" + ] + }, + "flags": [] + }, + "5902": { + "bfs": "5902", + "name": "Belmont-sur-Yverdon", + "canton": "Kanton Waadt", + "domain": "belmont-sur-yverdon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "belmont-sur-yverdon.ch" + ], + "redirect": [], + "wikidata": [ + "belmont-sur-yverdon.ch" + ], + "guess": [ + "belmont-sur-yverdon.ch" + ] + }, + "flags": [] + }, + "5903": { + "bfs": "5903", + "name": "Bioley-Magnoux", + "canton": "Kanton Waadt", + "domain": "bioley-magnoux.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bioley-magnoux.ch" + ], + "guess": [ + "bioley-magnoux.ch" + ] + }, + "flags": [] + }, + "5904": { + "bfs": "5904", + "name": "Chamblon", + "canton": "Kanton Waadt", + "domain": "chamblon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chamblon.ch" + ], + "redirect": [], + "wikidata": [ + "chamblon.ch" + ], + "guess": [ + "chamblon.ch" + ] + }, + "flags": [] + }, + "5905": { + "bfs": "5905", + "name": "Champvent", + "canton": "Kanton Waadt", + "domain": "champvent.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "champvent.ch" + ], + "guess": [ + "champvent.ch" + ] + }, + "flags": [] + }, + "5907": { + "bfs": "5907", + "name": "Chavannes-le-Chêne", + "canton": "Kanton Waadt", + "domain": "chavannes-le-chene.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chavannes-le-chene.ch" + ], + "guess": [ + "chavannes-le-chene.ch" + ] + }, + "flags": [] + }, + "5908": { + "bfs": "5908", + "name": "Chêne-Pâquier", + "canton": "Kanton Waadt", + "domain": "chene-paquier.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "chene-paquier.ch" + ], + "guess": [ + "chene-paquier.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "5909": { + "bfs": "5909", + "name": "Cheseaux-Noréaz", + "canton": "Kanton Waadt", + "domain": "cheseaux-noreaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cheseaux-noreaz.ch" + ], + "redirect": [], + "wikidata": [ + "cheseaux-noreaz.ch" + ], + "guess": [ + "cheseaux-noreaz.ch" + ] + }, + "flags": [] + }, + "5910": { + "bfs": "5910", + "name": "Cronay", + "canton": "Kanton Waadt", + "domain": "cronay.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cronay.ch" + ], + "redirect": [], + "wikidata": [ + "cronay.ch" + ], + "guess": [ + "cronay.ch" + ] + }, + "flags": [] + }, + "5911": { + "bfs": "5911", + "name": "Cuarny", + "canton": "Kanton Waadt", + "domain": "cuarny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cuarny.ch" + ], + "redirect": [], + "wikidata": [ + "cuarny.ch" + ], + "guess": [ + "cuarny.ch" + ] + }, + "flags": [] + }, + "5912": { + "bfs": "5912", + "name": "Démoret", + "canton": "Kanton Waadt", + "domain": "demoret.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "demoret.ch" + ], + "redirect": [], + "wikidata": [ + "demoret.ch" + ], + "guess": [ + "demoret.ch" + ] + }, + "flags": [] + }, + "5913": { + "bfs": "5913", + "name": "Donneloye", + "canton": "Kanton Waadt", + "domain": "donneloye.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "donneloye.ch" + ], + "guess": [ + "donneloye.ch" + ] + }, + "flags": [] + }, + "5914": { + "bfs": "5914", + "name": "Ependes (VD)", + "canton": "Kanton Waadt", + "domain": "ependesvd.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ependesvd.ch" + ], + "guess": [ + "ependes.ch" + ] + }, + "flags": [] + }, + "5919": { + "bfs": "5919", + "name": "Mathod", + "canton": "Kanton Waadt", + "domain": "mathod.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mathod.ch" + ], + "guess": [ + "mathod.ch" + ] + }, + "flags": [] + }, + "5921": { + "bfs": "5921", + "name": "Molondin", + "canton": "Kanton Waadt", + "domain": "molondin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mediaterre.ch", + "molondin.ch" + ], + "redirect": [], + "wikidata": [ + "molondin.ch" + ], + "guess": [ + "molondin.ch" + ] + }, + "flags": [] + }, + "5922": { + "bfs": "5922", + "name": "Montagny-près-Yverdon", + "canton": "Kanton Waadt", + "domain": "montagny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montagny.ch" + ], + "redirect": [], + "wikidata": [ + "montagny.ch" + ], + "guess": [] + }, + "flags": [] + }, + "5923": { + "bfs": "5923", + "name": "Oppens", + "canton": "Kanton Waadt", + "domain": "oppens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "citycable.ch", + "oppens.ch" + ], + "redirect": [], + "wikidata": [ + "oppens.ch" + ], + "guess": [ + "oppens.ch" + ] + }, + "flags": [] + }, + "5924": { + "bfs": "5924", + "name": "Orges", + "canton": "Kanton Waadt", + "domain": "orges.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "orges.ch" + ], + "redirect": [], + "wikidata": [ + "orges.ch" + ], + "guess": [ + "orges.ch" + ] + }, + "flags": [] + }, + "5925": { + "bfs": "5925", + "name": "Orzens", + "canton": "Kanton Waadt", + "domain": "orzens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "orzens.ch" + ], + "redirect": [], + "wikidata": [ + "orzens.ch" + ], + "guess": [ + "orzens.ch" + ] + }, + "flags": [] + }, + "5926": { + "bfs": "5926", + "name": "Pomy", + "canton": "Kanton Waadt", + "domain": "pomy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "pomy.ch" + ], + "redirect": [], + "wikidata": [ + "pomy.ch" + ], + "guess": [ + "pomy.ch" + ] + }, + "flags": [] + }, + "5928": { + "bfs": "5928", + "name": "Rovray", + "canton": "Kanton Waadt", + "domain": "rovray.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rovray.ch" + ], + "redirect": [], + "wikidata": [ + "rovray.ch" + ], + "guess": [ + "rovray.ch" + ] + }, + "flags": [] + }, + "5929": { + "bfs": "5929", + "name": "Suchy", + "canton": "Kanton Waadt", + "domain": "suchy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "suchy.ch" + ], + "guess": [ + "suchy.ch" + ] + }, + "flags": [] + }, + "5930": { + "bfs": "5930", + "name": "Suscévaz", + "canton": "Kanton Waadt", + "domain": "suscevaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "suscevaz.ch" + ], + "guess": [ + "suscevaz.ch" + ] + }, + "flags": [] + }, + "5931": { + "bfs": "5931", + "name": "Treycovagnes", + "canton": "Kanton Waadt", + "domain": "treycovagnes.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "treycovagnes.ch" + ], + "redirect": [], + "wikidata": [ + "treycovagnes.ch" + ], + "guess": [ + "treycovagnes.ch" + ] + }, + "flags": [] + }, + "5932": { + "bfs": "5932", + "name": "Ursins", + "canton": "Kanton Waadt", + "domain": "ursins.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ursins.ch" + ], + "guess": [ + "ursins.ch" + ] + }, + "flags": [] + }, + "5933": { + "bfs": "5933", + "name": "Valeyres-sous-Montagny", + "canton": "Kanton Waadt", + "domain": "valeyres-sous-montagny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "valeyres-sous-montagny.ch" + ], + "guess": [ + "valeyres-sous-montagny.ch" + ] + }, + "flags": [] + }, + "5934": { + "bfs": "5934", + "name": "Valeyres-sous-Ursins", + "canton": "Kanton Waadt", + "domain": "bluemail.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "bluemail.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [] + }, + "flags": [] + }, + "5935": { + "bfs": "5935", + "name": "Villars-Epeney", + "canton": "Kanton Waadt", + "domain": "villars-epeney.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "villars-epeney.ch" + ], + "redirect": [], + "wikidata": [ + "villars-epeney.ch" + ], + "guess": [ + "villars-epeney.ch" + ] + }, + "flags": [] + }, + "5937": { + "bfs": "5937", + "name": "Vugelles-La Mothe", + "canton": "Kanton Waadt", + "domain": "vugelleslamothe.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vugelleslamothe.ch" + ], + "guess": [ + "vugelleslamothe.ch" + ] + }, + "flags": [] + }, + "5938": { + "bfs": "5938", + "name": "Yverdon-les-Bains", + "canton": "Kanton Waadt", + "domain": "yverdon-les-bains.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "yverdon-les-bains.ch" + ], + "redirect": [], + "wikidata": [ + "yverdon-les-bains.ch" + ], + "guess": [ + "yverdon-les-bains.ch", + "yverdonlesbains.ch" + ] + }, + "flags": [] + }, + "5939": { + "bfs": "5939", + "name": "Yvonand", + "canton": "Kanton Waadt", + "domain": "yvonand.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "yvonand.ch" + ], + "redirect": [], + "wikidata": [ + "yvonand.ch" + ], + "guess": [ + "yvonand.ch" + ] + }, + "flags": [] + }, + "6002": { + "bfs": "6002", + "name": "Brig-Glis", + "canton": "Kanton Wallis", + "domain": "brig-glis.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "brig-glis.ch" + ], + "guess": [ + "brig-glis.ch", + "brigglis.ch" + ] + }, + "flags": [] + }, + "6004": { + "bfs": "6004", + "name": "Eggerberg", + "canton": "Kanton Wallis", + "domain": "eggerberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eggerberg.ch" + ], + "redirect": [], + "wikidata": [ + "eggerberg.ch" + ], + "guess": [ + "eggerberg.ch" + ] + }, + "flags": [] + }, + "6007": { + "bfs": "6007", + "name": "Naters", + "canton": "Kanton Wallis", + "domain": "naters.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "naters.ch" + ], + "guess": [ + "naters.ch" + ] + }, + "flags": [] + }, + "6008": { + "bfs": "6008", + "name": "Ried-Brig", + "canton": "Kanton Wallis", + "domain": "ried-brig.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ried-brig.ch" + ], + "guess": [ + "ried-brig.ch", + "riedbrig.ch" + ] + }, + "flags": [] + }, + "6009": { + "bfs": "6009", + "name": "Simplon", + "canton": "Kanton Wallis", + "domain": "gemeinde-simplon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gemeinde-simplon.ch" + ], + "guess": [ + "gemeinde-simplon.ch", + "simplon.ch" + ] + }, + "flags": [] + }, + "6010": { + "bfs": "6010", + "name": "Termen", + "canton": "Kanton Wallis", + "domain": "termen.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "termen.ch" + ], + "guess": [ + "termen.ch" + ] + }, + "flags": [] + }, + "6011": { + "bfs": "6011", + "name": "Zwischbergen", + "canton": "Kanton Wallis", + "domain": "gondo.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gondo.ch" + ], + "guess": [] + }, + "flags": [ + "website_mismatch" + ] + }, + "6021": { + "bfs": "6021", + "name": "Ardon", + "canton": "Kanton Wallis", + "domain": "ardon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ardon.ch" + ], + "guess": [ + "ardon.ch" + ] + }, + "flags": [] + }, + "6022": { + "bfs": "6022", + "name": "Chamoson", + "canton": "Kanton Wallis", + "domain": "chamoson.net", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chamoson.net" + ], + "redirect": [], + "wikidata": [ + "chamoson.net" + ], + "guess": [ + "chamoson.ch" + ] + }, + "flags": [] + }, + "6023": { + "bfs": "6023", + "name": "Conthey", + "canton": "Kanton Wallis", + "domain": "conthey.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "conthey.ch" + ], + "guess": [ + "conthey.ch" + ] + }, + "flags": [] + }, + "6024": { + "bfs": "6024", + "name": "Nendaz", + "canton": "Kanton Wallis", + "domain": "nendaz.org", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "nendaz.org" + ], + "guess": [ + "nendaz.ch" + ] + }, + "flags": [] + }, + "6025": { + "bfs": "6025", + "name": "Vétroz", + "canton": "Kanton Wallis", + "domain": "vetroz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vetroz.ch" + ], + "guess": [ + "vetroz.ch" + ] + }, + "flags": [] + }, + "6032": { + "bfs": "6032", + "name": "Bourg-Saint-Pierre", + "canton": "Kanton Wallis", + "domain": "bourg-saint-pierre.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bourg-saint-pierre.ch" + ], + "redirect": [], + "wikidata": [ + "bourg-saint-pierre.ch" + ], + "guess": [ + "bourg-saint-pierre.ch" + ] + }, + "flags": [] + }, + "6033": { + "bfs": "6033", + "name": "Liddes", + "canton": "Kanton Wallis", + "domain": "liddes.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "liddes.ch" + ], + "guess": [ + "liddes.ch" + ] + }, + "flags": [] + }, + "6034": { + "bfs": "6034", + "name": "Orsières", + "canton": "Kanton Wallis", + "domain": "orsieres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "orsieres.ch" + ], + "redirect": [], + "wikidata": [ + "orsieres.ch" + ], + "guess": [ + "orsieres.ch" + ] + }, + "flags": [] + }, + "6035": { + "bfs": "6035", + "name": "Sembrancher", + "canton": "Kanton Wallis", + "domain": "sembrancher.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "admin.vs.ch", + "sembrancher.ch" + ], + "redirect": [], + "wikidata": [ + "sembrancher.ch" + ], + "guess": [ + "sembrancher.ch" + ] + }, + "flags": [] + }, + "6037": { + "bfs": "6037", + "name": "Val de Bagnes", + "canton": "Kanton Wallis", + "domain": "valdebagnes.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "valdebagnes.ch" + ], + "redirect": [], + "wikidata": [ + "valdebagnes.ch" + ], + "guess": [ + "valdebagnes.ch" + ] + }, + "flags": [] + }, + "6052": { + "bfs": "6052", + "name": "Bellwald", + "canton": "Kanton Wallis", + "domain": "bellwald.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bellwald.ch", + "police.vs.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "bellwald.ch" + ] + }, + "flags": [] + }, + "6054": { + "bfs": "6054", + "name": "Binn", + "canton": "Kanton Wallis", + "domain": "binn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "binn.ch", + "landschaftspark-binntal.ch" + ], + "redirect": [], + "wikidata": [ + "binn.ch" + ], + "guess": [ + "binn.ch" + ] + }, + "flags": [] + }, + "6056": { + "bfs": "6056", + "name": "Ernen", + "canton": "Kanton Wallis", + "domain": "ernen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ernen.ch", + "landschaftspark-binntal.ch", + "musikdorf.ch" + ], + "redirect": [], + "wikidata": [ + "ernen.ch" + ], + "guess": [ + "ernen.ch" + ] + }, + "flags": [] + }, + "6057": { + "bfs": "6057", + "name": "Fiesch", + "canton": "Kanton Wallis", + "domain": "gemeinde-fiesch.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gemeinde-fiesch.ch" + ], + "guess": [ + "fiesch.ch", + "gemeinde-fiesch.ch" + ] + }, + "flags": [] + }, + "6058": { + "bfs": "6058", + "name": "Fieschertal", + "canton": "Kanton Wallis", + "domain": "fieschertal.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fieschertal.ch" + ], + "redirect": [], + "wikidata": [ + "fieschertal.ch" + ], + "guess": [ + "fieschertal.ch" + ] + }, + "flags": [] + }, + "6061": { + "bfs": "6061", + "name": "Lax", + "canton": "Kanton Wallis", + "domain": "lax.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lax.ch" + ], + "guess": [ + "lax.ch" + ] + }, + "flags": [] + }, + "6076": { + "bfs": "6076", + "name": "Obergoms", + "canton": "Kanton Wallis", + "domain": "obergoms.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "obergoms.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "obergoms.ch" + ] + }, + "flags": [] + }, + "6077": { + "bfs": "6077", + "name": "Goms", + "canton": "Kanton Wallis", + "domain": "gemeinde-goms.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gemeinde-goms.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-goms.ch" + ], + "guess": [ + "gemeinde-goms.ch", + "goms.ch" + ] + }, + "flags": [] + }, + "6082": { + "bfs": "6082", + "name": "Ayent", + "canton": "Kanton Wallis", + "domain": "ayent.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ayent.ch" + ], + "guess": [ + "ayent.ch" + ] + }, + "flags": [] + }, + "6083": { + "bfs": "6083", + "name": "Evolène", + "canton": "Kanton Wallis", + "domain": "commune-evolene.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "commune-evolene.ch" + ], + "guess": [ + "evolene.ch" + ] + }, + "flags": [] + }, + "6084": { + "bfs": "6084", + "name": "Hérémence", + "canton": "Kanton Wallis", + "domain": "heremence.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "heremence.ch" + ], + "guess": [ + "heremence.ch" + ] + }, + "flags": [] + }, + "6087": { + "bfs": "6087", + "name": "Saint-Martin (VS)", + "canton": "Kanton Wallis", + "domain": "saint-martin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saint-martin.ch" + ], + "redirect": [], + "wikidata": [ + "saint-martin.ch" + ], + "guess": [ + "saint-martin.ch", + "saintmartin.ch" + ] + }, + "flags": [] + }, + "6089": { + "bfs": "6089", + "name": "Vex", + "canton": "Kanton Wallis", + "domain": "vex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vex.ch" + ], + "redirect": [], + "wikidata": [ + "vex.ch" + ], + "guess": [ + "vex.ch" + ] + }, + "flags": [] + }, + "6090": { + "bfs": "6090", + "name": "Mont-Noble", + "canton": "Kanton Wallis", + "domain": "mont-noble.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "hemmer.ch" + ], + "redirect": [], + "wikidata": [ + "mont-noble.ch" + ], + "guess": [ + "mont-noble.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6101": { + "bfs": "6101", + "name": "Agarn", + "canton": "Kanton Wallis", + "domain": "agarn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "agarn.ch" + ], + "redirect": [], + "wikidata": [ + "agarn.ch" + ], + "guess": [ + "agarn.ch" + ] + }, + "flags": [] + }, + "6102": { + "bfs": "6102", + "name": "Albinen", + "canton": "Kanton Wallis", + "domain": "albinen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "albinen.ch" + ], + "redirect": [], + "wikidata": [ + "albinen.ch" + ], + "guess": [ + "albinen.ch" + ] + }, + "flags": [] + }, + "6104": { + "bfs": "6104", + "name": "Ergisch", + "canton": "Kanton Wallis", + "domain": "ergisch.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "ergisch.ch" + ], + "guess": [ + "ergisch.ch" + ] + }, + "flags": [] + }, + "6109": { + "bfs": "6109", + "name": "Inden", + "canton": "Kanton Wallis", + "domain": "inden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "inden.ch" + ], + "redirect": [], + "wikidata": [ + "inden.ch" + ], + "guess": [ + "inden.ch" + ] + }, + "flags": [] + }, + "6110": { + "bfs": "6110", + "name": "Leuk", + "canton": "Kanton Wallis", + "domain": "leuk.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "leuk.ch" + ], + "guess": [ + "leuk.ch" + ] + }, + "flags": [] + }, + "6111": { + "bfs": "6111", + "name": "Leukerbad", + "canton": "Kanton Wallis", + "domain": "leukerbad.org", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leukerbad.org" + ], + "redirect": [], + "wikidata": [ + "leukerbad.org" + ], + "guess": [ + "leukerbad.ch" + ] + }, + "flags": [] + }, + "6112": { + "bfs": "6112", + "name": "Oberems", + "canton": "Kanton Wallis", + "domain": "oberems.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "oberems.ch" + ], + "redirect": [], + "wikidata": [ + "oberems.ch" + ], + "guess": [ + "oberems.ch" + ] + }, + "flags": [] + }, + "6113": { + "bfs": "6113", + "name": "Salgesch", + "canton": "Kanton Wallis", + "domain": "salgesch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "salgesch.ch" + ], + "redirect": [], + "wikidata": [ + "salgesch.ch" + ], + "guess": [ + "salgesch.ch" + ] + }, + "flags": [] + }, + "6116": { + "bfs": "6116", + "name": "Varen", + "canton": "Kanton Wallis", + "domain": "varen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "varen.ch" + ], + "redirect": [], + "wikidata": [ + "varen.ch" + ], + "guess": [ + "varen.ch" + ] + }, + "flags": [] + }, + "6117": { + "bfs": "6117", + "name": "Guttet-Feschel", + "canton": "Kanton Wallis", + "domain": "guttet-feschel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "guttet-feschel.ch" + ], + "redirect": [], + "wikidata": [ + "guttet-feschel.ch" + ], + "guess": [ + "guttet-feschel.ch", + "guttetfeschel.ch" + ] + }, + "flags": [] + }, + "6118": { + "bfs": "6118", + "name": "Gampel-Bratsch", + "canton": "Kanton Wallis", + "domain": "gampel-bratsch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "gampel-bratsch.ch" + ], + "redirect": [], + "wikidata": [ + "gampel-bratsch.ch" + ], + "guess": [ + "gampel-bratsch.ch" + ] + }, + "flags": [] + }, + "6119": { + "bfs": "6119", + "name": "Turtmann-Unterems", + "canton": "Kanton Wallis", + "domain": "turtmann-unterems.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "turtmann-unterems.ch" + ], + "redirect": [], + "wikidata": [ + "turtmann-unterems.ch" + ], + "guess": [ + "turtmann-unterems.ch" + ] + }, + "flags": [] + }, + "6131": { + "bfs": "6131", + "name": "Bovernier", + "canton": "Kanton Wallis", + "domain": "bovernier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bovernier.ch" + ], + "guess": [ + "bovernier.ch" + ] + }, + "flags": [] + }, + "6133": { + "bfs": "6133", + "name": "Fully", + "canton": "Kanton Wallis", + "domain": "fully.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fully.ch" + ], + "guess": [ + "fully.ch" + ] + }, + "flags": [] + }, + "6134": { + "bfs": "6134", + "name": "Isérables", + "canton": "Kanton Wallis", + "domain": "iserables.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "iserables.ch" + ], + "guess": [ + "iserables.ch" + ] + }, + "flags": [] + }, + "6135": { + "bfs": "6135", + "name": "Leytron", + "canton": "Kanton Wallis", + "domain": "leytron.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "leytron.ch" + ], + "redirect": [], + "wikidata": [ + "leytron.ch" + ], + "guess": [ + "leytron.ch" + ] + }, + "flags": [] + }, + "6136": { + "bfs": "6136", + "name": "Martigny", + "canton": "Kanton Wallis", + "domain": "martigny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "martigny.ch" + ], + "guess": [ + "martigny.ch" + ] + }, + "flags": [] + }, + "6137": { + "bfs": "6137", + "name": "Martigny-Combe", + "canton": "Kanton Wallis", + "domain": "martigny-combe.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "axianet.ch", + "martigny-combe.ch" + ], + "redirect": [], + "wikidata": [ + "martigny-combe.ch" + ], + "guess": [ + "martigny-combe.ch" + ] + }, + "flags": [] + }, + "6139": { + "bfs": "6139", + "name": "Riddes", + "canton": "Kanton Wallis", + "domain": "riddes.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "riddes.ch" + ], + "guess": [ + "riddes.ch" + ] + }, + "flags": [] + }, + "6140": { + "bfs": "6140", + "name": "Saillon", + "canton": "Kanton Wallis", + "domain": "commune-saillon.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "commune-saillon.ch" + ] + }, + "flags": [] + }, + "6141": { + "bfs": "6141", + "name": "Saxon", + "canton": "Kanton Wallis", + "domain": "admin.saxon.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "admin.saxon.ch" + ] + }, + "flags": [] + }, + "6142": { + "bfs": "6142", + "name": "Trient", + "canton": "Kanton Wallis", + "domain": "trient.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "trient.ch" + ], + "redirect": [], + "wikidata": [ + "trient.ch" + ], + "guess": [ + "trient.ch" + ] + }, + "flags": [] + }, + "6151": { + "bfs": "6151", + "name": "Champéry", + "canton": "Kanton Wallis", + "domain": "champery.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "champery.ch" + ], + "redirect": [], + "wikidata": [ + "admin-champery.ch" + ], + "guess": [ + "champery.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6152": { + "bfs": "6152", + "name": "Collombey-Muraz", + "canton": "Kanton Wallis", + "domain": "collombey-muraz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "collombey-muraz.ch" + ], + "guess": [ + "collombey-muraz.ch" + ] + }, + "flags": [] + }, + "6153": { + "bfs": "6153", + "name": "Monthey", + "canton": "Kanton Wallis", + "domain": "monthey.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "monthey.ch" + ], + "redirect": [], + "wikidata": [ + "monthey.ch" + ], + "guess": [ + "monthey.ch" + ] + }, + "flags": [] + }, + "6154": { + "bfs": "6154", + "name": "Port-Valais", + "canton": "Kanton Wallis", + "domain": "port-valais.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "port-valais.ch" + ], + "guess": [ + "port-valais.ch" + ] + }, + "flags": [] + }, + "6155": { + "bfs": "6155", + "name": "Saint-Gingolph", + "canton": "Kanton Wallis", + "domain": "st-gingolph.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "st-gingolph.ch" + ], + "guess": [] + }, + "flags": [] + }, + "6156": { + "bfs": "6156", + "name": "Troistorrents", + "canton": "Kanton Wallis", + "domain": "troistorrents.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "troistorrents.ch" + ], + "redirect": [], + "wikidata": [ + "troistorrents.ch" + ], + "guess": [ + "troistorrents.ch" + ] + }, + "flags": [] + }, + "6157": { + "bfs": "6157", + "name": "Val-d'Illiez", + "canton": "Kanton Wallis", + "domain": "illiez.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "illiez.ch" + ], + "guess": [ + "valdilliez.ch" + ] + }, + "flags": [] + }, + "6158": { + "bfs": "6158", + "name": "Vionnaz", + "canton": "Kanton Wallis", + "domain": "vionnaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vionnaz.ch" + ], + "guess": [ + "vionnaz.ch" + ] + }, + "flags": [] + }, + "6159": { + "bfs": "6159", + "name": "Vouvry", + "canton": "Kanton Wallis", + "domain": "vouvry.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vouvry.ch" + ], + "guess": [ + "vouvry.ch" + ] + }, + "flags": [] + }, + "6172": { + "bfs": "6172", + "name": "Bister", + "canton": "Kanton Wallis", + "domain": "gemeinde-bister.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeinde-bister.ch" + ] + }, + "flags": [] + }, + "6173": { + "bfs": "6173", + "name": "Bitsch", + "canton": "Kanton Wallis", + "domain": "bitsch.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bitsch.ch" + ], + "redirect": [], + "wikidata": [ + "bitsch.ch" + ], + "guess": [ + "bitsch.ch" + ] + }, + "flags": [] + }, + "6177": { + "bfs": "6177", + "name": "Grengiols", + "canton": "Kanton Wallis", + "domain": "grengiols.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grengiols.ch", + "landschaftspark-binntal.ch" + ], + "redirect": [], + "wikidata": [ + "grengiols.ch" + ], + "guess": [ + "grengiols.ch" + ] + }, + "flags": [] + }, + "6181": { + "bfs": "6181", + "name": "Riederalp", + "canton": "Kanton Wallis", + "domain": "gemeinde-riederalp.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "gemeinde-riederalp.ch" + ], + "guess": [ + "gemeinde-riederalp.ch", + "riederalp.ch" + ] + }, + "flags": [] + }, + "6191": { + "bfs": "6191", + "name": "Ausserberg", + "canton": "Kanton Wallis", + "domain": "ausserberg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ausserberg.ch" + ], + "redirect": [], + "wikidata": [ + "ausserberg.ch" + ], + "guess": [ + "ausserberg.ch" + ] + }, + "flags": [] + }, + "6192": { + "bfs": "6192", + "name": "Blatten", + "canton": "Kanton Wallis", + "domain": "loetschen.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "loetschen.ch" + ], + "redirect": [], + "wikidata": [ + "blatten-vs.ch" + ], + "guess": [ + "blatten.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6193": { + "bfs": "6193", + "name": "Bürchen", + "canton": "Kanton Wallis", + "domain": "buerchen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "buerchen.ch" + ] + }, + "flags": [] + }, + "6194": { + "bfs": "6194", + "name": "Eischoll", + "canton": "Kanton Wallis", + "domain": "eischoll.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "eischoll.ch", + "skischule-eischoll.ch" + ], + "redirect": [], + "wikidata": [ + "eischoll.ch" + ], + "guess": [ + "eischoll.ch" + ] + }, + "flags": [] + }, + "6195": { + "bfs": "6195", + "name": "Ferden", + "canton": "Kanton Wallis", + "domain": "loetschen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "loetschen.ch" + ] + }, + "flags": [] + }, + "6197": { + "bfs": "6197", + "name": "Kippel", + "canton": "Kanton Wallis", + "domain": "loetschen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "loetschen.ch" + ] + }, + "flags": [] + }, + "6198": { + "bfs": "6198", + "name": "Niedergesteln", + "canton": "Kanton Wallis", + "domain": "niedergesteln.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "niedergesteln.ch" + ], + "guess": [ + "niedergesteln.ch" + ] + }, + "flags": [] + }, + "6199": { + "bfs": "6199", + "name": "Raron", + "canton": "Kanton Wallis", + "domain": "raron.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "raron.ch" + ], + "redirect": [], + "wikidata": [ + "raron.ch" + ], + "guess": [ + "raron.ch" + ] + }, + "flags": [] + }, + "6201": { + "bfs": "6201", + "name": "Unterbäch", + "canton": "Kanton Wallis", + "domain": "unterbaech.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "unterbaech.ch" + ], + "guess": [ + "unterbaech.ch" + ] + }, + "flags": [] + }, + "6202": { + "bfs": "6202", + "name": "Wiler (Lötschen)", + "canton": "Kanton Wallis", + "domain": "wilervs.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "wilervs.ch" + ], + "guess": [ + "wiler.ch" + ] + }, + "flags": [] + }, + "6203": { + "bfs": "6203", + "name": "Mörel-Filet", + "canton": "Kanton Wallis", + "domain": "moerel-filet.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "moerel-filet.ch" + ], + "redirect": [], + "wikidata": [ + "moerel-filet.ch" + ], + "guess": [ + "moerel-filet.ch" + ] + }, + "flags": [] + }, + "6204": { + "bfs": "6204", + "name": "Steg-Hohtenn", + "canton": "Kanton Wallis", + "domain": "steg-hohtenn.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "steg-hohtenn.ch" + ], + "redirect": [], + "wikidata": [ + "steg-hohtenn.ch" + ], + "guess": [ + "steg-hohtenn.ch" + ] + }, + "flags": [] + }, + "6205": { + "bfs": "6205", + "name": "Bettmeralp", + "canton": "Kanton Wallis", + "domain": "gemeinde-bettmeralp.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "gemeinde-bettmeralp.ch" + ] + }, + "flags": [] + }, + "6211": { + "bfs": "6211", + "name": "Collonges", + "canton": "Kanton Wallis", + "domain": "collonges.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "collonges.ch" + ], + "guess": [ + "collonges.ch" + ] + }, + "flags": [] + }, + "6212": { + "bfs": "6212", + "name": "Dorénaz", + "canton": "Kanton Wallis", + "domain": "dorenaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "dorenaz.ch" + ], + "guess": [ + "dorenaz.ch" + ] + }, + "flags": [] + }, + "6213": { + "bfs": "6213", + "name": "Evionnaz", + "canton": "Kanton Wallis", + "domain": "evionnaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "evionnaz.ch" + ], + "guess": [ + "evionnaz.ch" + ] + }, + "flags": [] + }, + "6214": { + "bfs": "6214", + "name": "Finhaut", + "canton": "Kanton Wallis", + "domain": "finhaut.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "finhaut.ch" + ], + "redirect": [], + "wikidata": [ + "finhaut.ch" + ], + "guess": [ + "finhaut.ch" + ] + }, + "flags": [] + }, + "6215": { + "bfs": "6215", + "name": "Massongex", + "canton": "Kanton Wallis", + "domain": "massongex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "massongex.ch" + ], + "redirect": [], + "wikidata": [ + "massongex.ch" + ], + "guess": [ + "massongex.ch" + ] + }, + "flags": [] + }, + "6217": { + "bfs": "6217", + "name": "Saint-Maurice", + "canton": "Kanton Wallis", + "domain": "saint-maurice.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saint-maurice.ch" + ], + "guess": [ + "saint-maurice.ch" + ] + }, + "flags": [] + }, + "6218": { + "bfs": "6218", + "name": "Salvan", + "canton": "Kanton Wallis", + "domain": "salvan.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "salvan.ch" + ], + "redirect": [], + "wikidata": [ + "salvan.ch" + ], + "guess": [ + "salvan.ch" + ] + }, + "flags": [] + }, + "6219": { + "bfs": "6219", + "name": "Vernayaz", + "canton": "Kanton Wallis", + "domain": "vernayaz.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vernayaz.ch" + ], + "redirect": [], + "wikidata": [ + "vernayaz.ch" + ], + "guess": [ + "vernayaz.ch" + ] + }, + "flags": [] + }, + "6220": { + "bfs": "6220", + "name": "Vérossaz", + "canton": "Kanton Wallis", + "domain": "verossaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "verossaz.ch" + ], + "guess": [ + "verossaz.ch" + ] + }, + "flags": [] + }, + "6232": { + "bfs": "6232", + "name": "Chalais", + "canton": "Kanton Wallis", + "domain": "chalais.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chalais.ch" + ], + "guess": [ + "chalais.ch" + ] + }, + "flags": [] + }, + "6235": { + "bfs": "6235", + "name": "Chippis", + "canton": "Kanton Wallis", + "domain": "chippis.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chippis.ch", + "flex.studio" + ], + "redirect": [], + "wikidata": [ + "chippis.ch" + ], + "guess": [ + "chippis.ch" + ] + }, + "flags": [] + }, + "6238": { + "bfs": "6238", + "name": "Grône", + "canton": "Kanton Wallis", + "domain": "grone.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grone.ch" + ], + "guess": [ + "grone.ch" + ] + }, + "flags": [] + }, + "6239": { + "bfs": "6239", + "name": "Icogne", + "canton": "Kanton Wallis", + "domain": "icogne.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "icogne.ch" + ], + "redirect": [], + "wikidata": [ + "icogne.ch" + ], + "guess": [ + "icogne.ch" + ] + }, + "flags": [] + }, + "6240": { + "bfs": "6240", + "name": "Lens", + "canton": "Kanton Wallis", + "domain": "lens.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cransmontana.ch", + "lens.ch" + ], + "redirect": [], + "wikidata": [ + "lens.ch" + ], + "guess": [ + "lens.ch" + ] + }, + "flags": [] + }, + "6246": { + "bfs": "6246", + "name": "Saint-Léonard", + "canton": "Kanton Wallis", + "domain": "st-leonard.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "st-leonard.ch" + ], + "redirect": [], + "wikidata": [ + "st-leonard.ch" + ], + "guess": [ + "saint-leonard.ch" + ] + }, + "flags": [] + }, + "6248": { + "bfs": "6248", + "name": "Sierre", + "canton": "Kanton Wallis", + "domain": "sierre.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "sierre.ch" + ], + "guess": [ + "sierre.ch" + ] + }, + "flags": [] + }, + "6252": { + "bfs": "6252", + "name": "Anniviers", + "canton": "Kanton Wallis", + "domain": "anniviers.org", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "anniviers.org" + ], + "guess": [ + "anniviers.ch" + ] + }, + "flags": [] + }, + "6253": { + "bfs": "6253", + "name": "Crans-Montana", + "canton": "Kanton Wallis", + "domain": "cransmontana.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cransmontana.ch" + ], + "redirect": [], + "wikidata": [], + "guess": [ + "crans-montana.ch", + "cransmontana.ch", + "stadt-crans-montana.ch" + ] + }, + "flags": [] + }, + "6254": { + "bfs": "6254", + "name": "Noble-Contrée", + "canton": "Kanton Wallis", + "domain": "noble-contree.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "noble-contree.ch" + ], + "guess": [ + "noble-contree.ch", + "noblecontree.ch" + ] + }, + "flags": [] + }, + "6261": { + "bfs": "6261", + "name": "Arbaz", + "canton": "Kanton Wallis", + "domain": "arbaz.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "arbaz.ch" + ], + "guess": [ + "arbaz.ch" + ] + }, + "flags": [] + }, + "6263": { + "bfs": "6263", + "name": "Grimisuat", + "canton": "Kanton Wallis", + "domain": "grimisuat.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "grimisuat.ch" + ], + "redirect": [], + "wikidata": [ + "grimisuat.ch" + ], + "guess": [ + "grimisuat.ch" + ] + }, + "flags": [] + }, + "6265": { + "bfs": "6265", + "name": "Savièse", + "canton": "Kanton Wallis", + "domain": "saviese.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "saviese.ch" + ], + "guess": [ + "saviese.ch" + ] + }, + "flags": [] + }, + "6266": { + "bfs": "6266", + "name": "Sion", + "canton": "Kanton Wallis", + "domain": "sion.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "sion.ch" + ], + "redirect": [], + "wikidata": [ + "sion.ch" + ], + "guess": [ + "sion.ch" + ] + }, + "flags": [] + }, + "6267": { + "bfs": "6267", + "name": "Veysonnaz", + "canton": "Kanton Wallis", + "domain": "veysonnaz.org", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "veysonnaz.org" + ], + "guess": [ + "veysonnaz.ch" + ] + }, + "flags": [] + }, + "6281": { + "bfs": "6281", + "name": "Baltschieder", + "canton": "Kanton Wallis", + "domain": "baltschieder.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "baltschieder.ch" + ], + "redirect": [], + "wikidata": [ + "baltschieder.ch" + ], + "guess": [ + "baltschieder.ch" + ] + }, + "flags": [] + }, + "6282": { + "bfs": "6282", + "name": "Eisten", + "canton": "Kanton Wallis", + "domain": "eisten.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "eisten.ch" + ], + "guess": [ + "eisten.ch" + ] + }, + "flags": [] + }, + "6283": { + "bfs": "6283", + "name": "Embd", + "canton": "Kanton Wallis", + "domain": "embd.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "embd.ch" + ], + "redirect": [], + "wikidata": [ + "embd.ch" + ], + "guess": [ + "embd.ch" + ] + }, + "flags": [] + }, + "6285": { + "bfs": "6285", + "name": "Grächen", + "canton": "Kanton Wallis", + "domain": "graechen.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "graechen.ch" + ] + }, + "flags": [] + }, + "6286": { + "bfs": "6286", + "name": "Lalden", + "canton": "Kanton Wallis", + "domain": "lalden.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lalden.ch" + ], + "redirect": [], + "wikidata": [ + "lalden.ch" + ], + "guess": [ + "lalden.ch" + ] + }, + "flags": [] + }, + "6287": { + "bfs": "6287", + "name": "Randa", + "canton": "Kanton Wallis", + "domain": "randa.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "randa.ch" + ], + "redirect": [], + "wikidata": [ + "randa.ch" + ], + "guess": [ + "randa.ch" + ] + }, + "flags": [] + }, + "6288": { + "bfs": "6288", + "name": "Saas-Almagell", + "canton": "Kanton Wallis", + "domain": "3905.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "3905.ch" + ], + "redirect": [], + "wikidata": [ + "saas-almagell.org" + ], + "guess": [ + "saas-almagell.ch", + "saasalmagell.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6289": { + "bfs": "6289", + "name": "Saas-Balen", + "canton": "Kanton Wallis", + "domain": "3908.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "3908.ch" + ] + }, + "flags": [] + }, + "6290": { + "bfs": "6290", + "name": "Saas-Fee", + "canton": "Kanton Wallis", + "domain": "3906.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "3906.ch" + ], + "redirect": [], + "wikidata": [ + "3906.ch" + ], + "guess": [ + "saas-fee.ch", + "saasfee.ch" + ] + }, + "flags": [ + "website_mismatch" + ] + }, + "6291": { + "bfs": "6291", + "name": "Saas-Grund", + "canton": "Kanton Wallis", + "domain": "saas-fee.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "saas-fee.ch" + ], + "redirect": [ + "saas-fee.ch" + ], + "wikidata": [ + "saas-grund.ch" + ], + "guess": [ + "saas-grund.ch", + "saasgrund.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6292": { + "bfs": "6292", + "name": "St. Niklaus", + "canton": "Kanton Wallis", + "domain": "st-niklaus.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "st-niklaus.ch" + ], + "guess": [ + "st-niklaus.ch", + "stniklaus.ch" + ] + }, + "flags": [] + }, + "6293": { + "bfs": "6293", + "name": "Stalden (VS)", + "canton": "Kanton Wallis", + "domain": "stalden.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "stalden.ch" + ], + "guess": [ + "stalden.ch" + ] + }, + "flags": [] + }, + "6294": { + "bfs": "6294", + "name": "Staldenried", + "canton": "Kanton Wallis", + "domain": "staldenried.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "staldenried.ch" + ], + "guess": [ + "staldenried.ch" + ] + }, + "flags": [] + }, + "6295": { + "bfs": "6295", + "name": "Täsch", + "canton": "Kanton Wallis", + "domain": "taesch.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "taesch.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde-taesch.ch" + ], + "guess": [ + "gemeinde-taesch.ch", + "taesch.ch", + "tsch.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6296": { + "bfs": "6296", + "name": "Törbel", + "canton": "Kanton Wallis", + "domain": "toerbel.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "toerbel.ch" + ], + "redirect": [], + "wikidata": [ + "toerbel.ch" + ], + "guess": [ + "toerbel.ch" + ] + }, + "flags": [] + }, + "6297": { + "bfs": "6297", + "name": "Visp", + "canton": "Kanton Wallis", + "domain": "visp.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "visp.ch" + ], + "redirect": [], + "wikidata": [ + "visp.ch" + ], + "guess": [ + "stadt-visp.ch", + "visp.ch" + ] + }, + "flags": [] + }, + "6298": { + "bfs": "6298", + "name": "Visperterminen", + "canton": "Kanton Wallis", + "domain": "visperterminen.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "heidadorf.ch", + "visperterminen.ch" + ], + "redirect": [ + "heidadorf.ch" + ], + "wikidata": [ + "visperterminen.ch" + ], + "guess": [ + "visperterminen.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6299": { + "bfs": "6299", + "name": "Zeneggen", + "canton": "Kanton Wallis", + "domain": "zeneggen.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "zeneggen.ch" + ], + "redirect": [], + "wikidata": [ + "zeneggen.ch" + ], + "guess": [ + "zeneggen.ch" + ] + }, + "flags": [] + }, + "6300": { + "bfs": "6300", + "name": "Zermatt", + "canton": "Kanton Wallis", + "domain": "zermatt.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "zermatt.ch" + ], + "redirect": [], + "wikidata": [ + "gemeinde.zermatt.ch" + ], + "guess": [ + "gemeinde-zermatt.ch", + "zermatt.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6404": { + "bfs": "6404", + "name": "Boudry", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6408": { + "bfs": "6408", + "name": "Cortaillod", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6413": { + "bfs": "6413", + "name": "Rochefort", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6416": { + "bfs": "6416", + "name": "Milvignes", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6417": { + "bfs": "6417", + "name": "La Grande Béroche", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6421": { + "bfs": "6421", + "name": "La Chaux-de-Fonds", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6422": { + "bfs": "6422", + "name": "Les Planchettes", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6423": { + "bfs": "6423", + "name": "La Sagne", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6432": { + "bfs": "6432", + "name": "La Brévine", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6433": { + "bfs": "6433", + "name": "Brot-Plamboz", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6434": { + "bfs": "6434", + "name": "Le Cerneux-Péquignot", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6435": { + "bfs": "6435", + "name": "La Chaux-du-Milieu", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6436": { + "bfs": "6436", + "name": "Le Locle", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6437": { + "bfs": "6437", + "name": "Les Ponts-de-Martel", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6451": { + "bfs": "6451", + "name": "Cornaux", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6452": { + "bfs": "6452", + "name": "Cressier (NE)", + "canton": "Kanton Neuenburg", + "domain": "cressier.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "cressier.ch" + ] + }, + "flags": [] + }, + "6455": { + "bfs": "6455", + "name": "Le Landeron", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6456": { + "bfs": "6456", + "name": "Lignières", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6458": { + "bfs": "6458", + "name": "Neuchâtel", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6487": { + "bfs": "6487", + "name": "Val-de-Ruz", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6504": { + "bfs": "6504", + "name": "La Côte-aux-Fées", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6511": { + "bfs": "6511", + "name": "Les Verrières", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6512": { + "bfs": "6512", + "name": "Val-de-Travers", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6513": { + "bfs": "6513", + "name": "Laténa", + "canton": "Kanton Neuenburg", + "domain": "ne.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "ne.ch" + ] + }, + "flags": [] + }, + "6601": { + "bfs": "6601", + "name": "Aire-la-Ville", + "canton": "Kanton Genf", + "domain": "aire-la-ville.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "aire-la-ville.ch" + ], + "redirect": [], + "wikidata": [ + "aire-la-ville.ch" + ], + "guess": [ + "aire-la-ville.ch", + "airelaville.ch" + ] + }, + "flags": [] + }, + "6602": { + "bfs": "6602", + "name": "Anières", + "canton": "Kanton Genf", + "domain": "anieres.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "anieres.ch" + ], + "guess": [ + "anieres.ch" + ] + }, + "flags": [] + }, + "6603": { + "bfs": "6603", + "name": "Avully", + "canton": "Kanton Genf", + "domain": "avully.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "avully.ch" + ], + "redirect": [], + "wikidata": [ + "avully.ch" + ], + "guess": [ + "avully.ch" + ] + }, + "flags": [] + }, + "6604": { + "bfs": "6604", + "name": "Avusy", + "canton": "Kanton Genf", + "domain": "avusy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "avusy.ch" + ], + "redirect": [], + "wikidata": [ + "avusy.ch" + ], + "guess": [ + "avusy.ch" + ] + }, + "flags": [] + }, + "6605": { + "bfs": "6605", + "name": "Bardonnex", + "canton": "Kanton Genf", + "domain": "bardonnex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "bardonnex.ch" + ], + "redirect": [], + "wikidata": [ + "bardonnex.ch" + ], + "guess": [ + "bardonnex.ch" + ] + }, + "flags": [] + }, + "6606": { + "bfs": "6606", + "name": "Bellevue", + "canton": "Kanton Genf", + "domain": "mairie-bellevue.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "mairie-bellevue.ch" + ], + "redirect": [], + "wikidata": [ + "mairie-bellevue.ch" + ], + "guess": [ + "bellevue.ch" + ] + }, + "flags": [] + }, + "6607": { + "bfs": "6607", + "name": "Bernex", + "canton": "Kanton Genf", + "domain": "bernex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "accompagnerledeuil.ch", + "bernex.ch", + "codap.org", + "galeriedelachampagne.ch", + "labrante.ch", + "mobilitesenior.ch", + "mosaiquetheatre.ch", + "navodaya.ch", + "superpuck.ch" + ], + "redirect": [], + "wikidata": [ + "bernex.ch" + ], + "guess": [ + "bernex.ch" + ] + }, + "flags": [] + }, + "6608": { + "bfs": "6608", + "name": "Carouge (GE)", + "canton": "Kanton Genf", + "domain": "carouge.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "carouge.ch" + ], + "redirect": [], + "wikidata": [ + "carouge.ch" + ], + "guess": [ + "carouge.ch" + ] + }, + "flags": [] + }, + "6609": { + "bfs": "6609", + "name": "Cartigny", + "canton": "Kanton Genf", + "domain": "cartigny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cartigny.ch" + ], + "redirect": [], + "wikidata": [ + "cartigny.ch" + ], + "guess": [ + "cartigny.ch" + ] + }, + "flags": [] + }, + "6610": { + "bfs": "6610", + "name": "Céligny", + "canton": "Kanton Genf", + "domain": "celigny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "celigny.ch" + ], + "guess": [ + "celigny.ch" + ] + }, + "flags": [] + }, + "6611": { + "bfs": "6611", + "name": "Chancy", + "canton": "Kanton Genf", + "domain": "chancy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chancy.ch" + ], + "guess": [ + "chancy.ch" + ] + }, + "flags": [] + }, + "6612": { + "bfs": "6612", + "name": "Chêne-Bougeries", + "canton": "Kanton Genf", + "domain": "chene-bougeries.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "chene-bougeries.ch" + ], + "guess": [ + "chene-bougeries.ch" + ] + }, + "flags": [] + }, + "6613": { + "bfs": "6613", + "name": "Chêne-Bourg", + "canton": "Kanton Genf", + "domain": "chene-bourg.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chene-bourg.ch" + ], + "redirect": [], + "wikidata": [ + "chene-bourg.ch" + ], + "guess": [ + "chene-bourg.ch" + ] + }, + "flags": [] + }, + "6614": { + "bfs": "6614", + "name": "Choulex", + "canton": "Kanton Genf", + "domain": "choulex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "choulex.ch" + ], + "redirect": [], + "wikidata": [ + "choulex.ch" + ], + "guess": [ + "choulex.ch" + ] + }, + "flags": [] + }, + "6615": { + "bfs": "6615", + "name": "Collex-Bossy", + "canton": "Kanton Genf", + "domain": "collex-bossy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "collex-bossy.ch" + ], + "redirect": [], + "wikidata": [ + "collex-bossy.ch" + ], + "guess": [ + "collex-bossy.ch" + ] + }, + "flags": [] + }, + "6616": { + "bfs": "6616", + "name": "Collonge-Bellerive", + "canton": "Kanton Genf", + "domain": "collonge-bellerive.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "collonge-bellerive.ch" + ], + "redirect": [], + "wikidata": [ + "collonge-bellerive.ch" + ], + "guess": [ + "collonge-bellerive.ch" + ] + }, + "flags": [] + }, + "6617": { + "bfs": "6617", + "name": "Cologny", + "canton": "Kanton Genf", + "domain": "cologny.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "cologny.ch" + ], + "guess": [ + "cologny.ch" + ] + }, + "flags": [] + }, + "6618": { + "bfs": "6618", + "name": "Confignon", + "canton": "Kanton Genf", + "domain": "confignon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "confignon.ch" + ], + "redirect": [], + "wikidata": [ + "confignon.ch" + ], + "guess": [ + "confignon.ch" + ] + }, + "flags": [] + }, + "6619": { + "bfs": "6619", + "name": "Corsier (GE)", + "canton": "Kanton Genf", + "domain": "corsier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "corsier.ch" + ], + "redirect": [], + "wikidata": [ + "corsier.ch" + ], + "guess": [ + "corsier.ch" + ] + }, + "flags": [] + }, + "6620": { + "bfs": "6620", + "name": "Dardagny", + "canton": "Kanton Genf", + "domain": "dardagny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "dardagny.ch" + ], + "redirect": [], + "wikidata": [ + "dardagny.ch" + ], + "guess": [ + "dardagny.ch" + ] + }, + "flags": [] + }, + "6621": { + "bfs": "6621", + "name": "Genève", + "canton": "Kanton Genf", + "domain": "geneve.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "geneve.ch" + ], + "guess": [ + "geneve.ch" + ] + }, + "flags": [] + }, + "6622": { + "bfs": "6622", + "name": "Genthod", + "canton": "Kanton Genf", + "domain": "genthod.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "genthod.ch" + ], + "redirect": [], + "wikidata": [ + "genthod.ch" + ], + "guess": [ + "genthod.ch" + ] + }, + "flags": [] + }, + "6623": { + "bfs": "6623", + "name": "Le Grand-Saconnex", + "canton": "Kanton Genf", + "domain": "grand-saconnex.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grand-saconnex.ch" + ], + "guess": [] + }, + "flags": [] + }, + "6624": { + "bfs": "6624", + "name": "Gy", + "canton": "Kanton Genf", + "domain": "gy.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "gy.ch" + ], + "redirect": [], + "wikidata": [ + "mairie-gy.ch" + ], + "guess": [ + "gy.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6625": { + "bfs": "6625", + "name": "Hermance", + "canton": "Kanton Genf", + "domain": "hermance.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hermance.ch" + ], + "redirect": [], + "wikidata": [ + "hermance.ch" + ], + "guess": [ + "hermance.ch" + ] + }, + "flags": [] + }, + "6626": { + "bfs": "6626", + "name": "Jussy", + "canton": "Kanton Genf", + "domain": "jussy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "jussy.ch" + ], + "redirect": [], + "wikidata": [ + "jussy.ch" + ], + "guess": [ + "jussy.ch" + ] + }, + "flags": [] + }, + "6627": { + "bfs": "6627", + "name": "Laconnex", + "canton": "Kanton Genf", + "domain": "laconnex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "laconnex.ch" + ], + "redirect": [], + "wikidata": [ + "laconnex.ch" + ], + "guess": [ + "laconnex.ch" + ] + }, + "flags": [] + }, + "6628": { + "bfs": "6628", + "name": "Lancy", + "canton": "Kanton Genf", + "domain": "lancy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lancy.ch" + ], + "guess": [ + "lancy.ch" + ] + }, + "flags": [] + }, + "6629": { + "bfs": "6629", + "name": "Meinier", + "canton": "Kanton Genf", + "domain": "meinier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "meinier.ch" + ], + "guess": [ + "meinier.ch" + ] + }, + "flags": [] + }, + "6630": { + "bfs": "6630", + "name": "Meyrin", + "canton": "Kanton Genf", + "domain": "meyrin.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "meyrin.ch" + ], + "guess": [ + "meyrin.ch" + ] + }, + "flags": [] + }, + "6631": { + "bfs": "6631", + "name": "Onex", + "canton": "Kanton Genf", + "domain": "onex.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "175onex.ch", + "aeonex.ch" + ], + "redirect": [], + "wikidata": [ + "onex.ch" + ], + "guess": [ + "onex.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6632": { + "bfs": "6632", + "name": "Perly-Certoux", + "canton": "Kanton Genf", + "domain": "perly-certoux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "perly-certoux.ch" + ], + "redirect": [], + "wikidata": [ + "perly-certoux.ch" + ], + "guess": [ + "perly-certoux.ch" + ] + }, + "flags": [] + }, + "6633": { + "bfs": "6633", + "name": "Plan-les-Ouates", + "canton": "Kanton Genf", + "domain": "plan-les-ouates.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "plan-les-ouates.ch" + ], + "redirect": [], + "wikidata": [ + "plan-les-ouates.ch" + ], + "guess": [ + "plan-les-ouates.ch", + "planlesouates.ch" + ] + }, + "flags": [] + }, + "6634": { + "bfs": "6634", + "name": "Pregny-Chambésy", + "canton": "Kanton Genf", + "domain": "pregny-chambesy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "pregny-chambesy.ch" + ], + "guess": [ + "pregny-chambesy.ch" + ] + }, + "flags": [] + }, + "6635": { + "bfs": "6635", + "name": "Presinge", + "canton": "Kanton Genf", + "domain": "presinge.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "presinge.ch" + ], + "guess": [ + "presinge.ch" + ] + }, + "flags": [] + }, + "6636": { + "bfs": "6636", + "name": "Puplinge", + "canton": "Kanton Genf", + "domain": "puplinge.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "giap.ch", + "puplinge.ch" + ], + "redirect": [], + "wikidata": [ + "puplinge.ch" + ], + "guess": [ + "puplinge.ch" + ] + }, + "flags": [] + }, + "6637": { + "bfs": "6637", + "name": "Russin", + "canton": "Kanton Genf", + "domain": "russin.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "russin.ch" + ], + "redirect": [], + "wikidata": [ + "russin.ch" + ], + "guess": [ + "russin.ch" + ] + }, + "flags": [] + }, + "6638": { + "bfs": "6638", + "name": "Satigny", + "canton": "Kanton Genf", + "domain": "satigny.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "satigny.ch" + ], + "redirect": [], + "wikidata": [ + "satigny.ch" + ], + "guess": [ + "satigny.ch" + ] + }, + "flags": [] + }, + "6639": { + "bfs": "6639", + "name": "Soral", + "canton": "Kanton Genf", + "domain": "soral.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "soral.ch" + ], + "guess": [ + "soral.ch" + ] + }, + "flags": [] + }, + "6640": { + "bfs": "6640", + "name": "Thônex", + "canton": "Kanton Genf", + "domain": "thonex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "thonex.ch" + ], + "redirect": [], + "wikidata": [ + "thonex.ch" + ], + "guess": [ + "thonex.ch" + ] + }, + "flags": [] + }, + "6641": { + "bfs": "6641", + "name": "Troinex", + "canton": "Kanton Genf", + "domain": "troinex.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "troinex.ch" + ], + "redirect": [], + "wikidata": [ + "troinex.ch" + ], + "guess": [ + "troinex.ch" + ] + }, + "flags": [] + }, + "6642": { + "bfs": "6642", + "name": "Vandoeuvres", + "canton": "Kanton Genf", + "domain": "vandoeuvres.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vandoeuvres.ch" + ], + "redirect": [], + "wikidata": [ + "vandoeuvres.ch" + ], + "guess": [ + "vandoeuvres.ch" + ] + }, + "flags": [] + }, + "6643": { + "bfs": "6643", + "name": "Vernier", + "canton": "Kanton Genf", + "domain": "vernier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "vernier.ch" + ], + "redirect": [], + "wikidata": [ + "vernier.ch" + ], + "guess": [ + "vernier.ch" + ] + }, + "flags": [] + }, + "6644": { + "bfs": "6644", + "name": "Versoix", + "canton": "Kanton Genf", + "domain": "versoix.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "versoix.ch" + ], + "redirect": [], + "wikidata": [ + "versoix.ch" + ], + "guess": [ + "versoix.ch" + ] + }, + "flags": [] + }, + "6645": { + "bfs": "6645", + "name": "Veyrier", + "canton": "Kanton Genf", + "domain": "veyrier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "veyrier.ch" + ], + "redirect": [], + "wikidata": [ + "veyrier.ch" + ], + "guess": [ + "veyrier.ch" + ] + }, + "flags": [] + }, + "6702": { + "bfs": "6702", + "name": "Boécourt", + "canton": "Kanton Jura", + "domain": "boecourt.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "boecourt.ch" + ], + "guess": [ + "boecourt.ch" + ] + }, + "flags": [] + }, + "6703": { + "bfs": "6703", + "name": "Bourrignon", + "canton": "Kanton Jura", + "domain": "bourrignon.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bourrignon.ch" + ], + "guess": [ + "bourrignon.ch" + ] + }, + "flags": [] + }, + "6704": { + "bfs": "6704", + "name": "Châtillon (JU)", + "canton": "Kanton Jura", + "domain": "chatillon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "chatillon.ch" + ], + "redirect": [], + "wikidata": [ + "chatillon.ch" + ], + "guess": [ + "chatillon.ch" + ] + }, + "flags": [] + }, + "6706": { + "bfs": "6706", + "name": "Courchapoix", + "canton": "Kanton Jura", + "domain": "courchapoix.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "courchapoix.ch" + ], + "guess": [ + "courchapoix.ch" + ] + }, + "flags": [] + }, + "6708": { + "bfs": "6708", + "name": "Courrendlin", + "canton": "Kanton Jura", + "domain": "courrendlin.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "courrendlin.ch" + ], + "guess": [ + "courrendlin.ch" + ] + }, + "flags": [] + }, + "6709": { + "bfs": "6709", + "name": "Courroux", + "canton": "Kanton Jura", + "domain": "courroux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "courroux.ch" + ], + "redirect": [], + "wikidata": [ + "courroux.ch" + ], + "guess": [ + "courroux.ch" + ] + }, + "flags": [] + }, + "6710": { + "bfs": "6710", + "name": "Courtételle", + "canton": "Kanton Jura", + "domain": "courtetelle.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "courtetelle.ch" + ], + "guess": [ + "courtetelle.ch" + ] + }, + "flags": [] + }, + "6711": { + "bfs": "6711", + "name": "Delémont", + "canton": "Kanton Jura", + "domain": "delemont.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "delemont.ch" + ], + "redirect": [], + "wikidata": [ + "delemont.ch" + ], + "guess": [ + "delemont.ch" + ] + }, + "flags": [] + }, + "6712": { + "bfs": "6712", + "name": "Develier", + "canton": "Kanton Jura", + "domain": "develier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "develier.ch" + ], + "guess": [ + "develier.ch" + ] + }, + "flags": [] + }, + "6713": { + "bfs": "6713", + "name": "Ederswiler", + "canton": "Kanton Jura", + "domain": "ederswiler.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "ederswiler.ch" + ], + "redirect": [], + "wikidata": [ + "ederswiler.ch" + ], + "guess": [ + "ederswiler.ch" + ] + }, + "flags": [] + }, + "6715": { + "bfs": "6715", + "name": "Mervelier", + "canton": "Kanton Jura", + "domain": "mervelier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "mervelier.ch" + ], + "guess": [ + "mervelier.ch" + ] + }, + "flags": [] + }, + "6716": { + "bfs": "6716", + "name": "Mettembert", + "canton": "Kanton Jura", + "domain": "mettembert.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "mettembert.ch" + ] + }, + "flags": [] + }, + "6718": { + "bfs": "6718", + "name": "Movelier", + "canton": "Kanton Jura", + "domain": "movelier.ch", + "source": "override", + "confidence": "high", + "sources_detail": { + "override": [ + "movelier.ch" + ] + }, + "flags": [] + }, + "6719": { + "bfs": "6719", + "name": "Pleigne", + "canton": "Kanton Jura", + "domain": "pleigne.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "pleigne.ch" + ], + "guess": [ + "pleigne.ch" + ] + }, + "flags": [] + }, + "6721": { + "bfs": "6721", + "name": "Rossemaison", + "canton": "Kanton Jura", + "domain": "rossemaison.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "rossemaison.ch" + ], + "redirect": [], + "wikidata": [ + "rossemaison.ch" + ], + "guess": [ + "rossemaison.ch" + ] + }, + "flags": [] + }, + "6722": { + "bfs": "6722", + "name": "Saulcy", + "canton": "Kanton Jura", + "domain": "saulcy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saulcy.ch" + ], + "redirect": [], + "wikidata": [ + "saulcy.ch" + ], + "guess": [ + "saulcy.ch" + ] + }, + "flags": [] + }, + "6724": { + "bfs": "6724", + "name": "Soyhières", + "canton": "Kanton Jura", + "domain": "soyhieres.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "soyhieres.ch" + ], + "guess": [ + "soyhieres.ch" + ] + }, + "flags": [] + }, + "6729": { + "bfs": "6729", + "name": "Haute-Sorne", + "canton": "Kanton Jura", + "domain": "haute-sorne.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "haute-sorne.ch" + ], + "guess": [ + "haute-sorne.ch", + "hautesorne.ch" + ] + }, + "flags": [] + }, + "6730": { + "bfs": "6730", + "name": "Val Terbi", + "canton": "Kanton Jura", + "domain": "val-terbi.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "val-terbi.ch" + ], + "guess": [ + "val-terbi.ch", + "valterbi.ch" + ] + }, + "flags": [] + }, + "6741": { + "bfs": "6741", + "name": "Le Bémont (JU)", + "canton": "Kanton Jura", + "domain": "lebemont.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lebemont.ch" + ], + "redirect": [], + "wikidata": [ + "lebemont.ch" + ], + "guess": [ + "lebemont.ch" + ] + }, + "flags": [] + }, + "6742": { + "bfs": "6742", + "name": "Les Bois", + "canton": "Kanton Jura", + "domain": "lesbois.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lesbois.ch" + ], + "guess": [ + "lesbois.ch" + ] + }, + "flags": [] + }, + "6743": { + "bfs": "6743", + "name": "Les Breuleux", + "canton": "Kanton Jura", + "domain": "breuleux.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "breuleux.ch" + ], + "guess": [] + }, + "flags": [] + }, + "6745": { + "bfs": "6745", + "name": "Les Enfers", + "canton": "Kanton Jura", + "domain": "lesenfers.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lesenfers.ch" + ], + "guess": [ + "lesenfers.ch" + ] + }, + "flags": [] + }, + "6748": { + "bfs": "6748", + "name": "Les Genevez (JU)", + "canton": "Kanton Jura", + "domain": "lesgenevez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "lesgenevez.ch" + ], + "redirect": [], + "wikidata": [ + "lesgenevez.ch" + ], + "guess": [ + "lesgenevez.ch" + ] + }, + "flags": [] + }, + "6750": { + "bfs": "6750", + "name": "Lajoux (JU)", + "canton": "Kanton Jura", + "domain": "lajoux.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "lajoux.ch" + ], + "guess": [ + "lajoux.ch" + ] + }, + "flags": [] + }, + "6751": { + "bfs": "6751", + "name": "Montfaucon", + "canton": "Kanton Jura", + "domain": "montfaucon.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "montfaucon.ch", + "sim-montfaucon.swiss" + ], + "redirect": [], + "wikidata": [ + "montfaucon.ch" + ], + "guess": [ + "montfaucon.ch" + ] + }, + "flags": [] + }, + "6753": { + "bfs": "6753", + "name": "Muriaux", + "canton": "Kanton Jura", + "domain": "muriaux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "muriaux.ch" + ], + "redirect": [], + "wikidata": [ + "muriaux.ch" + ], + "guess": [ + "muriaux.ch" + ] + }, + "flags": [] + }, + "6754": { + "bfs": "6754", + "name": "Le Noirmont", + "canton": "Kanton Jura", + "domain": "noirmont.ch", + "source": "wikidata", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "noirmont.ch" + ], + "guess": [ + "lenoirmont.ch" + ] + }, + "flags": [] + }, + "6757": { + "bfs": "6757", + "name": "Saignelégier", + "canton": "Kanton Jura", + "domain": "saignelegier.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saignelegier.ch" + ], + "redirect": [], + "wikidata": [ + "saignelegier.ch" + ], + "guess": [ + "saignelegier.ch" + ] + }, + "flags": [] + }, + "6758": { + "bfs": "6758", + "name": "Saint-Brais", + "canton": "Kanton Jura", + "domain": "saint-brais.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "saint-brais.ch" + ], + "redirect": [], + "wikidata": [ + "saint-brais.ch" + ], + "guess": [ + "saint-brais.ch" + ] + }, + "flags": [] + }, + "6759": { + "bfs": "6759", + "name": "Soubey", + "canton": "Kanton Jura", + "domain": "soubey.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "soubey.ch" + ], + "guess": [ + "soubey.ch" + ] + }, + "flags": [] + }, + "6771": { + "bfs": "6771", + "name": "Alle", + "canton": "Kanton Jura", + "domain": "alle.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "alle.ch" + ], + "redirect": [], + "wikidata": [ + "alle.ch" + ], + "guess": [ + "alle.ch" + ] + }, + "flags": [] + }, + "6774": { + "bfs": "6774", + "name": "Boncourt", + "canton": "Kanton Jura", + "domain": "boncourt.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "boncourt.ch" + ], + "redirect": [], + "wikidata": [ + "boncourt.ch" + ], + "guess": [ + "boncourt.ch" + ] + }, + "flags": [] + }, + "6778": { + "bfs": "6778", + "name": "Bure", + "canton": "Kanton Jura", + "domain": "bure.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "bure.ch" + ], + "guess": [ + "bure.ch" + ] + }, + "flags": [] + }, + "6781": { + "bfs": "6781", + "name": "Coeuve", + "canton": "Kanton Jura", + "domain": "coeuve.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "coeuve.ch" + ], + "redirect": [], + "wikidata": [ + "coeuve.ch" + ], + "guess": [ + "coeuve.ch" + ] + }, + "flags": [] + }, + "6782": { + "bfs": "6782", + "name": "Cornol", + "canton": "Kanton Jura", + "domain": "cornol.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "cornol.ch" + ], + "redirect": [], + "wikidata": [ + "cornol.ch" + ], + "guess": [ + "cornol.ch" + ] + }, + "flags": [] + }, + "6783": { + "bfs": "6783", + "name": "Courchavon", + "canton": "Kanton Jura", + "domain": "courchavon.ch", + "source": "scrape", + "confidence": "medium", + "sources_detail": { + "scrape": [ + "courchavon.ch" + ], + "redirect": [], + "wikidata": [ + "courchavon-mormont.ch" + ], + "guess": [ + "courchavon.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6784": { + "bfs": "6784", + "name": "Courgenay", + "canton": "Kanton Jura", + "domain": "courgenay.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "courgenay.ch" + ], + "redirect": [], + "wikidata": [ + "courgenay.ch" + ], + "guess": [ + "courgenay.ch" + ] + }, + "flags": [] + }, + "6785": { + "bfs": "6785", + "name": "Courtedoux", + "canton": "Kanton Jura", + "domain": "courtedoux.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "courtedoux.ch" + ], + "redirect": [], + "wikidata": [ + "courtedoux.ch" + ], + "guess": [ + "courtedoux.ch" + ] + }, + "flags": [] + }, + "6789": { + "bfs": "6789", + "name": "Fahy", + "canton": "Kanton Jura", + "domain": "fahy.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "fahy.ch" + ], + "guess": [ + "fahy.ch" + ] + }, + "flags": [] + }, + "6790": { + "bfs": "6790", + "name": "Fontenais", + "canton": "Kanton Jura", + "domain": "fontenais.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "fontenais.ch" + ], + "redirect": [], + "wikidata": [ + "fontenais.ch" + ], + "guess": [ + "fontenais.ch" + ] + }, + "flags": [] + }, + "6792": { + "bfs": "6792", + "name": "Grandfontaine", + "canton": "Kanton Jura", + "domain": "grandfontaine.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "grandfontaine.ch" + ], + "guess": [ + "grandfontaine.ch" + ] + }, + "flags": [] + }, + "6800": { + "bfs": "6800", + "name": "Porrentruy", + "canton": "Kanton Jura", + "domain": "porrentruy.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "porrentruy.ch" + ], + "redirect": [], + "wikidata": [ + "porrentruy.ch" + ], + "guess": [ + "porrentruy.ch" + ] + }, + "flags": [] + }, + "6806": { + "bfs": "6806", + "name": "Vendlincourt", + "canton": "Kanton Jura", + "domain": "vendlincourt.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "vendlincourt.ch" + ], + "guess": [ + "vendlincourt.ch" + ] + }, + "flags": [] + }, + "6807": { + "bfs": "6807", + "name": "Basse-Allaine", + "canton": "Kanton Jura", + "domain": "basse-allaine.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "basse-allaine.ch" + ], + "redirect": [], + "wikidata": [ + "basse-allaine.ch" + ], + "guess": [ + "basse-allaine.ch", + "basseallaine.ch" + ] + }, + "flags": [] + }, + "6808": { + "bfs": "6808", + "name": "Clos du Doubs", + "canton": "Kanton Jura", + "domain": "closdudoubs.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "closdudoubs.ch" + ], + "redirect": [], + "wikidata": [ + "closdudoubs.ch" + ], + "guess": [ + "clos-du-doubs.ch", + "closdudoubs.ch" + ] + }, + "flags": [] + }, + "6809": { + "bfs": "6809", + "name": "Haute-Ajoie", + "canton": "Kanton Jura", + "domain": "hauteajoie.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "hauteajoie.ch" + ], + "redirect": [], + "wikidata": [ + "hauteajoie.ch" + ], + "guess": [ + "hauteajoie.ch" + ] + }, + "flags": [] + }, + "6810": { + "bfs": "6810", + "name": "La Baroche", + "canton": "Kanton Jura", + "domain": "labaroche.ch", + "source": "redirect", + "confidence": "medium", + "sources_detail": { + "scrape": [], + "redirect": [ + "labaroche.ch" + ], + "wikidata": [ + "baroche.ch" + ], + "guess": [ + "labaroche.ch" + ] + }, + "flags": [ + "sources_disagree" + ] + }, + "6811": { + "bfs": "6811", + "name": "Damphreux-Lugnez", + "canton": "Kanton Jura", + "domain": "damphreux-lugnez.ch", + "source": "scrape", + "confidence": "high", + "sources_detail": { + "scrape": [ + "damphreux-lugnez.ch" + ], + "redirect": [], + "wikidata": [ + "damphreux-lugnez.ch" + ], + "guess": [ + "damphreux-lugnez.ch" + ] + }, + "flags": [] + }, + "6812": { + "bfs": "6812", + "name": "Basse-Vendline", + "canton": "Kanton Jura", + "domain": "basse-vendline.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "basse-vendline.ch" + ], + "guess": [ + "basse-vendline.ch", + "bassevendline.ch" + ] + }, + "flags": [] + }, + "6831": { + "bfs": "6831", + "name": "Moutier", + "canton": "Kanton Jura", + "domain": "moutier.ch", + "source": "wikidata", + "confidence": "high", + "sources_detail": { + "scrape": [], + "redirect": [], + "wikidata": [ + "moutier.ch" + ], + "guess": [ + "moutier.ch" + ] + }, + "flags": [] + } + } +} \ No newline at end of file diff --git a/og-image.jpg b/og-image.jpg index ee2a6fb..c4c4b0e 100644 Binary files a/og-image.jpg and b/og-image.jpg differ diff --git a/overrides.json b/overrides.json new file mode 100644 index 0000000..ee0ffa3 --- /dev/null +++ b/overrides.json @@ -0,0 +1,109 @@ +{ + "54": {"domain": "dietlikon.org", "reason": "Email on .org domain"}, + "89": {"domain": "niederglatt-zh.ch", "reason": "Hyphenated, not subdomain"}, + "120": {"domain": "wald-zh.ch", "reason": "Hyphenated, not subdomain"}, + "220": {"domain": "hagenbuch-zh.ch", "reason": "Manually verified guess"}, + "225": {"domain": "rickenbach-zh.ch", "reason": "Manually verified guess"}, + "248": {"domain": "uitikon.org", "reason": "Email on .org domain"}, + "261": {"domain": "zuerich.ch", "reason": "Email on zuerich.ch, stadt-zuerich.ch is admin-only (no MX)"}, + "420": {"domain": "rual.ch", "reason": "Not the Hornussergesellschaft"}, + "421": {"domain": "wynigen.ch", "reason": "Shared administration"}, + "422": {"domain": "ruetibeilyssach.ch", "reason": "Compound name joined"}, + "423": {"domain": "koppigen.ch", "reason": "Shared administration"}, + "576": {"domain": "gemeinde-grindelwald.ch", "reason": "Not grindelwald.com"}, + "623": {"domain": "rubigen.swiss", "reason": "Email on .swiss domain"}, + "667": {"domain": "laupen-be.ch", "reason": "Disambiguated domain"}, + "708": {"domain": "gemeinde-schelten.ch", "reason": "Manually verified guess"}, + "709": {"domain": "gemeindeseehof.ch", "reason": "see gh issue 11"}, + "715": {"domain": "bluewin.ch", "reason": "see gh issue 11"}, + "723": {"domain": "neuveville.ch", "reason": "Shortened name"}, + "852": {"domain": "guggisberg-be.ch"}, + "948": {"domain": "3636.ch", "reason": "Postal code domain"}, + "972": {"domain": "inkwil.ch", "reason": "Shared administration"}, + "1210": {"domain": "andermatt.ch", "reason": "Shared administration"}, + "1301": {"domain": "bezirkeinsiedeln.ch", "reason": "District domain"}, + "1501": {"domain": "gv.beckenried.ch", "reason": "Subdomain for admin"}, + "1503": {"domain": "nw.ch", "reason": "Using cantonal mail"}, + "1703": {"domain": "huenenberg.ch", "reason": "Own domain, not cantonal"}, + "1704": {"domain": "menzingen.ch", "reason": "Own domain, not cantonal"}, + "1707": {"domain": "rischrotkreuz.ch", "reason": "Own domain, not cantonal"}, + "1708": {"domain": "steinhausen.ch", "reason": "Own domain, MX via cantonal zg.ch servers"}, + "2056": {"domain": "fetigny-menieres.ch", "name": "Fetigny-Menieres", "canton": "Kanton Freiburg", "reason": "Missing from Wikidata"}, + "2072": {"domain": "ecublens.ch", "reason": "Manually verified guess"}, + "2089": {"domain": "les-montets.ch", "reason": "Not private site montet.ch"}, + "2114": {"domain": "villorsonnens.ch", "reason": "Manually verified guess"}, + "2461": {"domain": "schnottwil.ch", "reason": "Using cantonal mail"}, + "2549": {"domain": "bluewin.ch", "reason": "No website, only email"}, + "2762": {"domain": "allschwil.bl.ch", "reason": "custom contact page"}, + "2789": {"domain": "nenzlingen.ch", "reason": "Manually verified guess"}, + "2792": {"domain": "gemeinde-wahlen.ch", "reason": "Manually verified guess"}, + "2822": {"domain": "augst.ch", "reason": "Manually verified guess"}, + "2855": {"domain": "verbund-schafmatt.ch", "reason": "Forwarded to cantonal website"}, + "2860": {"domain": "verbund-schafmatt.ch", "reason": "Shared Schafmatt admin"}, + "2865": {"domain": "verbund-schafmatt.ch", "reason": "Shared Schafmatt admin"}, + "2868": {"domain": "verbund-schafmatt.ch", "reason": "Shared Schafmatt admin"}, + "2892": {"domain": "bl.ch", "reason": "Forwarded to cantonal website"}, + "2893": {"domain": "gde-reigoldswil.ch", "reason": "Gemeinde prefix variant"}, + "2973": {"domain": "ktsh.ch", "reason": "Cantonal domain"}, + "2974": {"domain": "wilchingen.ch", "reason": "lookuped"}, + "2939": {"domain": "stsh.ch", "reason": "Cantonal domain"}, + "3006": {"domain": "ar.ch", "reason": "Using cantonal mail"}, + "3022": {"domain": "ar.ch", "reason": "Using cantonal mail"}, + "3231": {"domain": "au.ch", "reason": "Manually verified guess"}, + "3506": {"domain": "vazobervaz.ch", "reason": "Website redirects to school domain schule-vazobervaz.ch"}, + "3669": {"domain": "tschappina.ch", "reason": "Own domain"}, + "3672": {"domain": "safiental.ch", "reason": "Manually verified guess"}, + "3734": {"domain": "gemeindetrin.ch", "reason": "Gemeinde prefix (no hyphen)"}, + "3792": {"domain": "bregaglia.ch", "reason": "Manually verified guess"}, + "3831": {"domain": "cama.swiss", "reason": "Not cama.ch the photographer"}, + "3847": {"domain": "cdvm.ch", "reason": "Not tourist office"}, + "4095": {"domain": "brugg.ch", "reason": "Manually verified guess"}, + "4184": {"domain": "mettauertal.ch", "reason": "Manually verified guess"}, + "4307": {"domain": "full-reuenthal.ch", "reason": "Website redirects to portal-leibstadt.ch (different municipality)"}, + "4501": {"domain": "pgks.ch", "reason": "Abbreviated domain"}, + "4536": {"domain": "pg-bs.ch", "reason": "As on the website"}, + "5214": {"domain": "porza.ch", "reason": "Own domain, not cantonal"}, + "5397": {"domain": "centovalli.swiss", "reason": "Email on .swiss"}, + "5471": {"domain": "bluewin.ch", "reason": "No own email domain"}, + "5563": {"domain": "mutrux.swiss", "reason": "Not family website mutrux.ch"}, + "5571": {"domain": "tevenon.ch", "reason": "Own domain"}, + "5713": {"domain": "cransvd.ch", "reason": "Not immobilien crans.ch"}, + "5748": {"domain": "bretonnieres.ch", "reason": "Named domain, not postal"}, + "5755": {"domain": "lignerolle.ch", "reason": "Manually verified guess"}, + "5892": {"domain": "bstl.ch", "reason": "Abbreviated domain"}, + "6140": {"domain": "commune-saillon.ch", "reason": "Commune prefix"}, + "6141": {"domain": "admin.saxon.ch", "reason": "Admin subdomain"}, + "6172": {"domain": "gemeinde-bister.ch", "reason": "Bister VS"}, + "6193": {"domain": "buerchen.ch", "reason": "Manually verified guess"}, + "6195": {"domain": "loetschen.ch", "reason": "Shared Lötschental admin"}, + "6197": {"domain": "loetschen.ch", "reason": "Shared Lötschental admin"}, + "6205": {"domain": "gemeinde-bettmeralp.ch", "reason": "as on website"}, + "6285": {"domain": "graechen.ch", "reason": "Wikidata URL incorrect (gemeinde-graechen.ch has SSL issues); actual website at gemeinde.graechen.ch, email on graechen.ch (MS365)"}, + "6289": {"domain": "3908.ch", "reason": "SSL cert mismatch on gemeinde-saas-balen.ch (*.metanet.ch cert); website redirects to 3908.ch"}, + "6404": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6408": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6413": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6416": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6417": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6421": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6422": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6423": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6432": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6433": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6434": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6435": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6436": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6437": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6451": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6452": {"domain": "cressier.ch", "reason": "Manually verified guess"}, + "6455": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6456": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6458": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6487": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6504": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6511": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6512": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6513": {"domain": "ne.ch", "reason": "Using cantonal mail"}, + "6716": {"domain": "mettembert.ch", "reason": "Manually verified guess"}, + "6718": {"domain": "movelier.ch", "reason": "Scraped"} +} diff --git a/pyproject.toml b/pyproject.toml index 1b220ca..b32432f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,12 +11,15 @@ requires-python = ">=3.13" dependencies = [ "dnspython>=2.8.0", "httpx>=0.28.1", + "loguru>=0.7.3", + "pydantic>=2.0", + "stamina>=25.2.0", ] [project.scripts] -preprocess = "mail_sovereignty.cli:preprocess" -postprocess = "mail_sovereignty.cli:postprocess" -validate = "mail_sovereignty.cli:validate" +resolve-domains = "mail_sovereignty.cli:resolve_domains" +classify-providers = "mail_sovereignty.cli:classify_providers" +analyze = "mail_sovereignty.cli:analyze" [tool.hatch.build.targets.wheel] packages = ["src/mail_sovereignty"] diff --git a/src/mail_sovereignty/__init__.py b/src/mail_sovereignty/__init__.py index e69de29..6b0d9e9 100644 --- a/src/mail_sovereignty/__init__.py +++ b/src/mail_sovereignty/__init__.py @@ -0,0 +1,13 @@ +"""Mail Sovereignty Classifier — public API.""" + +from .classifier import classify, classify_many +from .models import ClassificationResult, Evidence, Provider, SignalKind + +__all__ = [ + "classify", + "classify_many", + "ClassificationResult", + "Evidence", + "Provider", + "SignalKind", +] diff --git a/src/mail_sovereignty/analyze.py b/src/mail_sovereignty/analyze.py new file mode 100644 index 0000000..c86878e --- /dev/null +++ b/src/mail_sovereignty/analyze.py @@ -0,0 +1,459 @@ +"""Statistical analysis of municipality email classification data.""" + +from __future__ import annotations + +import json +import os +import sys +from collections import Counter, defaultdict +from pathlib import Path +from typing import Any + +from .constants import CANTON_ABBREVIATIONS +from .pipeline import _CATEGORY_MAP + +# --------------------------------------------------------------------------- +# ANSI color helpers (respect NO_COLOR convention and pipe detection) +# --------------------------------------------------------------------------- + +_NO_COLOR = os.environ.get("NO_COLOR") is not None or not os.isatty(sys.stdout.fileno()) + + +def _c(code: str, text: str) -> str: + if _NO_COLOR: + return str(text) + return f"\033[{code}m{text}\033[0m" + + +def _bold(t: str) -> str: + return _c("1", t) + + +def _dim(t: str) -> str: + return _c("2", t) + + +def _red(t: str) -> str: + return _c("31", t) + + +def _green(t: str) -> str: + return _c("32", t) + + +def _yellow(t: str) -> str: + return _c("33", t) + + +# --------------------------------------------------------------------------- +# Formatting helpers +# --------------------------------------------------------------------------- + +_BAR_FULL = "\u2588" +_BAR_EMPTY = "\u2591" + + +def _bar(value: float, max_value: float, width: int = 25) -> str: + if max_value == 0: + return _BAR_EMPTY * width + filled = int(round(value / max_value * width)) + return _BAR_FULL * filled + _BAR_EMPTY * (width - filled) + + +def _pct(n: int, total: int) -> str: + if total == 0: + return " 0.0%" + return f"{n / total * 100:5.1f}%" + + +def _header(title: str) -> None: + line = "\u2550" * 66 + print(f"\n{_bold(line)}") + print(f" {_bold(title)}") + print(_bold(line)) + + +def _sep() -> None: + print(" " + "\u2500" * 62) + + +# --------------------------------------------------------------------------- +# Data loading +# --------------------------------------------------------------------------- + + +def load_data(path: Path) -> dict[str, Any]: + """Load data.json and return the full dict.""" + if not path.exists(): + print(f"Error: {path} not found. Run the pipeline first.", file=sys.stderr) + sys.exit(1) + with open(path, encoding="utf-8") as f: + return json.load(f) + + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + +_CANTON_LOOKUP = {k: v.upper() for k, v in CANTON_ABBREVIATIONS.items()} + +_PROVIDERS_ORDERED = ["microsoft", "google", "aws", "infomaniak", "independent"] + +_PRIMARY_SIGNAL_KINDS = {"mx", "spf", "dkim", "autodiscover"} + + +def _canton_abbr(canton: str) -> str: + return _CANTON_LOOKUP.get(canton, "??") + + +def _category(provider: str) -> str: + return _CATEGORY_MAP.get(provider, "unknown") + + +# --------------------------------------------------------------------------- +# 1. Overall Summary +# --------------------------------------------------------------------------- + + +def report_overall_summary(data: dict[str, Any], munis: dict[str, Any]) -> None: + _header("OVERALL SUMMARY") + total = len(munis) + generated = data.get("generated", "?") + commit = data.get("commit", "?") + print(f" Generated: {generated} (commit {commit})") + print(f" Total municipalities: {total:,}") + + # Category split + cat_counts: Counter[str] = Counter() + for m in munis.values(): + cat_counts[_category(m["provider"])] += 1 + + print() + print(f" {'Category':<16} {'Count':>6} {'%':>6} Bar") + _sep() + for cat in ["us-cloud", "swiss-based"]: + cnt = cat_counts[cat] + color = _red if cat == "us-cloud" else _green + label = "US Cloud" if cat == "us-cloud" else "Swiss Based" + print( + f" {color(f'{label:<16}')} {cnt:>6,} {_pct(cnt, total)} " + f"{color(_bar(cnt, total))}" + ) + + # Provider distribution + prov_counts: Counter[str] = Counter() + for m in munis.values(): + prov_counts[m["provider"]] += 1 + + print() + print(f" {'Provider':<16} {'Count':>6} {'%':>6} Bar") + _sep() + for prov in _PROVIDERS_ORDERED: + cnt = prov_counts.get(prov, 0) + color = _red if _category(prov) == "us-cloud" else _green + print( + f" {color(f'{prov:<16}')} {cnt:>6,} {_pct(cnt, total)} " + f"{color(_bar(cnt, max(prov_counts.values())))}" + ) + + +# --------------------------------------------------------------------------- +# 2. Cantonal Breakdown +# --------------------------------------------------------------------------- + + +def report_cantonal(munis: dict[str, Any]) -> None: + _header("CANTONAL BREAKDOWN (sorted by US-Cloud %)") + + # Group by canton + by_canton: dict[str, list[dict[str, Any]]] = defaultdict(list) + for m in munis.values(): + by_canton[_canton_abbr(m.get("canton", ""))].append(m) + + # Build rows + rows: list[tuple[str, int, dict[str, int], float]] = [] + for abbr, entries in by_canton.items(): + total = len(entries) + prov_counts: Counter[str] = Counter(e["provider"] for e in entries) + us_cloud = sum( + prov_counts.get(p, 0) + for p in _PROVIDERS_ORDERED + if _category(p) == "us-cloud" + ) + us_pct = us_cloud / total * 100 if total else 0 + rows.append((abbr, total, dict(prov_counts), us_pct)) + + rows.sort(key=lambda r: r[3], reverse=True) + + hdr = ( + f" {'Canton':<8}{'Total':>5}" + f"{'MSFT':>6}{'Goog':>6}{'AWS':>5}" + f"{'Info':>6}{'Indep':>6}" + f" {'US%':>6} {'Swiss%':>6}" + ) + print(hdr) + _sep() + + for abbr, total, pc, us_pct in rows: + swiss_pct = 100 - us_pct + color = _red if us_pct >= 70 else (_yellow if us_pct >= 50 else _green) + print( + f" {abbr:<8}{total:>5}" + f"{pc.get('microsoft', 0):>6}" + f"{pc.get('google', 0):>6}" + f"{pc.get('aws', 0):>5}" + f"{pc.get('infomaniak', 0):>6}" + f"{pc.get('independent', 0):>6}" + f" {color(f'{us_pct:5.1f}%')}" + f" {f'{swiss_pct:5.1f}%':>6}" + ) + + +# --------------------------------------------------------------------------- +# 3. Confidence Distribution +# --------------------------------------------------------------------------- + + +def report_confidence(munis: dict[str, Any]) -> None: + _header("CONFIDENCE DISTRIBUTION") + + confidences = [m["classification_confidence"] for m in munis.values()] + total = len(confidences) + + # Histogram buckets (high to low) + buckets = [(90, 100), (80, 90), (70, 80), (60, 70), (50, 60), (0, 50)] + bucket_counts = [] + for lo, hi in buckets: + cnt = sum(1 for c in confidences if lo <= c <= (hi if hi == 100 else hi - 0.01)) + bucket_counts.append(cnt) + + max_cnt = max(bucket_counts) if bucket_counts else 1 + print(f" {'Range':<12} {'Count':>6} {'%':>6} Bar") + _sep() + for (lo, hi), cnt in zip(buckets, bucket_counts): + label = f"{lo}-{hi}%" + print(f" {label:<12} {cnt:>6,} {_pct(cnt, total)} {_bar(cnt, max_cnt)}") + + avg = sum(confidences) / total if total else 0 + print(f"\n Average confidence: {_bold(f'{avg:.1f}%')}") + + # Per-provider stats + by_prov: dict[str, list[float]] = defaultdict(list) + for m in munis.values(): + by_prov[m["provider"]].append(m["classification_confidence"]) + + print() + print(f" {'Provider':<16} {'Avg':>6} {'Min':>6} {'<60':>5}") + _sep() + for prov in _PROVIDERS_ORDERED: + confs = by_prov.get(prov, []) + if not confs: + continue + avg_p = sum(confs) / len(confs) + min_p = min(confs) + low = sum(1 for c in confs if c < 60) + low_str = _red(f"{low:>5}") if low > 0 else f"{low:>5}" + print(f" {prov:<16} {avg_p:>5.1f}% {min_p:>5.1f}% {low_str}") + + +# --------------------------------------------------------------------------- +# 4. Signal Analysis +# --------------------------------------------------------------------------- + + +def report_signals(munis: dict[str, Any]) -> None: + _header("SIGNAL ANALYSIS") + + total = len(munis) + + # Signal coverage + signal_counts: Counter[str] = Counter() + combo_counts: Counter[str] = Counter() + single_signal: list[dict[str, Any]] = [] + zero_signal: list[dict[str, Any]] = [] + + for m in munis.values(): + signals = m.get("classification_signals", []) + kinds = sorted({s["kind"] for s in signals}) + for k in kinds: + signal_counts[k] += 1 + if kinds: + combo_counts["+".join(kinds)] += 1 + if len(kinds) == 1: + single_signal.append(m) + elif len(kinds) == 0: + zero_signal.append(m) + + print(" Signal coverage (% of municipalities with each signal):\n") + print(f" {'Signal':<20} {'Count':>6} {'%':>6}") + _sep() + for kind, cnt in signal_counts.most_common(): + print(f" {kind:<20} {cnt:>6,} {_pct(cnt, total)}") + + print("\n Top 15 signal combinations:\n") + print(f" {'#':<4} {'Combination':<50} {'Count':>6}") + _sep() + for i, (combo, cnt) in enumerate(combo_counts.most_common(15), 1): + print(f" {i:<4} {combo:<50} {cnt:>6,}") + + print(f"\n Single-signal municipalities: {_yellow(str(len(single_signal)))}") + for m in single_signal[:5]: + sig = m["classification_signals"][0] + print(f" {m['bfs']:>5} {m['name']:<30} {sig['kind']}:{sig['provider']}") + if len(single_signal) > 5: + print(f" {_dim(f'... and {len(single_signal) - 5} more')}") + + print(f"\n Zero-signal municipalities: {_yellow(str(len(zero_signal)))}") + for m in zero_signal[:5]: + print(f" {m['bfs']:>5} {m['name']:<30} provider={m['provider']}") + if len(zero_signal) > 5: + print(f" {_dim(f'... and {len(zero_signal) - 5} more')}") + + +# --------------------------------------------------------------------------- +# 5. Gateway Report +# --------------------------------------------------------------------------- + + +def report_gateways(munis: dict[str, Any]) -> None: + _header("GATEWAY REPORT") + + total = len(munis) + with_gw = {b: m for b, m in munis.items() if m.get("gateway")} + without_gw = {b: m for b, m in munis.items() if not m.get("gateway")} + + print( + f" Municipalities with gateway: " + f"{_bold(str(len(with_gw)))} / {total} ({len(with_gw) / total * 100:.1f}%)" + ) + + # Per-gateway counts + gw_counts: Counter[str] = Counter(m["gateway"] for m in with_gw.values()) + print() + print(f" {'Gateway':<20} {'Count':>6}") + _sep() + for gw, cnt in gw_counts.most_common(): + print(f" {gw:<20} {cnt:>6,}") + + # Provider distribution with/without gateway + print("\n Provider distribution:\n") + print(f" {'Provider':<16} {'With GW':>8} {'%':>6} {'No GW':>8} {'%':>6}") + _sep() + for prov in _PROVIDERS_ORDERED: + cnt_w = sum(1 for m in with_gw.values() if m["provider"] == prov) + cnt_wo = sum(1 for m in without_gw.values() if m["provider"] == prov) + print( + f" {prov:<16}" + f" {cnt_w:>8,} {_pct(cnt_w, len(with_gw))}" + f" {cnt_wo:>8,} {_pct(cnt_wo, len(without_gw))}" + ) + + +# --------------------------------------------------------------------------- +# 6. Domain Sharing +# --------------------------------------------------------------------------- + + +def report_domain_sharing(munis: dict[str, Any]) -> None: + _header("SHARED DOMAINS") + + by_domain: dict[str, list[dict[str, Any]]] = defaultdict(list) + for m in munis.values(): + if m.get("domain"): + by_domain[m["domain"]].append(m) + + shared = {d: ms for d, ms in by_domain.items() if len(ms) > 1} + shared_sorted = sorted(shared.items(), key=lambda x: len(x[1]), reverse=True) + + print(f" Domains used by multiple municipalities: {_bold(str(len(shared)))}") + if not shared_sorted: + return + + print() + print(f" {'Domain':<30} {'Count':>5} {'Provider':<14} Municipalities") + _sep() + for domain, ms in shared_sorted: + names = ", ".join(m["name"] for m in ms[:4]) + suffix = f", +{len(ms) - 4}" if len(ms) > 4 else "" + print(f" {domain:<30} {len(ms):>5} {ms[0]['provider']:<14} {names}{suffix}") + + +# --------------------------------------------------------------------------- +# 7. Low-Confidence / Review Candidates +# --------------------------------------------------------------------------- + + +def report_low_confidence(munis: dict[str, Any]) -> None: + _header("LOW-CONFIDENCE / REVIEW CANDIDATES") + + # Low confidence + low = [m for m in munis.values() if m["classification_confidence"] < 60] + low.sort(key=lambda m: m["classification_confidence"]) + + print(f" Municipalities with confidence < 60%: {_red(str(len(low)))}") + if low: + print() + print( + f" {'BFS':>5} {'Name':<28} {'Canton':<6} {'Provider':<14} " + f"{'Conf':>5} Signals" + ) + _sep() + for m in low: + signals = "+".join( + sorted({s["kind"] for s in m.get("classification_signals", [])}) + ) + print( + f" {m['bfs']:>5} {m['name']:<28} " + f"{_canton_abbr(m.get('canton', '')):>4} " + f"{m['provider']:<14} " + f"{m['classification_confidence']:>4.0f}% {signals}" + ) + + # Conflicting primary signals + conflicts: list[tuple[dict[str, Any], str, set[str]]] = [] + for m in munis.values(): + signals = m.get("classification_signals", []) + winner = m["provider"] + primary_by_other: dict[str, set[str]] = defaultdict(set) + for s in signals: + if s["kind"] in _PRIMARY_SIGNAL_KINDS and s["provider"] != winner: + primary_by_other[s["provider"]].add(s["kind"]) + for other_prov, kinds in primary_by_other.items(): + conflicts.append((m, other_prov, kinds)) + + print( + f"\n Conflicting primary signals " + f"(non-winner has MX/SPF/DKIM/AD): {_yellow(str(len(conflicts)))}" + ) + if conflicts: + conflicts.sort(key=lambda x: len(x[2]), reverse=True) + print() + print(f" {'BFS':>5} {'Name':<28} {'Winner':<14} {'Conflict':>14} Signals") + _sep() + for m, other, kinds in conflicts[:20]: + print( + f" {m['bfs']:>5} {m['name']:<28} {m['provider']:<14} " + f"{other:>14} {'+'.join(sorted(kinds))}" + ) + if len(conflicts) > 20: + print(f" {_dim(f'... and {len(conflicts) - 20} more')}") + + +# --------------------------------------------------------------------------- +# Main +# --------------------------------------------------------------------------- + + +def main() -> None: + data = load_data(Path("data.json")) + munis = data["municipalities"] + + report_overall_summary(data, munis) + report_cantonal(munis) + report_confidence(munis) + report_signals(munis) + report_gateways(munis) + report_domain_sharing(munis) + report_low_confidence(munis) + + print() diff --git a/src/mail_sovereignty/bfs_api.py b/src/mail_sovereignty/bfs_api.py new file mode 100644 index 0000000..8ceb0ee --- /dev/null +++ b/src/mail_sovereignty/bfs_api.py @@ -0,0 +1,97 @@ +import csv +import io +import time + +import httpx +import stamina +from loguru import logger + +from mail_sovereignty.constants import BFS_API_URL, CANTON_SHORT_TO_FULL + + +@stamina.retry( + on=(httpx.HTTPStatusError, httpx.ConnectError, httpx.TimeoutException), + attempts=3, + wait_initial=2.0, +) +async def _fetch(client: httpx.AsyncClient, url: str, params: dict) -> httpx.Response: + r = await client.get(url, params=params) + r.raise_for_status() + return r + + +def _parse_csv_response(text: str) -> list[dict]: + """Parse the BFS API CSV response into a list of dicts.""" + reader = csv.DictReader(io.StringIO(text)) + entries = [] + for row in reader: + entries.append( + { + "historicalCode": int(row["HistoricalCode"]), + "bfsCode": int(row["BfsCode"]), + "level": int(row["Level"]), + "parent": int(row["Parent"]) if row.get("Parent") else None, + "name": row["Name"], + "shortName": row["ShortName"], + } + ) + return entries + + +async def fetch_bfs_municipalities(date: str | None = None) -> dict[str, dict]: + """Fetch municipality list from BFS REST API. + + Args: + date: Optional date in DD-MM-YYYY format. Defaults to today. + + Returns: + Dict mapping BFS code (str) to {"bfs", "name", "canton"}. + """ + if date is None: + date = time.strftime("%d-%m-%Y") + + logger.info("Fetching municipalities from BFS (date={})...".format(date)) + + async with httpx.AsyncClient(timeout=60) as client: + t0 = time.monotonic() + r = await _fetch(client, BFS_API_URL, {"date": date}) + logger.debug( + "BFS API response: {} bytes in {:.1f}s", len(r.text), time.monotonic() - t0 + ) + entries = _parse_csv_response(r.text) + + # Build lookup by HistoricalCode for parent resolution + by_hist_code: dict[int, dict] = {} + for entry in entries: + by_hist_code[entry["historicalCode"]] = entry + + # Filter to Level 3 (communes) and resolve cantons + municipalities: dict[str, dict] = {} + for entry in entries: + if entry["level"] != 3: + continue + + bfs_code = str(entry["bfsCode"]) + name = entry["name"] + + # Resolve canton: commune -> district (Level 2) -> canton (Level 1) + canton = "" + parent = by_hist_code.get(entry.get("parent")) + if parent and parent["level"] == 2: + grandparent = by_hist_code.get(parent.get("parent")) + if grandparent and grandparent["level"] == 1: + canton_short = grandparent.get("shortName", "").lower() + canton = CANTON_SHORT_TO_FULL.get(canton_short, "") + elif parent and parent["level"] == 1: + # Direct parent is canton (some cantons have no districts) + canton_short = parent.get("shortName", "").lower() + canton = CANTON_SHORT_TO_FULL.get(canton_short, "") + + municipalities[bfs_code] = { + "bfs": bfs_code, + "name": name, + "canton": canton, + } + + logger.info("BFS API: {} municipalities", len(municipalities)) + return municipalities diff --git a/src/mail_sovereignty/classifier.py b/src/mail_sovereignty/classifier.py new file mode 100644 index 0000000..784782d --- /dev/null +++ b/src/mail_sovereignty/classifier.py @@ -0,0 +1,334 @@ +"""Classify domains by aggregating DNS/probe evidence into provider + confidence. + +Algorithm: +1. **Winner** — sum primary signal weights (MX, SPF, DKIM, AUTODISCOVER) per + provider; highest total wins. No primary signals → INDEPENDENT. +2. **Confidence** — match winner's signals against ``_PROVIDER_RULES`` (first + match wins); extra signals add +0.02 each; capped at 1.0. + +Signal tiers: +- **Primary** (MX, SPF, DKIM, AUTODISCOVER): elect a winner. +- **Confirmation** (TENANT, ASN, SPF_IP, TXT_VERIFICATION, …): boost only. + TENANT restricted to MS365 winner. +- **Gateway**: rule-matching flag from MX hostnames, not a SignalKind. + Behind a gateway, DKIM providers get +0.06 to beat SPF-from-DNS-host. +""" + +from __future__ import annotations + +import asyncio +from collections import Counter, defaultdict +from typing import NamedTuple +from collections.abc import AsyncIterator + +from loguru import logger + +from .dns import lookup_mx +from .models import ClassificationResult, Evidence, Provider, SignalKind +from .probes import ( + WEIGHTS, + detect_gateway, + extract_spf_evidence, + lookup_spf_raw, + probe_asn, + probe_autodiscover, + probe_cname_chain, + probe_dkim, + probe_dmarc, + probe_mx, + probe_smtp, + probe_spf_ip, + probe_tenant, + probe_txt_verification, +) + +# Primary signals that can stand on their own +_PRIMARY_KINDS = frozenset( + {SignalKind.MX, SignalKind.SPF, SignalKind.DKIM, SignalKind.AUTODISCOVER} +) + +# Boost per additional signal beyond the matched rule +_BOOST_PER_SIGNAL = 0.02 + +# Behind a gateway, boost DKIM provider scores so DKIM (0.15 + 0.06 = 0.21) +# beats SPF-only (0.20) from a DNS-hosting provider. +_GATEWAY_DKIM_BOOST = 0.06 + + +class _Rule(NamedTuple): + """Confidence rule matched via ``rule.signals <= present_signals``.""" + + name: str + signals: frozenset[SignalKind] # required signal kinds (subset check) + needs_gateway: bool # gateway is not a SignalKind, needs dedicated flag + base: float # base confidence before boost + + +_S = SignalKind # local alias for compact table + +# fmt: off +_PROVIDER_RULES: tuple[_Rule, ...] = ( + # rule name signals gw? base + # --- 3 signals (0.90–0.95) --- + _Rule("mx_spf_ad", frozenset({_S.MX, _S.SPF, _S.AUTODISCOVER}), False, 0.95), + _Rule("mx_spf_tenant", frozenset({_S.MX, _S.SPF, _S.TENANT}), False, 0.95), + _Rule("ad_spf_tenant", frozenset({_S.AUTODISCOVER, _S.SPF, _S.TENANT}), False, 0.95), + _Rule("dkim_ad_tenant", frozenset({_S.DKIM, _S.AUTODISCOVER, _S.TENANT}), False, 0.90), + _Rule("dkim_spf_tenant",frozenset({_S.DKIM, _S.SPF, _S.TENANT}), False, 0.90), + # --- 2 signals (0.75–0.90) --- + _Rule("mx_spf", frozenset({_S.MX, _S.SPF}), False, 0.90), + _Rule("spf_tenant_gw", frozenset({_S.SPF, _S.TENANT}), True, 0.90), + _Rule("dkim_tenant_gw", frozenset({_S.DKIM, _S.TENANT}), True, 0.85), + _Rule("mx_tenant", frozenset({_S.MX, _S.TENANT}), False, 0.85), + _Rule("spf_tenant", frozenset({_S.SPF, _S.TENANT}), False, 0.80), + _Rule("dkim_tenant", frozenset({_S.DKIM, _S.TENANT}), False, 0.75), + _Rule("ad_tenant", frozenset({_S.AUTODISCOVER, _S.TENANT}), False, 0.75), + # --- 1 signal + gateway --- + _Rule("spf_gw", frozenset({_S.SPF}), True, 0.70), + # --- 1 signal --- + _Rule("mx_only", frozenset({_S.MX}), False, 0.80), + _Rule("spf_only", frozenset({_S.SPF}), False, 0.50), + _Rule("fallback", frozenset(), False, 0.40), +) +# fmt: on + +_rule_hits: Counter[str] = Counter() + +# fmt: off +_INDEPENDENT_RULES: tuple[tuple[str, float], ...] = ( + ("ind_mx_spf", 0.90), # MX + SPF present + ("ind_mx_only", 0.60), # MX only + ("ind_secondary", 0.20), # secondary evidence only + ("ind_none", 0.00), # nothing +) +# fmt: on + +_ALL_RULE_NAMES: tuple[str, ...] = tuple(r.name for r in _PROVIDER_RULES) + tuple( + name for name, _ in _INDEPENDENT_RULES +) + + +def _rule_confidence( + provider: Provider, signals: set[SignalKind], gateway: str | None +) -> tuple[float, str]: + """Return ``(confidence, rule_name)`` for a winning provider. + + Iterates ``_PROVIDER_RULES`` (first match wins) via subset check: + ``rule.signals <= present``. TENANT only counted when winner is MS365. + Unconsumed signals each add ``_BOOST_PER_SIGNAL``; result capped at 1.0. + """ + present: set[SignalKind] = set() + if SignalKind.MX in signals: + present.add(SignalKind.MX) + if SignalKind.SPF in signals: + present.add(SignalKind.SPF) + if SignalKind.TENANT in signals and provider == Provider.MS365: + present.add(SignalKind.TENANT) + if SignalKind.AUTODISCOVER in signals: + present.add(SignalKind.AUTODISCOVER) + if SignalKind.DKIM in signals: + present.add(SignalKind.DKIM) + has_gateway = gateway is not None + + for rule in _PROVIDER_RULES: + if rule.signals <= present and (not rule.needs_gateway or has_gateway): + _rule_hits[rule.name] += 1 + logger.debug( + "rule={} base={:.2f} provider={}", + rule.name, + rule.base, + provider.value, + ) + boost = len(signals - rule.signals) * _BOOST_PER_SIGNAL + return min(1.0, rule.base + boost), rule.name + + # Unreachable: fallback rule matches everything + return 0.40, "fallback" # pragma: no cover + + +def _independent_confidence( + mx_hosts: list[str], spf_raw: str, evidence: list[Evidence] +) -> tuple[float, str]: + """Return ``(confidence, rule_name)`` for an INDEPENDENT domain. + + Rules (no provider won the primary-signal vote): + ``ind_mx_spf`` 0.90 · ``ind_mx_only`` 0.60 · ``ind_secondary`` 0.20 · + ``ind_none`` 0.0. Extra signal kinds beyond MX/SPF add + ``_BOOST_PER_SIGNAL`` each; capped at 1.0. + """ + has_mx = bool(mx_hosts) or any(e.kind == SignalKind.MX for e in evidence) + has_spf = bool(spf_raw) or any(e.kind == SignalKind.SPF for e in evidence) + + if has_mx and has_spf: + name, base = _INDEPENDENT_RULES[0] + elif has_mx: + name, base = _INDEPENDENT_RULES[1] + elif evidence: + name, base = _INDEPENDENT_RULES[2] + else: + name, base = _INDEPENDENT_RULES[3] + _rule_hits[name] += 1 + logger.debug("rule={} base=0.00", name) + return 0.0, name + + _rule_hits[name] += 1 + logger.debug("rule={} base={:.2f}", name, base) + + extra_kinds = {e.kind for e in evidence} - {SignalKind.MX, SignalKind.SPF} + boost = len(extra_kinds) * _BOOST_PER_SIGNAL + return min(1.0, base + boost), name + + +def _aggregate( + evidence: list[Evidence], + *, + gateway: str | None = None, + mx_hosts: list[str] | None = None, + spf_raw: str = "", +) -> tuple[ClassificationResult, str]: + """Aggregate evidence → ``(ClassificationResult, rule_name)``. + + 1. Deduplicate by ``(provider, kind)``; exclude INDEPENDENT. + 2. Elect winner by highest primary-signal weight sum. + 3. Score via ``_rule_confidence`` (winner) or ``_independent_confidence``. + 4. Attach ``gateway``, ``mx_hosts``, ``spf_raw`` unchanged. + """ + _mx_hosts = mx_hosts or [] + + # Deduplicate by (provider, kind) — each signal type counts once per provider + by_provider: dict[Provider, set[SignalKind]] = defaultdict(set) + for e in evidence: + if e.provider == Provider.INDEPENDENT: + continue + by_provider[e.provider].add(e.kind) + + # Winner = provider with highest sum of primary signal weights + primary_scores: dict[Provider, float] = {} + for provider, kinds in by_provider.items(): + score = sum(WEIGHTS[k] for k in kinds if k in _PRIMARY_KINDS) + if score > 0: + primary_scores[provider] = score + + # Behind a gateway, DKIM is a stronger signal than SPF because DKIM + # proves the actual email-signing provider, while SPF can be auto- + # inherited from DNS hosting infrastructure. + if gateway and len(primary_scores) > 1: + for provider, kinds in by_provider.items(): + if SignalKind.DKIM in kinds and provider in primary_scores: + primary_scores[provider] += _GATEWAY_DKIM_BOOST + + if primary_scores: + winner = max(primary_scores, key=primary_scores.get) + confidence, rule_name = _rule_confidence(winner, by_provider[winner], gateway) + else: + winner = Provider.INDEPENDENT + confidence, rule_name = _independent_confidence(_mx_hosts, spf_raw, evidence) + + return ClassificationResult( + provider=winner, + confidence=confidence, + evidence=list(evidence), + gateway=gateway, + mx_hosts=_mx_hosts, + spf_raw=spf_raw, + ), rule_name + + +async def classify(domain: str) -> ClassificationResult: + """Classify a single domain: resolve MX, run probes concurrently, aggregate.""" + # Lookup ALL MX hosts first (robust, multi-resolver), then pattern-match + all_mx_hosts = await lookup_mx(domain) + mx_evidence = probe_mx(all_mx_hosts) + + # Gateway detection (sync, no I/O) + gateway = detect_gateway(all_mx_hosts) + + # Run remaining probes concurrently, using ALL MX hosts + ( + spf_raw, + dkim_ev, + dmarc_ev, + auto_ev, + cname_ev, + smtp_ev, + tenant_ev, + asn_ev, + txt_ev, + spf_ip_ev, + ) = await asyncio.gather( + lookup_spf_raw(domain), + probe_dkim(domain), + probe_dmarc(domain), + probe_autodiscover(domain), + probe_cname_chain(domain, all_mx_hosts), + probe_smtp(all_mx_hosts), + probe_tenant(domain), + probe_asn(all_mx_hosts), + probe_txt_verification(domain), + probe_spf_ip(domain), + ) + + # Derive SPF evidence from the raw record (no second DNS query) + spf_ev = extract_spf_evidence(spf_raw) + + if not spf_raw: + logger.warning("classify({}): no SPF record retrieved", domain) + + all_evidence = ( + mx_evidence + + spf_ev + + dkim_ev + + dmarc_ev + + auto_ev + + cname_ev + + smtp_ev + + tenant_ev + + asn_ev + + txt_ev + + spf_ip_ev + ) + result, rule = _aggregate( + all_evidence, gateway=gateway, mx_hosts=all_mx_hosts, spf_raw=spf_raw + ) + logger.debug( + "classify({}): provider={} confidence={:.2f} rule={} signals={}", + domain, + result.provider.value, + result.confidence, + rule, + len(result.evidence), + ) + return result + + +async def classify_many( + domains: list[str], max_concurrency: int = 20 +) -> AsyncIterator[tuple[str, ClassificationResult]]: + """Classify domains concurrently (semaphore-bounded), yield in completion order. + + Failures are logged and skipped. Clears/logs ``_rule_hits`` around the batch. + """ + _rule_hits.clear() + semaphore = asyncio.Semaphore(max_concurrency) + + async def _bounded(domain: str) -> tuple[str, ClassificationResult] | None: + async with semaphore: + try: + result = await classify(domain) + return (domain, result) + except Exception: + logger.exception("Classification failed for {}", domain) + return None + + tasks = [asyncio.create_task(_bounded(d)) for d in domains] + for coro in asyncio.as_completed(tasks): + pair = await coro + if pair is None: + continue + yield pair + + summary = "\n".join( + f" {name:20s} {_rule_hits[name]:>5}" + for name in sorted(_ALL_RULE_NAMES, key=lambda n: _rule_hits[n], reverse=True) + ) + logger.info("Rule hit summary:\n{}", summary) diff --git a/src/mail_sovereignty/classify.py b/src/mail_sovereignty/classify.py deleted file mode 100644 index 2cd6137..0000000 --- a/src/mail_sovereignty/classify.py +++ /dev/null @@ -1,161 +0,0 @@ -from mail_sovereignty.constants import ( - AWS_KEYWORDS, - FOREIGN_SENDER_KEYWORDS, - GATEWAY_KEYWORDS, - GOOGLE_KEYWORDS, - INFOMANIAK_KEYWORDS, - MICROSOFT_KEYWORDS, - PROVIDER_KEYWORDS, - SMTP_BANNER_KEYWORDS, - SWISS_ISP_ASNS, -) - - -def classify_from_smtp_banner(banner: str, ehlo: str = "") -> str | None: - """Classify provider from SMTP banner/EHLO. Returns provider or None.""" - if not banner and not ehlo: - return None - blob = f"{banner} {ehlo}".lower() - for provider, keywords in SMTP_BANNER_KEYWORDS.items(): - if any(k in blob for k in keywords): - return provider - return None - - -def classify_from_autodiscover(autodiscover: dict[str, str] | None) -> str | None: - """Classify provider from autodiscover DNS records.""" - if not autodiscover: - return None - blob = " ".join(autodiscover.values()).lower() - for provider, keywords in PROVIDER_KEYWORDS.items(): - if any(k in blob for k in keywords): - return provider - return None - - -def detect_gateway(mx_records: list[str]) -> str | None: - """Return gateway provider name if MX matches a known gateway, else None.""" - mx_blob = " ".join(mx_records).lower() - for gateway, keywords in GATEWAY_KEYWORDS.items(): - if any(k in mx_blob for k in keywords): - return gateway - return None - - -def _check_spf_for_provider(spf_blob: str) -> str | None: - """Check an SPF blob for hyperscaler keywords, return provider or None.""" - for provider, keywords in PROVIDER_KEYWORDS.items(): - if any(k in spf_blob for k in keywords): - return provider - return None - - -def classify( - mx_records: list[str], - spf_record: str | None, - mx_cnames: dict[str, str] | None = None, - mx_asns: set[int] | None = None, - resolved_spf: str | None = None, - autodiscover: dict[str, str] | None = None, -) -> str: - """Classify email provider based on MX, CNAME targets, and SPF. - - MX records are checked first (they show where mail is actually delivered). - CNAME targets of MX hosts are checked next (to detect hidden hyperscaler usage). - If MX points to a known gateway, SPF (including resolved includes) is checked - to identify the actual mailbox provider behind the gateway. - SPF is only used as fallback when MX alone is inconclusive. - """ - mx_blob = " ".join(mx_records).lower() - - if any(k in mx_blob for k in MICROSOFT_KEYWORDS): - return "microsoft" - if any(k in mx_blob for k in GOOGLE_KEYWORDS): - return "google" - if any(k in mx_blob for k in INFOMANIAK_KEYWORDS): - return "infomaniak" - if any(k in mx_blob for k in AWS_KEYWORDS): - return "aws" - - if mx_records and mx_cnames: - cname_blob = " ".join(mx_cnames.values()).lower() - if any(k in cname_blob for k in MICROSOFT_KEYWORDS): - return "microsoft" - if any(k in cname_blob for k in GOOGLE_KEYWORDS): - return "google" - if any(k in cname_blob for k in INFOMANIAK_KEYWORDS): - return "infomaniak" - if any(k in cname_blob for k in AWS_KEYWORDS): - return "aws" - - if mx_records and detect_gateway(mx_records): - spf_blob = (spf_record or "").lower() - provider = _check_spf_for_provider(spf_blob) - if not provider and resolved_spf: - provider = _check_spf_for_provider(resolved_spf.lower()) - if provider: - return provider - # No hyperscaler in SPF — check autodiscover for backend provider - ad_provider = classify_from_autodiscover(autodiscover) - if ad_provider: - return ad_provider - # Gateway relays to independent, fall through - - if mx_records: - if mx_asns and mx_asns & SWISS_ISP_ASNS.keys(): - # Check autodiscover for hyperscaler backend behind Swiss ISP relay - ad_provider = classify_from_autodiscover(autodiscover) - if ad_provider: - return ad_provider - return "swiss-isp" - # Check autodiscover for hyperscaler backend behind independent MX - ad_provider = classify_from_autodiscover(autodiscover) - if ad_provider: - return ad_provider - return "independent" - - spf_blob = (spf_record or "").lower() - provider = _check_spf_for_provider(spf_blob) - if not provider and resolved_spf: - provider = _check_spf_for_provider(resolved_spf.lower()) - if provider: - return provider - - return "unknown" - - -def classify_from_mx(mx_records: list[str]) -> str | None: - """Classify provider from MX records alone.""" - if not mx_records: - return None - blob = " ".join(mx_records).lower() - for provider, keywords in PROVIDER_KEYWORDS.items(): - if any(k in blob for k in keywords): - return provider - return "independent" - - -def classify_from_spf(spf_record: str | None) -> str | None: - """Classify provider from SPF record alone.""" - if not spf_record: - return None - blob = spf_record.lower() - for provider, keywords in PROVIDER_KEYWORDS.items(): - if any(k in blob for k in keywords): - return provider - return None - - -def spf_mentions_providers(spf_record: str | None) -> set[str]: - """Return set of providers mentioned in SPF (main + foreign senders).""" - if not spf_record: - return set() - blob = spf_record.lower() - found = set() - for provider, keywords in PROVIDER_KEYWORDS.items(): - if any(k in blob for k in keywords): - found.add(provider) - for provider, keywords in FOREIGN_SENDER_KEYWORDS.items(): - if any(k in blob for k in keywords): - found.add(provider) - return found diff --git a/src/mail_sovereignty/cli.py b/src/mail_sovereignty/cli.py index e12d4c3..a4a3bb0 100644 --- a/src/mail_sovereignty/cli.py +++ b/src/mail_sovereignty/cli.py @@ -1,20 +1,44 @@ +import argparse import asyncio from pathlib import Path +from mail_sovereignty.log import setup as setup_logging -def preprocess() -> None: - from mail_sovereignty.preprocess import run - asyncio.run(run(Path("data.json"))) +def resolve_domains() -> None: + from mail_sovereignty.resolve import run + parser = argparse.ArgumentParser(description="Resolve municipality email domains") + parser.add_argument("--date", help="BFS snapshot date (DD-MM-YYYY)", default=None) + parser.add_argument( + "-v", "--verbose", action="store_true", help="Enable debug logging" + ) + args = parser.parse_args() -def postprocess() -> None: - from mail_sovereignty.postprocess import run + setup_logging(args.verbose) - asyncio.run(run(Path("data.json"))) + asyncio.run( + run(Path("municipality_domains.json"), Path("overrides.json"), date=args.date) + ) -def validate() -> None: - from mail_sovereignty.validate import run +def classify_providers() -> None: + from mail_sovereignty.pipeline import run - run(Path("data.json"), Path("."), quality_gate=True) + parser = argparse.ArgumentParser( + description="Classify municipality email providers" + ) + parser.add_argument( + "-v", "--verbose", action="store_true", help="Enable debug logging" + ) + args = parser.parse_args() + + setup_logging(args.verbose) + + asyncio.run(run(Path("municipality_domains.json"), Path("data.json"))) + + +def analyze() -> None: + from mail_sovereignty.analyze import main + + main() diff --git a/src/mail_sovereignty/constants.py b/src/mail_sovereignty/constants.py index 6112e29..7309722 100644 --- a/src/mail_sovereignty/constants.py +++ b/src/mail_sovereignty/constants.py @@ -1,44 +1,6 @@ import re -MICROSOFT_KEYWORDS = [ - "mail.protection.outlook.com", - "outlook.com", - "microsoft", - "office365", - "onmicrosoft", - "spf.protection.outlook.com", - "sharepointonline", -] -GOOGLE_KEYWORDS = [ - "google", - "googlemail", - "gmail", - "_spf.google.com", - "aspmx.l.google.com", -] -AWS_KEYWORDS = ["amazonaws", "amazonses", "awsdns"] -INFOMANIAK_KEYWORDS = ["infomaniak", "ikmail.com", "mxpool.infomaniak"] - -PROVIDER_KEYWORDS = { - "microsoft": MICROSOFT_KEYWORDS, - "google": GOOGLE_KEYWORDS, - "aws": AWS_KEYWORDS, - "infomaniak": INFOMANIAK_KEYWORDS, -} - -FOREIGN_SENDER_KEYWORDS = { - "mailchimp": ["mandrillapp.com", "mandrill", "mcsv.net"], - "sendgrid": ["sendgrid"], - "mailjet": ["mailjet"], - "mailgun": ["mailgun"], - "brevo": ["sendinblue", "brevo"], - "mailchannels": ["mailchannels"], - "smtp2go": ["smtp2go"], - "nl2go": ["nl2go"], - "hubspot": ["hubspotemail"], - "knowbe4": ["knowbe4"], - "hornetsecurity": ["hornetsecurity", "hornetdmarc"], -} +BFS_API_URL = "https://www.agvchapp.bfs.admin.ch/api/communes/snapshot" SPARQL_URL = "https://query.wikidata.org/sparql" SPARQL_QUERY = """ @@ -59,7 +21,7 @@ ?item wdt:P1366 ?successor . } OPTIONAL { ?item wdt:P856 ?website . } - OPTIONAL { ?item wdt:P131 ?canton . + OPTIONAL { ?item wdt:P131+ ?canton . ?canton wdt:P31 wd:Q23058 . } SERVICE wikibase:label { bd:serviceParam wikibase:language "de,fr,it,rm,en" . } } @@ -67,7 +29,9 @@ """ EMAIL_RE = re.compile(r"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}") -TYPO3_RE = re.compile(r"linkTo_UnCryptMailto\(['\"]([^'\"]+)['\"]") +TYPO3_RE = re.compile( + r"linkTo_UnCryptMailto\((?:['\"]|%27|%22)([^'\"]+?)(?:['\"]|%27|%22)" +) SKIP_DOMAINS = { "example.com", "example.ch", @@ -76,6 +40,30 @@ "gstatic.com", "googleapis.com", "schema.org", + # Generic email providers (not municipality-specific) + "gmail.com", + "hotmail.com", + "hotmail.ch", + "outlook.com", + "gmx.ch", + "bluewin.ch", + "yahoo.com", + # Shared hosting / CMS / web agencies + "domain.com", + "pregny-chambesy.ch", # shared Abaco CMS template + "netconsult.ch", + "bbf.ch", + "dp-wired.de", + # Web framework / analytics + "google.com", + "group.calendar.google.com", + # Generic / unrelated services + "mail.com", + "wordpress.org", + "defiant.com", + "schedulista.com", + "zurich-airport.com", + "avasad.ch", } SUBPAGES = [ @@ -96,53 +84,35 @@ "/comune", ] -GATEWAY_KEYWORDS = { - "seppmail": ["seppmail.cloud", "seppmail.com"], - "cleanmail": ["cleanmail.ch", "cleanmail.safecenter.ch"], - "barracuda": ["barracudanetworks.com", "barracuda.com"], - "trendmicro": ["tmes.trendmicro.eu", "tmes.trendmicro.com"], - "hornetsecurity": ["hornetsecurity.com", "hornetsecurity.ch"], - "abxsec": ["abxsec.com"], - "proofpoint": ["ppe-hosted.com"], - "sophos": ["hydra.sophos.com"], - "spamvor": ["spamvor.com"], +CANTON_ABBREVIATIONS = { + "Kanton Zürich": "zh", + "Kanton Bern": "be", + "Kanton Luzern": "lu", + "Kanton Uri": "ur", + "Kanton Schwyz": "sz", + "Kanton Obwalden": "ow", + "Kanton Nidwalden": "nw", + "Kanton Glarus": "gl", + "Kanton Zug": "zg", + "Kanton Freiburg": "fr", + "Kanton Solothurn": "so", + "Kanton Basel-Stadt": "bs", + "Kanton Basel-Landschaft": "bl", + "Kanton Schaffhausen": "sh", + "Kanton Appenzell Ausserrhoden": "ar", + "Kanton Appenzell Innerrhoden": "ai", + "Kanton St. Gallen": "sg", + "Kanton Graubünden": "gr", + "Kanton Aargau": "ag", + "Kanton Thurgau": "tg", + "Kanton Tessin": "ti", + "Kanton Waadt": "vd", + "Kanton Wallis": "vs", + "Kanton Neuenburg": "ne", + "Kanton Genf": "ge", + "Kanton Jura": "ju", } -SWISS_ISP_ASNS: dict[int, str] = { - 559: "SWITCH", - 3303: "Swisscom", - 6730: "Sunrise UPC", - 6830: "Liberty Global (UPC/Sunrise)", - 12399: "Sunrise", - 13030: "Init7", - 13213: "Cyberlink AG", - 15576: "NTS", - 15600: "Quickline", - 15796: "Netzone AG", - 24889: "Datapark AG", - 29691: "Hostpoint / Green.ch", - 51786: "Infomaniak Network SA", -} +CANTON_SHORT_TO_FULL = {v: k for k, v in CANTON_ABBREVIATIONS.items()} -CONCURRENCY = 20 CONCURRENCY_POSTPROCESS = 10 -CONCURRENCY_SMTP = 5 - -SMTP_BANNER_KEYWORDS = { - "microsoft": [ - "microsoft esmtp mail service", - "outlook.com", - "protection.outlook.com", - ], - "google": [ - "mx.google.com", - "google esmtp", - ], - "infomaniak": [ - "infomaniak", - ], - "aws": [ - "amazonaws", - "amazonses", - ], -} diff --git a/src/mail_sovereignty/dns.py b/src/mail_sovereignty/dns.py index 1a794ec..10f9912 100644 --- a/src/mail_sovereignty/dns.py +++ b/src/mail_sovereignty/dns.py @@ -1,27 +1,26 @@ +from __future__ import annotations + import asyncio -import logging -import re import dns.asyncresolver import dns.exception import dns.resolver - -logger = logging.getLogger(__name__) +from loguru import logger _resolvers = None -_RETRYABLE = (dns.exception.Timeout, dns.resolver.NoAnswer, dns.resolver.NoNameservers) - def make_resolvers() -> list[dns.asyncresolver.Resolver]: """Create a list of async resolvers pointing to different DNS servers.""" + cache = dns.resolver.Cache() resolvers = [] - for nameservers in [None, ["8.8.8.8", "8.8.4.4"], ["1.1.1.1", "1.0.0.1"]]: + for nameservers in [None, ["9.9.9.9", "149.112.112.112"], ["1.1.1.1", "1.0.0.1"]]: r = dns.asyncresolver.Resolver() if nameservers: r.nameservers = nameservers r.timeout = 10 r.lifetime = 15 + r.cache = cache resolvers.append(r) return resolvers @@ -33,231 +32,60 @@ def get_resolvers() -> list[dns.asyncresolver.Resolver]: return _resolvers -async def lookup_mx(domain: str) -> list[str]: - """Return list of MX exchange hostnames.""" - resolvers = get_resolvers() - for i, resolver in enumerate(resolvers): - try: - answers = await resolver.resolve(domain, "MX") - return sorted(str(r.exchange).rstrip(".").lower() for r in answers) - except dns.resolver.NXDOMAIN: - return [] - except _RETRYABLE as e: - logger.debug( - "MX %s: %s on resolver %d, retrying", domain, type(e).__name__, i - ) - await asyncio.sleep(0.5) - continue - except Exception: - continue - logger.info("MX %s: all resolvers failed", domain) - return [] - - -async def lookup_spf(domain: str) -> str: - """Return the SPF TXT record if found.""" - resolvers = get_resolvers() - for i, resolver in enumerate(resolvers): - try: - answers = await resolver.resolve(domain, "TXT") - spf_records = [] - for r in answers: - txt = b"".join(r.strings).decode("utf-8", errors="ignore") - if txt.lower().startswith("v=spf1"): - spf_records.append(txt) - if spf_records: - return sorted(spf_records)[0] - return "" - except dns.resolver.NXDOMAIN: - return "" - except _RETRYABLE as e: - logger.debug( - "SPF %s: %s on resolver %d, retrying", domain, type(e).__name__, i - ) - await asyncio.sleep(0.5) - continue - except Exception: - continue - logger.info("SPF %s: all resolvers failed", domain) - return "" - - -_SPF_INCLUDE_RE = re.compile(r"\binclude:(\S+)", re.IGNORECASE) -_SPF_REDIRECT_RE = re.compile(r"\bredirect=(\S+)", re.IGNORECASE) +async def resolve_robust(qname: str, rdtype: str) -> dns.resolver.Answer | None: + """Universal DNS query with multi-resolver fallback and logging. - -async def resolve_spf_includes(spf_record: str, max_lookups: int = 10) -> str: - """Recursively resolve include: and redirect= directives in an SPF record. - - Returns the original SPF text concatenated with all resolved SPF texts. - Uses BFS to follow nested includes. Tracks visited domains for loop - detection and enforces a lookup limit. + Iterates system → Quad9 → Cloudflare resolvers. + NXDOMAIN is terminal (returns None immediately). + NoAnswer/NoNameservers are expected (debug-level) and retry next resolver. + Timeout is a real issue (warning-level) and retries next resolver. """ - if not spf_record: - return "" - - initial_domains = _SPF_INCLUDE_RE.findall(spf_record) + _SPF_REDIRECT_RE.findall( - spf_record - ) - if not initial_domains: - return spf_record - - visited: set[str] = set() - parts = [spf_record] - queue = list(initial_domains) - lookups = 0 - - while queue and lookups < max_lookups: - domain = queue.pop(0).lower().rstrip(".") - if domain in visited: - continue - visited.add(domain) - lookups += 1 - resolved = await lookup_spf(domain) - if resolved: - parts.append(resolved) - nested = _SPF_INCLUDE_RE.findall(resolved) + _SPF_REDIRECT_RE.findall( - resolved - ) - queue.extend(nested) - - return " ".join(parts) - - -async def lookup_cname_chain(hostname: str, max_hops: int = 10) -> list[str]: - """Follow CNAME chain for hostname. Return list of targets (empty if no CNAME).""" - resolvers = get_resolvers() - chain = [] - current = hostname - - for _ in range(max_hops): - resolved = False - for i, resolver in enumerate(resolvers): - try: - answers = await resolver.resolve(current, "CNAME") - target = str(list(answers)[0].target).rstrip(".").lower() - chain.append(target) - current = target - resolved = True - break - except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer): - break - except _RETRYABLE as e: - logger.debug( - "CNAME %s: %s on resolver %d, retrying", - current, - type(e).__name__, - i, - ) - await asyncio.sleep(0.5) - continue - except Exception: - continue - if not resolved: - break - - return chain - - -async def resolve_mx_cnames(mx_hosts: list[str]) -> dict[str, str]: - """For each MX host, follow CNAME chain. Return mapping of host -> final target (only for hosts with CNAMEs).""" - result = {} - for host in mx_hosts: - chain = await lookup_cname_chain(host) - if chain: - result[host] = chain[-1] - return result - - -async def lookup_a(hostname: str) -> list[str]: - """Resolve hostname to IPv4 addresses via A record query.""" resolvers = get_resolvers() + had_timeout = False for i, resolver in enumerate(resolvers): try: - answers = await resolver.resolve(hostname, "A") - return [str(r) for r in answers] + return await resolver.resolve(qname, rdtype) except dns.resolver.NXDOMAIN: - return [] - except _RETRYABLE as e: + return None + except dns.exception.Timeout: + had_timeout = True logger.debug( - "A %s: %s on resolver %d, retrying", hostname, type(e).__name__, i + "DNS {}/{}: Timeout on resolver {}, retrying", + qname, + rdtype, + i, ) await asyncio.sleep(0.5) continue - except Exception: - continue - logger.info("A %s: all resolvers failed", hostname) - return [] - - -async def lookup_asn_cymru(ip: str) -> int | None: - """Query Team Cymru DNS for ASN number of an IP address.""" - reversed_ip = ".".join(reversed(ip.split("."))) - query = f"{reversed_ip}.origin.asn.cymru.com" - resolvers = get_resolvers() - for i, resolver in enumerate(resolvers): - try: - answers = await resolver.resolve(query, "TXT") - for r in answers: - txt = b"".join(r.strings).decode("utf-8", errors="ignore") - # Format: "3303 | 193.135.252.0/24 | CH | ripencc | ..." - asn_str = txt.split("|")[0].strip() - return int(asn_str) - except dns.resolver.NXDOMAIN: - return None - except _RETRYABLE as e: - logger.debug("ASN %s: %s on resolver %d, retrying", ip, type(e).__name__, i) - await asyncio.sleep(0.5) - continue - except Exception: - continue - logger.info("ASN %s: all resolvers failed", ip) - return None - - -async def lookup_srv(name: str) -> list[tuple[str, int]]: - """Return list of (target, port) from SRV records.""" - resolvers = get_resolvers() - for i, resolver in enumerate(resolvers): - try: - answers = await resolver.resolve(name, "SRV") - return [(str(r.target).rstrip(".").lower(), r.port) for r in answers] - except dns.resolver.NXDOMAIN: - return [] - except _RETRYABLE as e: + except (dns.resolver.NoAnswer, dns.resolver.NoNameservers) as e: logger.debug( - "SRV %s: %s on resolver %d, retrying", name, type(e).__name__, i + "DNS {}/{}: {} on resolver {}, trying next", + qname, + rdtype, + type(e).__name__, + i, ) await asyncio.sleep(0.5) continue - except Exception: + except Exception as e: + logger.warning( + "DNS {}/{}: unexpected error on resolver {}: {}", + qname, + rdtype, + i, + type(e).__name__, + ) continue - logger.info("SRV %s: all resolvers failed", name) - return [] - - -async def lookup_autodiscover(domain: str) -> dict[str, str]: - """Check autodiscover DNS records. Returns dict of record_type -> target.""" - cname_coro = lookup_cname_chain(f"autodiscover.{domain}", max_hops=1) - srv_coro = lookup_srv(f"_autodiscover._tcp.{domain}") - - cname_result, srv_result = await asyncio.gather(cname_coro, srv_coro) - - result: dict[str, str] = {} - if cname_result: - result["autodiscover_cname"] = cname_result[-1] - if srv_result: - result["autodiscover_srv"] = srv_result[0][0] - return result + if had_timeout: + logger.warning("DNS {}/{}: all resolvers exhausted", qname, rdtype) + else: + logger.debug("DNS {}/{}: all resolvers exhausted", qname, rdtype) + return None -async def resolve_mx_asns(mx_hosts: list[str]) -> set[int]: - """Resolve all MX hosts to IPs, look up ASNs, return set of unique ASNs.""" - asns = set() - for host in mx_hosts: - ips = await lookup_a(host) - for ip in ips: - asn = await lookup_asn_cymru(ip) - if asn is not None: - asns.add(asn) - return asns +async def lookup_mx(domain: str) -> list[str]: + """Return list of MX exchange hostnames.""" + answer = await resolve_robust(domain, "MX") + if answer is None: + return [] + return sorted(str(r.exchange).rstrip(".").lower() for r in answer) diff --git a/src/mail_sovereignty/log.py b/src/mail_sovereignty/log.py new file mode 100644 index 0000000..4d56179 --- /dev/null +++ b/src/mail_sovereignty/log.py @@ -0,0 +1,61 @@ +"""Centralized loguru logging configuration.""" + +import logging +import sys + +from loguru import logger + + +class _InterceptHandler(logging.Handler): + """Route stdlib logging records into loguru.""" + + def emit(self, record: logging.LogRecord) -> None: + try: + level: str | int = logger.level(record.levelname).name + except ValueError: + level = record.levelno + frame, depth = logging.currentframe(), 2 + while frame and frame.f_code.co_filename == logging.__file__: + frame = frame.f_back + depth += 1 + logger.opt(depth=depth, exception=record.exc_info).log( + level, record.getMessage() + ) + + +def setup(verbose: bool = False) -> None: + """Configure loguru as the sole logging backend.""" + logger.remove() + + level = "DEBUG" if verbose else "INFO" + if verbose: + fmt = ( + "{time:HH:mm:ss} | {level:<7} | " + "{name} | {message}" + ) + else: + fmt = ( + "{time:HH:mm:ss} | {level:<7} | " + "{message}" + ) + logger.add(sys.stderr, format=fmt, level=level, colorize=True) + + # Log everything to a rotating file (always DEBUG regardless of verbosity) + file_fmt = ( + "{time:YYYY-MM-DD HH:mm:ss} | {level:<7} | {name}:{function}:{line} | {message}" + ) + logger.add( + "mxmap.log", + format=file_fmt, + level="DEBUG", + rotation="5 MB", + retention=3, + encoding="utf-8", + ) + + # Intercept all stdlib logging → loguru + logging.basicConfig(handlers=[_InterceptHandler()], level=0, force=True) + + # Suppress noisy third-party loggers + for name in ("httpx", "httpcore", "dns", "stamina"): + logging.getLogger(name).setLevel(logging.WARNING) diff --git a/src/mail_sovereignty/models.py b/src/mail_sovereignty/models.py new file mode 100644 index 0000000..c52bcbe --- /dev/null +++ b/src/mail_sovereignty/models.py @@ -0,0 +1,51 @@ +"""Pydantic models for the mail sovereignty classifier.""" + +from __future__ import annotations + +import enum + +from pydantic import BaseModel, ConfigDict, Field + + +class Provider(str, enum.Enum): + MS365 = "ms365" + GOOGLE = "google" + AWS = "aws" + INFOMANIAK = "infomaniak" + SWISS_ISP = "swiss-isp" + INDEPENDENT = "independent" + + +class SignalKind(str, enum.Enum): + MX = "mx" + SPF = "spf" + DKIM = "dkim" + DMARC = "dmarc" + AUTODISCOVER = "autodiscover" + CNAME_CHAIN = "cname_chain" + SMTP = "smtp" + TENANT = "tenant" + ASN = "asn" + TXT_VERIFICATION = "txt_verification" + SPF_IP = "spf_ip" + + +class Evidence(BaseModel): + model_config = ConfigDict(frozen=True) + + kind: SignalKind + provider: Provider + weight: float = Field(ge=0.0, le=1.0) + detail: str + raw: str = "" + + +class ClassificationResult(BaseModel): + model_config = ConfigDict(frozen=True) + + provider: Provider + confidence: float = Field(ge=0.0, le=1.0) + evidence: list[Evidence] = [] + gateway: str | None = None + mx_hosts: list[str] = [] + spf_raw: str = "" diff --git a/src/mail_sovereignty/pipeline.py b/src/mail_sovereignty/pipeline.py new file mode 100644 index 0000000..6587fbe --- /dev/null +++ b/src/mail_sovereignty/pipeline.py @@ -0,0 +1,233 @@ +"""Classification pipeline: orchestrate classify_many() and write data.json.""" + +from __future__ import annotations + +import json +import subprocess +import time +from pathlib import Path +from typing import Any + +from loguru import logger + +from .classifier import classify_many +from .models import ClassificationResult, Provider + +# Map internal Provider enum values to data.json output names +PROVIDER_OUTPUT_NAMES: dict[str, str] = { + "ms365": "microsoft", +} + +_CATEGORY_MAP: dict[str, str] = { + "microsoft": "us-cloud", + "google": "us-cloud", + "aws": "us-cloud", + "infomaniak": "swiss-based", + "swiss-isp": "swiss-based", + "independent": "swiss-based", +} + + +_FRONTEND_FIELDS = { + "name", + "domain", + "canton", + "mx", + "spf", + "provider", + "category", + "classification_confidence", + "classification_signals", + "gateway", +} + + +def _minify_for_frontend(full_output: dict[str, Any]) -> dict[str, Any]: + """Strip fields the frontend doesn't use, producing a compact payload.""" + municipalities = {} + for bfs, entry in full_output["municipalities"].items(): + mini = {k: v for k, v in entry.items() if k in _FRONTEND_FIELDS} + mini["classification_signals"] = [ + {"kind": s["kind"], "detail": s["detail"]} + for s in entry.get("classification_signals", []) + ] + municipalities[bfs] = mini + return { + "generated": full_output["generated"], + "commit": full_output.get("commit"), + "municipalities": municipalities, + } + + +def _output_provider(provider: Provider) -> str: + """Map Provider enum to output name for data.json.""" + return PROVIDER_OUTPUT_NAMES.get(provider.value, provider.value) + + +def _serialize_result( + entry: dict[str, Any], result: ClassificationResult +) -> dict[str, Any]: + """Serialize a ClassificationResult into a data.json municipality entry.""" + provider = _output_provider(result.provider) + category = _CATEGORY_MAP.get(provider, "unknown") + out: dict[str, Any] = { + "bfs": entry["bfs"], + "name": entry["name"], + "canton": entry.get("canton", ""), + "domain": entry.get("domain", ""), + "mx": result.mx_hosts, + "spf": result.spf_raw, + "provider": provider, + "category": category, + "classification_confidence": round(result.confidence * 100, 1), + "classification_signals": [ + { + "kind": e.kind.value, + "provider": PROVIDER_OUTPUT_NAMES.get( + e.provider.value, e.provider.value + ), + "weight": e.weight, + "detail": e.detail, + } + for e in result.evidence + ], + } + + if result.gateway: + out["gateway"] = result.gateway + + # Pass through resolve-level fields + if "sources_detail" in entry: + out["sources_detail"] = entry["sources_detail"] + if "flags" in entry: + out["resolve_flags"] = entry["flags"] + + return out + + +async def run(domains_path: Path, output_path: Path) -> None: + with open(domains_path, encoding="utf-8") as f: + domains_data = json.load(f) + + entries = domains_data["municipalities"] + total = len(entries) + + logger.info("Classifying {} municipalities", total) + t0 = time.monotonic() + + # Build domain -> entry mapping + domain_to_entries: dict[str, list[dict[str, Any]]] = {} + no_domain_entries: list[dict[str, Any]] = [] + for entry in entries.values(): + domain = entry.get("domain", "") + if domain: + domain_to_entries.setdefault(domain, []).append(entry) + else: + no_domain_entries.append(entry) + + unique_domains = list(domain_to_entries.keys()) + + results: dict[str, dict[str, Any]] = {} + done = 0 + + # Handle entries without domains + for entry in no_domain_entries: + results[entry["bfs"]] = { + "bfs": entry["bfs"], + "name": entry["name"], + "canton": entry.get("canton", ""), + "domain": "", + "mx": [], + "spf": "", + "provider": "unknown", + "category": "unknown", + "classification_confidence": 0.0, + "classification_signals": [], + } + if "sources_detail" in entry: + results[entry["bfs"]]["sources_detail"] = entry["sources_detail"] + if "flags" in entry: + results[entry["bfs"]]["resolve_flags"] = entry["flags"] + + # Classify domains + async for domain, classification in classify_many(unique_domains): + for entry in domain_to_entries[domain]: + serialized = _serialize_result(entry, classification) + results[entry["bfs"]] = serialized + + done += len(domain_to_entries[domain]) + cat_progress: dict[str, int] = {} + for r in results.values(): + cat = _CATEGORY_MAP.get(r["provider"], "unknown") + cat_progress[cat] = cat_progress.get(cat, 0) + 1 + logger.info( + "[{:>4}/{}] {}: provider={} confidence={:.2f} signals={}", + done, + total, + domain, + classification.provider.value, + classification.confidence, + len(classification.evidence), + ) + + # Final counts + counts = {} + cat_counts: dict[str, int] = {} + for r in results.values(): + counts[r["provider"]] = counts.get(r["provider"], 0) + 1 + cat = _CATEGORY_MAP.get(r["provider"], "unknown") + cat_counts[cat] = cat_counts.get(cat, 0) + 1 + + elapsed = time.monotonic() - t0 + logger.info( + "--- Classification: {} municipalities in {:.1f}s ---", len(results), elapsed + ) + logger.info( + " US Cloud {:>5} (MS={} Google={} AWS={})", + cat_counts.get("us-cloud", 0), + counts.get("microsoft", 0), + counts.get("google", 0), + counts.get("aws", 0), + ) + logger.info( + " Swiss Based {:>5} (Infomaniak={} ISP={} Indep={})", + cat_counts.get("swiss-based", 0), + counts.get("infomaniak", 0), + counts.get("swiss-isp", 0), + counts.get("independent", 0), + ) + logger.info(" Unknown/No MX {:>5}", cat_counts.get("unknown", 0)) + + sorted_counts = dict(sorted(counts.items())) + sorted_munis = dict(sorted(results.items(), key=lambda kv: int(kv[0]))) + + commit = ( + subprocess.run( + ["git", "rev-parse", "--short", "HEAD"], + capture_output=True, + text=True, + ).stdout.strip() + or None + ) + + output = { + "generated": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()), + "commit": commit, + "total": len(results), + "counts": sorted_counts, + "municipalities": sorted_munis, + } + + with open(output_path, "w", encoding="utf-8") as f: + json.dump(output, f, ensure_ascii=False, indent=2, separators=(",", ":")) + + size_kb = len(json.dumps(output)) / 1024 + + mini_output = _minify_for_frontend(output) + mini_path = output_path.with_suffix(".min.json") + with open(mini_path, "w", encoding="utf-8") as f: + json.dump(mini_output, f, ensure_ascii=False, separators=(",", ":")) + + mini_size_kb = mini_path.stat().st_size / 1024 + logger.info("Wrote {} ({} KB)", output_path, size_kb) + logger.info("Wrote {} ({:.0f} KB)", mini_path, mini_size_kb) diff --git a/src/mail_sovereignty/postprocess.py b/src/mail_sovereignty/postprocess.py deleted file mode 100644 index 76fdbb7..0000000 --- a/src/mail_sovereignty/postprocess.py +++ /dev/null @@ -1,569 +0,0 @@ -import asyncio -import json -from pathlib import Path -from typing import Any -from urllib.parse import urlparse - -import httpx - -from mail_sovereignty.classify import ( - classify, - classify_from_smtp_banner, - detect_gateway, -) -from mail_sovereignty.constants import ( - CONCURRENCY_POSTPROCESS, - CONCURRENCY_SMTP, - EMAIL_RE, - SKIP_DOMAINS, - SUBPAGES, - TYPO3_RE, -) -from mail_sovereignty.dns import ( - lookup_autodiscover, - lookup_mx, - lookup_spf, - resolve_mx_asns, - resolve_mx_cnames, - resolve_spf_includes, -) -from mail_sovereignty.smtp import fetch_smtp_banner - - -def decrypt_typo3(encoded: str, offset: int = 2) -> str: - """Decrypt TYPO3 linkTo_UnCryptMailto Caesar cipher. - - TYPO3 encrypts mailto: links with a Caesar shift on three ASCII ranges: - 0x2B-0x3A (+,-./0123456789:) -- covers . : and digits - 0x40-0x5A (@A-Z) -- covers @ and uppercase - 0x61-0x7A (a-z) -- covers lowercase - Default encryption offset is -2, so decryption is +2 with wrap. - """ - ranges = [(0x2B, 0x3A), (0x40, 0x5A), (0x61, 0x7A)] - result = [] - for c in encoded: - code = ord(c) - decrypted = False - for start, end in ranges: - if start <= code <= end: - n = code + offset - if n > end: - n = start + (n - end - 1) - result.append(chr(n)) - decrypted = True - break - if not decrypted: - result.append(c) - return "".join(result) - - -def extract_email_domains(html: str) -> set[str]: - """Extract email domains from HTML, including TYPO3-obfuscated emails.""" - domains = set() - - for email in EMAIL_RE.findall(html): - domain = email.split("@")[1].lower() - if domain not in SKIP_DOMAINS: - domains.add(domain) - - for email in __import__("re").findall(r'mailto:([^">\s?]+)', html): - if "@" in email: - domain = email.split("@")[1].lower() - if domain not in SKIP_DOMAINS: - domains.add(domain) - - for encoded in TYPO3_RE.findall(html): - decoded = decrypt_typo3(encoded) - decoded = decoded.replace("mailto:", "") - if "@" in decoded: - domain = decoded.split("@")[1].lower() - if domain not in SKIP_DOMAINS: - domains.add(domain) - - return domains - - -def build_urls(domain: str) -> list[str]: - """Build candidate URLs to scrape, trying www. prefix first.""" - domain = domain.strip() - if domain.startswith(("http://", "https://")): - parsed = urlparse(domain) - domain = parsed.hostname or domain - if domain.startswith("www."): - bare = domain[4:] - else: - bare = domain - - bases = [f"https://www.{bare}", f"https://{bare}"] - urls = [] - for base in bases: - urls.append(base + "/") - for path in SUBPAGES: - urls.append(base + path) - return urls - - -async def scrape_email_domains(client: httpx.AsyncClient, domain: str) -> set[str]: - """Scrape a municipality website for email domains.""" - if not domain: - return set() - - all_domains = set() - urls = build_urls(domain) - - for url in urls: - try: - r = await client.get(url, follow_redirects=True, timeout=15) - if r.status_code != 200: - continue - domains = extract_email_domains(r.text) - all_domains |= domains - if all_domains: - return all_domains - except Exception: - continue - - return all_domains - - -async def process_unknown( - client: httpx.AsyncClient, semaphore: asyncio.Semaphore, m: dict[str, Any] -) -> dict[str, Any]: - """Try to resolve an unknown municipality by scraping its website.""" - async with semaphore: - bfs = m["bfs"] - name = m["name"] - domain = m.get("domain", "") - - if not domain: - print(f" SKIP {bfs:>5} {name:<30} (no domain)") - return m - - email_domains = await scrape_email_domains(client, domain) - - for email_domain in sorted(email_domains): - mx = await lookup_mx(email_domain) - if mx: - spf = await lookup_spf(email_domain) - spf_resolved = await resolve_spf_includes(spf) if spf else "" - mx_cnames = await resolve_mx_cnames(mx) - mx_asns = await resolve_mx_asns(mx) - autodiscover = await lookup_autodiscover(email_domain) - provider = classify( - mx, - spf, - mx_cnames=mx_cnames, - mx_asns=mx_asns or None, - resolved_spf=spf_resolved or None, - autodiscover=autodiscover or None, - ) - gateway = detect_gateway(mx) - print( - f" RESOLVED {bfs:>5} {name:<30} " - f"email_domain={email_domain} -> {provider}" - ) - m["mx"] = mx - m["spf"] = spf - m["provider"] = provider - m["domain"] = email_domain - if spf_resolved and spf_resolved != spf: - m["spf_resolved"] = spf_resolved - if gateway: - m["gateway"] = gateway - if mx_cnames: - m["mx_cnames"] = mx_cnames - if mx_asns: - m["mx_asns"] = sorted(mx_asns) - if autodiscover: - m["autodiscover"] = autodiscover - return m - - print( - f" UNKNOWN {bfs:>5} {name:<30} " - f"(scraped email domains: {email_domains or 'none'})" - ) - return m - - -MANUAL_OVERRIDES = { - # Neuchatel canton: all use @ne.ch (cantonal mail gateway operated by SIEN, - # MX points to cantonal servers nemx9a.ne.ch / ne2mx9a.ne.ch on SWITCH AS559) - "6404": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Boudry - "6408": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Cortaillod - "6413": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Rochefort - "6416": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Milvignes - "6417": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # La Grande Beroche - "6432": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # La Brevine - "6433": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Brot-Plamboz - "6434": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Le Cerneux-Pequignot - "6435": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # La Chaux-du-Milieu - "6437": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Les Ponts-de-Martel - "6451": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Cornaux - "6455": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Le Landeron - "6456": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Lignieres - "6504": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # La Cote-aux-Fees - "6423": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # La Sagne - "6458": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Neuchatel - "6487": { - "domain": "ne.ch", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - }, # Val-de-Ruz - # Other manual resolutions - "261": { - "domain": "zuerich.ch", - "provider": "independent", - }, # Zürich (not gemeinde-zuerich.ch) - "422": { - "domain": "ruetibeilyssach.ch", - "provider": "infomaniak", - }, # Rueti bei Lyssach - "2056": { - "name": "Fétigny-Ménières", - "canton": "Kanton Freiburg", - "domain": "fetigny-menieres.ch", - "provider": "microsoft", - }, # Missing from Wikidata - "6172": { - "domain": "gemeinde-bister.ch", - "provider": "microsoft", - }, # Bister VS -} - - -async def run(data_path: Path) -> None: - with open(data_path, encoding="utf-8") as f: - data = json.load(f) - - muni = data["municipalities"] - - # Step 1: Apply manual overrides - print("Applying manual overrides...") - dns_relookup = [] # (bfs, domain) pairs needing MX/SPF re-lookup - for bfs, override in MANUAL_OVERRIDES.items(): - if bfs not in muni and "name" in override: - muni[bfs] = { - "bfs": bfs, - "name": override["name"], - "canton": override.get("canton", ""), - "domain": "", - "mx": [], - "spf": "", - "provider": "unknown", - } - print(f" {bfs:>5} {override['name']:<30} (added missing municipality)") - if bfs not in muni: - continue - if bfs in muni: - if "domain" in override: - muni[bfs]["domain"] = override["domain"] - if "provider" in override: - muni[bfs]["provider"] = override["provider"] - if "gateway" in override: - muni[bfs]["gateway"] = override["gateway"] - if "mx" in override: - muni[bfs]["mx"] = override["mx"] - if "spf" in override: - muni[bfs]["spf"] = override["spf"] - if override.get("provider") == "merged": - muni[bfs]["mx"] = [] - muni[bfs]["spf"] = "" - # Domain-only override: need to re-lookup MX/SPF from DNS - if ( - "domain" in override - and override["domain"] - and "mx" not in override - and "provider" not in override - ): - dns_relookup.append((bfs, override["domain"])) - else: - print( - f" {bfs:>5} {muni[bfs]['name']:<30} -> {override.get('provider', '?')}" - ) - - if dns_relookup: - - async def _relookup(bfs, domain): - mx = await lookup_mx(domain) - spf = await lookup_spf(domain) - spf_resolved = await resolve_spf_includes(spf) if spf else "" - mx_cnames = await resolve_mx_cnames(mx) if mx else {} - mx_asns = await resolve_mx_asns(mx) if mx else set() - autodiscover = await lookup_autodiscover(domain) - provider = classify( - mx, - spf, - mx_cnames=mx_cnames, - mx_asns=mx_asns or None, - resolved_spf=spf_resolved or None, - autodiscover=autodiscover or None, - ) - gateway = detect_gateway(mx) if mx else None - return ( - bfs, - mx, - spf, - spf_resolved, - mx_cnames, - mx_asns, - provider, - gateway, - autodiscover, - ) - - results = await asyncio.gather(*[_relookup(b, d) for b, d in dns_relookup]) - for ( - bfs, - mx, - spf, - spf_resolved, - mx_cnames, - mx_asns, - provider, - gateway, - autodiscover, - ) in results: - muni[bfs]["mx"] = mx - muni[bfs]["spf"] = spf - muni[bfs]["provider"] = provider - if spf_resolved and spf_resolved != spf: - muni[bfs]["spf_resolved"] = spf_resolved - if gateway: - muni[bfs]["gateway"] = gateway - if mx_cnames: - muni[bfs]["mx_cnames"] = mx_cnames - if mx_asns: - muni[bfs]["mx_asns"] = sorted(mx_asns) - if autodiscover: - muni[bfs]["autodiscover"] = autodiscover - print(f" {bfs:>5} {muni[bfs]['name']:<30} -> {provider} (DNS re-lookup)") - - # Step 2: Retry DNS for unknowns that have a domain - dns_retry_candidates = [ - m for m in muni.values() if m["provider"] == "unknown" and m.get("domain") - ] - if dns_retry_candidates: - print(f"\nRetrying DNS for {len(dns_retry_candidates)} unknown domains...") - for m in dns_retry_candidates: - mx = await lookup_mx(m["domain"]) - if mx: - spf = await lookup_spf(m["domain"]) - spf_resolved = await resolve_spf_includes(spf) if spf else "" - mx_cnames = await resolve_mx_cnames(mx) - mx_asns = await resolve_mx_asns(mx) - autodiscover = await lookup_autodiscover(m["domain"]) - provider = classify( - mx, - spf, - mx_cnames=mx_cnames, - mx_asns=mx_asns or None, - resolved_spf=spf_resolved or None, - autodiscover=autodiscover or None, - ) - gateway = detect_gateway(mx) - m["mx"] = mx - m["spf"] = spf - m["provider"] = provider - if spf_resolved and spf_resolved != spf: - m["spf_resolved"] = spf_resolved - if gateway: - m["gateway"] = gateway - if mx_cnames: - m["mx_cnames"] = mx_cnames - if mx_asns: - m["mx_asns"] = sorted(mx_asns) - if autodiscover: - m["autodiscover"] = autodiscover - print(f" RECOVERED {m['bfs']:>5} {m['name']:<30} -> {provider}") - - # Step 2.5: SMTP banner check for independent/unknown with MX records - smtp_candidates = [ - m - for m in muni.values() - if m["provider"] in ("independent", "unknown") and m.get("mx") - ] - if smtp_candidates: - # Deduplicate: map each unique MX host -> list of BFS numbers - mx_host_to_bfs: dict[str, list[str]] = {} - for m in smtp_candidates: - primary_mx = m["mx"][0] - mx_host_to_bfs.setdefault(primary_mx, []).append(m["bfs"]) - - print( - f"\nSMTP banner check: {len(smtp_candidates)} entries, " - f"{len(mx_host_to_bfs)} unique MX hosts..." - ) - smtp_semaphore = asyncio.Semaphore(CONCURRENCY_SMTP) - - async def _fetch_banner(mx_host: str) -> tuple[str, dict[str, str]]: - async with smtp_semaphore: - res = await fetch_smtp_banner(mx_host) - return mx_host, res - - banner_results = await asyncio.gather( - *[_fetch_banner(host) for host in mx_host_to_bfs] - ) - - smtp_reclassified = 0 - for mx_host, result in banner_results: - banner = result.get("banner", "") - ehlo = result.get("ehlo", "") - if not banner: - continue - provider = classify_from_smtp_banner(banner, ehlo) - for bfs in mx_host_to_bfs[mx_host]: - muni[bfs]["smtp_banner"] = banner - if provider and muni[bfs]["provider"] in ("independent", "unknown"): - old = muni[bfs]["provider"] - muni[bfs]["provider"] = provider - smtp_reclassified += 1 - print( - f" SMTP {bfs:>5} {muni[bfs]['name']:<30} " - f"{old} -> {provider} ({mx_host})" - ) - - print(f" SMTP reclassified: {smtp_reclassified}") - - # Step 3: Scrape remaining unknowns - unknowns = [m for m in muni.values() if m["provider"] == "unknown"] - print(f"\n{len(unknowns)} unknown municipalities to investigate\n") - - if unknowns: - semaphore = asyncio.Semaphore(CONCURRENCY_POSTPROCESS) - async with httpx.AsyncClient( - headers={ - "User-Agent": "mxmap.ch/1.0 (https://github.com/davidhuser/mxmap)" - }, - follow_redirects=True, - ) as client: - tasks = [process_unknown(client, semaphore, m) for m in unknowns] - results = await asyncio.gather(*tasks) - - resolved = 0 - for m in results: - muni[m["bfs"]] = m - if m["provider"] != "unknown": - resolved += 1 - print(f"\nResolved {resolved}/{len(unknowns)} via scraping") - - # Recompute counts - counts = {} - for m in muni.values(): - counts[m["provider"]] = counts.get(m["provider"], 0) + 1 - data["counts"] = dict(sorted(counts.items())) - data["total"] = len(muni) - data["municipalities"] = dict(sorted(muni.items(), key=lambda kv: int(kv[0]))) - - remaining = counts.get("unknown", 0) - print(f"\nFinal counts: {json.dumps(counts)}") - - if remaining > 0: - print(f"\nStill unknown ({remaining}, for manual review):") - for m in sorted(muni.values(), key=lambda x: int(x["bfs"])): - if m["provider"] == "unknown": - print( - f" {m['bfs']:>5} {m['name']:<30} {m['canton']:<20} domain={m['domain']}" - ) - - with open(data_path, "w", encoding="utf-8") as f: - json.dump(data, f, ensure_ascii=False, indent=2, separators=(",", ":")) - - print(f"\nUpdated {data_path}") diff --git a/src/mail_sovereignty/preprocess.py b/src/mail_sovereignty/preprocess.py deleted file mode 100644 index 8a1c71d..0000000 --- a/src/mail_sovereignty/preprocess.py +++ /dev/null @@ -1,232 +0,0 @@ -import asyncio -import json -import re -import time -from pathlib import Path -from typing import Any -from urllib.parse import urlparse - -import httpx - -from mail_sovereignty.classify import classify, detect_gateway -from mail_sovereignty.constants import CONCURRENCY, SPARQL_QUERY, SPARQL_URL -from mail_sovereignty.dns import ( - lookup_autodiscover, - lookup_mx, - lookup_spf, - resolve_mx_asns, - resolve_mx_cnames, - resolve_spf_includes, -) - - -def url_to_domain(url: str | None) -> str | None: - """Extract the base domain from a URL.""" - if not url: - return None - parsed = urlparse(url if "://" in url else f"https://{url}") - host = parsed.hostname or "" - if host.startswith("www."): - host = host[4:] - return host if host else None - - -def guess_domains(name: str) -> list[str]: - """Generate a small set of plausible domain guesses for a municipality.""" - raw = name.lower().strip() - raw = re.sub(r"\s*\(.*?\)\s*", "", raw) - - # German umlaut transliteration - de = raw.replace("\u00fc", "ue").replace("\u00e4", "ae").replace("\u00f6", "oe") - # French accent removal - fr = raw - for a, b in [ - ("\u00e9", "e"), - ("\u00e8", "e"), - ("\u00ea", "e"), - ("\u00eb", "e"), - ("\u00e0", "a"), - ("\u00e2", "a"), - ("\u00f4", "o"), - ("\u00ee", "i"), - ("\u00f9", "u"), - ("\u00fb", "u"), - ("\u00e7", "c"), - ("\u00ef", "i"), - ]: - fr = fr.replace(a, b) - - def slugify(s): - s = re.sub(r"['\u2019`]", "", s) - s = re.sub(r"[^a-z0-9]+", "-", s) - return s.strip("-") - - slugs = {slugify(de), slugify(fr), slugify(raw)} - {""} - candidates = set() - for slug in slugs: - candidates.add(f"{slug}.ch") - candidates.add(f"gemeinde-{slug}.ch") - candidates.add(f"commune-de-{slug}.ch") - return sorted(candidates) - - -async def fetch_wikidata() -> dict[str, dict[str, str]]: - """Query Wikidata for all Swiss municipalities.""" - print("Querying Wikidata for Swiss municipalities...") - headers = { - "Accept": "application/sparql-results+json", - "User-Agent": "MXmap/1.0 (https://github.com/davidhuser/mxmap)", - } - async with httpx.AsyncClient(timeout=120) as client: - r = await client.post( - SPARQL_URL, - data={"query": SPARQL_QUERY}, - headers=headers, - ) - r.raise_for_status() - data = r.json() - - municipalities = {} - for row in data["results"]["bindings"]: - bfs = row["bfs"]["value"] - name = row.get("itemLabel", {}).get("value", f"BFS-{bfs}") - website = row.get("website", {}).get("value", "") - canton = row.get("cantonLabel", {}).get("value", "") - - if bfs not in municipalities: - municipalities[bfs] = { - "bfs": bfs, - "name": name, - "website": website, - "canton": canton, - } - elif not municipalities[bfs]["website"] and website: - municipalities[bfs]["website"] = website - - print( - f" Found {len(municipalities)} municipalities, " - f"{sum(1 for m in municipalities.values() if m['website'])} with websites" - ) - return municipalities - - -async def scan_municipality( - m: dict[str, str], semaphore: asyncio.Semaphore -) -> dict[str, Any]: - """Scan a single municipality for email provider info.""" - async with semaphore: - domain = url_to_domain(m.get("website", "")) - mx, spf = [], "" - - if domain: - mx = await lookup_mx(domain) - if mx: - spf = await lookup_spf(domain) - - if not mx: - for guess in guess_domains(m["name"]): - if guess == domain: - continue - mx = await lookup_mx(guess) - if mx: - domain = guess - spf = await lookup_spf(guess) - break - - spf_resolved = await resolve_spf_includes(spf) if spf else "" - mx_cnames = await resolve_mx_cnames(mx) if mx else {} - mx_asns = await resolve_mx_asns(mx) if mx else set() - autodiscover = await lookup_autodiscover(domain) if domain else {} - provider = classify( - mx, - spf, - mx_cnames=mx_cnames, - mx_asns=mx_asns or None, - resolved_spf=spf_resolved or None, - autodiscover=autodiscover or None, - ) - gateway = detect_gateway(mx) if mx else None - - entry: dict[str, Any] = { - "bfs": m["bfs"], - "name": m["name"], - "canton": m.get("canton", ""), - "domain": domain or "", - "mx": mx, - "spf": spf, - "provider": provider, - } - if spf_resolved and spf_resolved != spf: - entry["spf_resolved"] = spf_resolved - if gateway: - entry["gateway"] = gateway - if mx_cnames: - entry["mx_cnames"] = mx_cnames - if mx_asns: - entry["mx_asns"] = sorted(mx_asns) - if autodiscover: - entry["autodiscover"] = autodiscover - return entry - - -async def run(output_path: Path) -> None: - municipalities = await fetch_wikidata() - total = len(municipalities) - - print(f"\nScanning {total} municipalities for MX/SPF records...") - print("(This takes a few minutes with async lookups)\n") - - semaphore = asyncio.Semaphore(CONCURRENCY) - tasks = [scan_municipality(m, semaphore) for m in municipalities.values()] - - results = {} - done = 0 - for coro in asyncio.as_completed(tasks): - result = await coro - results[result["bfs"]] = result - done += 1 - if done % 50 == 0 or done == total: - counts = {} - for r in results.values(): - counts[r["provider"]] = counts.get(r["provider"], 0) + 1 - print( - f" [{done:4d}/{total}] " - f"MS={counts.get('microsoft', 0)} " - f"Google={counts.get('google', 0)} " - f"Infomaniak={counts.get('infomaniak', 0)} " - f"AWS={counts.get('aws', 0)} " - f"ISP={counts.get('swiss-isp', 0)} " - f"Indep={counts.get('independent', 0)} " - f"?={counts.get('unknown', 0)}" - ) - - counts = {} - for r in results.values(): - counts[r["provider"]] = counts.get(r["provider"], 0) + 1 - - print(f"\n{'=' * 50}") - print(f"RESULTS: {len(results)} municipalities scanned") - print(f" Microsoft/Azure : {counts.get('microsoft', 0):>5}") - print(f" Google/GCP : {counts.get('google', 0):>5}") - print(f" Infomaniak : {counts.get('infomaniak', 0):>5}") - print(f" AWS : {counts.get('aws', 0):>5}") - print(f" Swiss ISP : {counts.get('swiss-isp', 0):>5}") - print(f" Independent : {counts.get('independent', 0):>5}") - print(f" Unknown/No MX : {counts.get('unknown', 0):>5}") - print(f"{'=' * 50}") - - sorted_counts = dict(sorted(counts.items())) - sorted_munis = dict(sorted(results.items(), key=lambda kv: int(kv[0]))) - - output = { - "generated": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()), - "total": len(results), - "counts": sorted_counts, - "municipalities": sorted_munis, - } - - with open(output_path, "w", encoding="utf-8") as f: - json.dump(output, f, ensure_ascii=False, indent=None, separators=(",", ":")) - - size_kb = len(json.dumps(output)) / 1024 - print(f"\nWritten {output_path} ({size_kb:.0f} KB)") diff --git a/src/mail_sovereignty/probes.py b/src/mail_sovereignty/probes.py new file mode 100644 index 0000000..e92be67 --- /dev/null +++ b/src/mail_sovereignty/probes.py @@ -0,0 +1,504 @@ +"""Async DNS probe functions for mail infrastructure fingerprinting.""" + +from __future__ import annotations + +import asyncio + +import httpx +import stamina +from loguru import logger + +from .dns import resolve_robust +from .models import Evidence, Provider, SignalKind +from .signatures import ( + GATEWAY_KEYWORDS, + SIGNATURES, + SWISS_ISP_ASNS, + match_patterns, +) + +# Signal weights (sum to 1.0) +WEIGHTS: dict[SignalKind, float] = { + SignalKind.MX: 0.20, + SignalKind.SPF: 0.20, + SignalKind.DKIM: 0.15, + SignalKind.SMTP: 0.04, + SignalKind.TENANT: 0.10, + SignalKind.ASN: 0.03, + SignalKind.TXT_VERIFICATION: 0.07, + SignalKind.AUTODISCOVER: 0.08, + SignalKind.CNAME_CHAIN: 0.03, + SignalKind.DMARC: 0.02, + SignalKind.SPF_IP: 0.08, +} + + +async def lookup_spf_raw(domain: str) -> str: + """Return the raw SPF (v=spf1) TXT record for a domain, or empty string.""" + answer = await resolve_robust(domain, "TXT") + if answer is None: + return "" + for rdata in answer: + txt = b"".join(rdata.strings).decode("utf-8", errors="ignore") + if txt.lower().startswith("v=spf1"): + return txt + return "" + + +def probe_mx(mx_hosts: list[str]) -> list[Evidence]: + """Match pre-fetched MX hostnames against provider patterns.""" + results: list[Evidence] = [] + for host in mx_hosts: + for sig in SIGNATURES: + if match_patterns(host, sig.mx_patterns): + results.append( + Evidence( + kind=SignalKind.MX, + provider=sig.provider, + weight=WEIGHTS[SignalKind.MX], + detail=f"MX {host} matches {sig.provider.value}", + raw=host, + ) + ) + return results + + +def extract_spf_evidence(spf_raw: str) -> list[Evidence]: + """Match include: directives in an already-fetched SPF string.""" + results: list[Evidence] = [] + if not spf_raw: + return results + for token in spf_raw.split(): + if not token.lower().startswith("include:"): + continue + include_val = token.split(":", 1)[1] + for sig in SIGNATURES: + if match_patterns(include_val, sig.spf_includes): + results.append( + Evidence( + kind=SignalKind.SPF, + provider=sig.provider, + weight=WEIGHTS[SignalKind.SPF], + detail=f"SPF include:{include_val} matches {sig.provider.value}", + raw=spf_raw, + ) + ) + return results + + +async def probe_spf(domain: str) -> list[Evidence]: + """Query TXT for SPF and match include: directives.""" + spf_raw = await lookup_spf_raw(domain) + return extract_spf_evidence(spf_raw) + + +async def probe_dkim(domain: str) -> list[Evidence]: + """Query DKIM selector CNAMEs and match targets.""" + results: list[Evidence] = [] + for sig in SIGNATURES: + for selector in sig.dkim_selectors: + qname = f"{selector}._domainkey.{domain}" + answer = await resolve_robust(qname, "CNAME") + if answer is None: + continue + for rdata in answer: + target = str(rdata.target).rstrip(".").lower() + if match_patterns(target, sig.dkim_cname_patterns): + results.append( + Evidence( + kind=SignalKind.DKIM, + provider=sig.provider, + weight=WEIGHTS[SignalKind.DKIM], + detail=f"DKIM {qname} CNAME → {target}", + raw=target, + ) + ) + return results + + +async def probe_dmarc(domain: str) -> list[Evidence]: + """Query DMARC TXT record and match against provider patterns.""" + results: list[Evidence] = [] + answer = await resolve_robust(f"_dmarc.{domain}", "TXT") + if answer is None: + return results + + for rdata in answer: + txt = b"".join(rdata.strings).decode("utf-8", errors="ignore") + for sig in SIGNATURES: + if match_patterns(txt, sig.dmarc_patterns): + results.append( + Evidence( + kind=SignalKind.DMARC, + provider=sig.provider, + weight=WEIGHTS[SignalKind.DMARC], + detail=f"DMARC record matches {sig.provider.value}", + raw=txt, + ) + ) + return results + + +async def probe_autodiscover(domain: str) -> list[Evidence]: + """Query autodiscover CNAME and SRV records.""" + results: list[Evidence] = [] + + # CNAME probe + answer = await resolve_robust(f"autodiscover.{domain}", "CNAME") + if answer is not None: + for rdata in answer: + target = str(rdata.target).rstrip(".").lower() + for sig in SIGNATURES: + if match_patterns(target, sig.autodiscover_patterns): + results.append( + Evidence( + kind=SignalKind.AUTODISCOVER, + provider=sig.provider, + weight=WEIGHTS[SignalKind.AUTODISCOVER], + detail=f"autodiscover CNAME → {target}", + raw=target, + ) + ) + + # SRV probe + answer = await resolve_robust(f"_autodiscover._tcp.{domain}", "SRV") + if answer is not None: + for rdata in answer: + target = str(rdata.target).rstrip(".").lower() + for sig in SIGNATURES: + if match_patterns(target, sig.autodiscover_patterns): + results.append( + Evidence( + kind=SignalKind.AUTODISCOVER, + provider=sig.provider, + weight=WEIGHTS[SignalKind.AUTODISCOVER], + detail=f"autodiscover SRV → {target}", + raw=target, + ) + ) + + return results + + +async def probe_cname_chain( + domain: str, + mx_hosts: list[str], +) -> list[Evidence]: + """Follow CNAME chains from MX hosts, match final target.""" + results: list[Evidence] = [] + for host in mx_hosts: + # Skip hosts that already match a known MX pattern — the provider is + # already identified by probe_mx, so CNAME chain adds nothing and the + # lookup will just timeout (e.g. Outlook MX hosts). + if any(match_patterns(host, sig.mx_patterns) for sig in SIGNATURES): + continue + current = host + for _ in range(10): # max 10 hops + answer = await resolve_robust(current, "CNAME") + if answer is None: + break + current = str(answer[0].target).rstrip(".").lower() + + if current != host: + for sig in SIGNATURES: + if match_patterns(current, sig.cname_patterns): + results.append( + Evidence( + kind=SignalKind.CNAME_CHAIN, + provider=sig.provider, + weight=WEIGHTS[SignalKind.CNAME_CHAIN], + detail=f"CNAME chain {host} → {current}", + raw=current, + ) + ) + return results + + +def detect_gateway(mx_hosts: list[str]) -> str | None: + """Check MX hosts against known gateway patterns. Returns gateway name or None.""" + for host in mx_hosts: + lower = host.lower() + for gateway_name, patterns in GATEWAY_KEYWORDS.items(): + if any(p in lower for p in patterns): + return gateway_name + return None + + +async def probe_smtp(mx_hosts: list[str]) -> list[Evidence]: + """Connect to primary MX on port 25, capture banner + EHLO, match patterns.""" + results: list[Evidence] = [] + if not mx_hosts: + return results + + mx_host = mx_hosts[0] + banner = "" + ehlo = "" + writer = None + try: + reader, writer = await asyncio.wait_for( + asyncio.open_connection(mx_host, 25), timeout=10.0 + ) + + # Read 220 banner + banner_line = await asyncio.wait_for(reader.readline(), timeout=10.0) + banner = banner_line.decode("utf-8", errors="replace").strip() + + # Send EHLO + writer.write(b"EHLO probe.local\r\n") + await writer.drain() + + # Read multi-line EHLO response + ehlo_lines: list[str] = [] + while True: + line = await asyncio.wait_for(reader.readline(), timeout=10.0) + decoded = line.decode("utf-8", errors="replace").strip() + ehlo_lines.append(decoded) + if decoded[:4] != "250-": + break + ehlo = "\n".join(ehlo_lines) + + # Send QUIT + writer.write(b"QUIT\r\n") + await writer.drain() + try: + await asyncio.wait_for(reader.readline(), timeout=2.0) + except Exception: + pass + + except Exception as e: + logger.debug("SMTP banner fetch failed for {}: {}", mx_host, e) + finally: + if writer: + try: + writer.close() + await writer.wait_closed() + except Exception: + pass + + combined = f"{banner} {ehlo}".lower() + if not combined.strip(): + return results + + for sig in SIGNATURES: + if match_patterns(combined, sig.smtp_banner_patterns): + results.append( + Evidence( + kind=SignalKind.SMTP, + provider=sig.provider, + weight=WEIGHTS[SignalKind.SMTP], + detail=f"SMTP banner matches {sig.provider.value}", + raw=banner, + ) + ) + return results + + +@stamina.retry( + on=(httpx.HTTPStatusError, httpx.ConnectError, httpx.TimeoutException), + attempts=2, + wait_initial=1.0, +) +async def _fetch_tenant( + client: httpx.AsyncClient, url: str, params: dict +) -> httpx.Response: + r = await client.get(url, params=params, timeout=10) + r.raise_for_status() + return r + + +async def probe_tenant(domain: str) -> list[Evidence]: + """Query getuserrealm.srf to detect MS365 tenant.""" + results: list[Evidence] = [] + url = "https://login.microsoftonline.com/getuserrealm.srf" + params = {"login": f"user@{domain}", "json": "1"} + try: + async with httpx.AsyncClient() as client: + r = await _fetch_tenant(client, url, params) + data = r.json() + ns_type = data.get("NameSpaceType") + if ns_type in ("Managed", "Federated"): + results.append( + Evidence( + kind=SignalKind.TENANT, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.TENANT], + detail=f"MS365 tenant detected: {ns_type}", + raw=ns_type, + ) + ) + except Exception as e: + logger.debug("Tenant check failed for {}: {}", domain, e) + return results + + +async def probe_asn(mx_hosts: list[str]) -> list[Evidence]: + """Resolve MX IPs, query Team Cymru for ASN, match against providers + Swiss ISPs.""" + results: list[Evidence] = [] + + for host in mx_hosts: + # Resolve MX host to IP + answer = await resolve_robust(host, "A") + if answer is None: + continue + + for rdata in answer: + ip = str(rdata) + # Query Team Cymru ASN + reversed_ip = ".".join(reversed(ip.split("."))) + asn_answer = await resolve_robust( + f"{reversed_ip}.origin.asn.cymru.com", "TXT" + ) + if asn_answer is None: + continue + + for asn_rdata in asn_answer: + txt = b"".join(asn_rdata.strings).decode("utf-8", errors="ignore") + # Format: "ASN | IP | PREFIX | CC | REGISTRY" + parts = txt.split("|") + if not parts: + continue + try: + asn_num = int(parts[0].strip()) + except (ValueError, IndexError): + continue + + # Check provider ASNs + for sig in SIGNATURES: + if asn_num in sig.asns: + results.append( + Evidence( + kind=SignalKind.ASN, + provider=sig.provider, + weight=WEIGHTS[SignalKind.ASN], + detail=f"ASN {asn_num} matches {sig.provider.value}", + raw=str(asn_num), + ) + ) + + # Check Swiss ISP ASNs + if asn_num in SWISS_ISP_ASNS: + isp_name = SWISS_ISP_ASNS[asn_num] + results.append( + Evidence( + kind=SignalKind.ASN, + provider=Provider.SWISS_ISP, + weight=WEIGHTS[SignalKind.ASN], + detail=f"ASN {asn_num} is Swiss ISP: {isp_name}", + raw=str(asn_num), + ) + ) + return results + + +async def probe_txt_verification(domain: str) -> list[Evidence]: + """Check TXT records for provider domain verification strings.""" + results: list[Evidence] = [] + + # Query domain TXT records + answer = await resolve_robust(domain, "TXT") + if answer is not None: + for rdata in answer: + txt = b"".join(rdata.strings).decode("utf-8", errors="ignore") + for sig in SIGNATURES: + if match_patterns(txt, sig.txt_verification_patterns): + results.append( + Evidence( + kind=SignalKind.TXT_VERIFICATION, + provider=sig.provider, + weight=WEIGHTS[SignalKind.TXT_VERIFICATION], + detail=f"TXT verification matches {sig.provider.value}", + raw=txt, + ) + ) + + # Query _amazonses.{domain} TXT for AWS SES domain verification + answer = await resolve_robust(f"_amazonses.{domain}", "TXT") + if answer is not None: + for rdata in answer: + txt = b"".join(rdata.strings).decode("utf-8", errors="ignore") + if txt: + results.append( + Evidence( + kind=SignalKind.TXT_VERIFICATION, + provider=Provider.AWS, + weight=WEIGHTS[SignalKind.TXT_VERIFICATION], + detail="AWS SES domain verification found", + raw=txt, + ) + ) + + return results + + +async def probe_spf_ip(domain: str) -> list[Evidence]: + """Parse SPF ip4: and a: entries, resolve IPs to ASN, match against providers + Swiss ISPs.""" + results: list[Evidence] = [] + answer = await resolve_robust(domain, "TXT") + if answer is None: + return results + + ips: list[str] = [] + for rdata in answer: + txt = b"".join(rdata.strings).decode("utf-8", errors="ignore") + if not txt.lower().startswith("v=spf1"): + continue + for token in txt.split(): + lower_token = token.lower() + if lower_token.startswith("ip4:"): + ip_part = token.split(":", 1)[1] + ip = ip_part.split("/")[0] # strip CIDR notation + ips.append(ip) + elif lower_token.startswith("a:"): + hostname = token.split(":", 1)[1] + a_answer = await resolve_robust(hostname, "A") + if a_answer is None: + continue + for a_rdata in a_answer: + ips.append(str(a_rdata)) + + seen_asns: set[int] = set() + for ip in ips: + reversed_ip = ".".join(reversed(ip.split("."))) + asn_answer = await resolve_robust(f"{reversed_ip}.origin.asn.cymru.com", "TXT") + if asn_answer is None: + continue + + for asn_rdata in asn_answer: + txt = b"".join(asn_rdata.strings).decode("utf-8", errors="ignore") + parts = txt.split("|") + if not parts: + continue + try: + asn_num = int(parts[0].strip()) + except (ValueError, IndexError): + continue + + if asn_num in seen_asns: + continue + seen_asns.add(asn_num) + + for sig in SIGNATURES: + if asn_num in sig.asns: + results.append( + Evidence( + kind=SignalKind.SPF_IP, + provider=sig.provider, + weight=WEIGHTS[SignalKind.SPF_IP], + detail=f"SPF ip4/a ASN {asn_num} matches {sig.provider.value}", + raw=f"{ip}:{asn_num}", + ) + ) + + if asn_num in SWISS_ISP_ASNS: + isp_name = SWISS_ISP_ASNS[asn_num] + results.append( + Evidence( + kind=SignalKind.SPF_IP, + provider=Provider.SWISS_ISP, + weight=WEIGHTS[SignalKind.SPF_IP], + detail=f"SPF ip4/a ASN {asn_num} is Swiss ISP: {isp_name}", + raw=f"{ip}:{asn_num}", + ) + ) + + return results diff --git a/src/mail_sovereignty/resolve.py b/src/mail_sovereignty/resolve.py new file mode 100644 index 0000000..07ee578 --- /dev/null +++ b/src/mail_sovereignty/resolve.py @@ -0,0 +1,812 @@ +import asyncio +import json +import re +import ssl +import time +import warnings +from pathlib import Path +from typing import Any +from urllib.parse import urlparse + +import httpx +import stamina +from loguru import logger + +from mail_sovereignty.bfs_api import fetch_bfs_municipalities +from mail_sovereignty.constants import ( + CANTON_ABBREVIATIONS, + CONCURRENCY_POSTPROCESS, + EMAIL_RE, + SKIP_DOMAINS, + SPARQL_QUERY, + SPARQL_URL, + SUBPAGES, + TYPO3_RE, +) +from mail_sovereignty.dns import lookup_mx + + +def url_to_domain(url: str | None) -> str | None: + """Extract the base domain from a URL.""" + if not url: + return None + parsed = urlparse(url if "://" in url else f"https://{url}") + host = parsed.hostname or "" + if host.startswith("www."): + host = host[4:] + return host if host else None + + +def _slugify_name(name: str) -> set[str]: + """Generate slug variants for a municipality name (umlaut/accent handling).""" + raw = name.lower().strip() + raw = re.sub(r"\s*\(.*?\)\s*", "", raw) + + # German umlaut transliteration + de = raw.replace("\u00fc", "ue").replace("\u00e4", "ae").replace("\u00f6", "oe") + # French accent removal + fr = raw + for a, b in [ + ("\u00e9", "e"), + ("\u00e8", "e"), + ("\u00ea", "e"), + ("\u00eb", "e"), + ("\u00e0", "a"), + ("\u00e2", "a"), + ("\u00f4", "o"), + ("\u00ee", "i"), + ("\u00f9", "u"), + ("\u00fb", "u"), + ("\u00e7", "c"), + ("\u00ef", "i"), + ]: + fr = fr.replace(a, b) + + def slugify(s): + s = re.sub(r"['\u2019`]", "", s) + s = re.sub(r"[^a-z0-9]+", "-", s) + return s.strip("-") + + return {slugify(de), slugify(fr), slugify(raw)} - {""} + + +def guess_domains(name: str, canton: str = "") -> list[str]: + """Generate a set of plausible domain guesses for a municipality.""" + + def _slugs_for(text: str) -> set[str]: + raw = text.lower().strip() + raw = re.sub(r"\s*\(.*?\)\s*", "", raw) + + de = raw.replace("\u00fc", "ue").replace("\u00e4", "ae").replace("\u00f6", "oe") + fr = raw + for a, b in [ + ("\u00e9", "e"), + ("\u00e8", "e"), + ("\u00ea", "e"), + ("\u00eb", "e"), + ("\u00e0", "a"), + ("\u00e2", "a"), + ("\u00f4", "o"), + ("\u00ee", "i"), + ("\u00f9", "u"), + ("\u00fb", "u"), + ("\u00e7", "c"), + ("\u00ef", "i"), + ]: + fr = fr.replace(a, b) + + def slugify(s): + s = re.sub(r"['\u2019`]", "", s) + s = re.sub(r"[^a-z0-9]+", "-", s) + return s.strip("-") + + slugs = {slugify(de), slugify(fr), slugify(raw)} - {""} + + # Compound name handling: join all words + # e.g. "Rüti bei Lyssach" -> "ruetibeilyssach.ch" + extras = set() + for variant in [de, fr, raw]: + joined = slugify(variant).replace("-", "") + if joined and joined not in slugs: + extras.add(joined) + + return slugs, extras + + # Split on "/" to generate guesses for each part independently + parts = [p.strip() for p in name.split("/") if p.strip()] + + all_slugs: set[str] = set() + all_extras: set[str] = set() + + # Always generate from the full name + slugs, extras = _slugs_for(name) + all_slugs |= slugs + all_extras |= extras + + # Also generate from each "/" part individually + if len(parts) > 1: + for part in parts: + slugs, extras = _slugs_for(part) + all_slugs |= slugs + all_extras |= extras + + candidates = set() + canton_abbrev = CANTON_ABBREVIATIONS.get(canton, "") + + for slug in all_slugs: + candidates.add(f"{slug}.ch") + candidates.add(f"gemeinde-{slug}.ch") + candidates.add(f"commune-de-{slug}.ch") + candidates.add(f"comune-di-{slug}.ch") + candidates.add(f"stadt-{slug}.ch") + if canton_abbrev: + candidates.add(f"{slug}.{canton_abbrev}.ch") + + for joined in all_extras: + candidates.add(f"{joined}.ch") + + return sorted(candidates) + + +def detect_website_mismatch(name: str, website_domain: str) -> bool: + """Detect if a website domain doesn't match the municipality name. + + Returns True if the domain appears unrelated to the municipality name. + """ + if not name or not website_domain: + return False + + domain_lower = website_domain.lower() + slugs = _slugify_name(name) + + # Handle common prefixes + prefixes = ["stadt-", "gemeinde-", "commune-de-", "comune-di-"] + domain_stripped = domain_lower + for prefix in prefixes: + if domain_stripped.startswith(prefix): + domain_stripped = domain_stripped[len(prefix) :] + break + + # Remove TLD for matching + domain_base = ( + domain_stripped.rsplit(".", 1)[0] if "." in domain_stripped else domain_stripped + ) + # Strip canton subdomain: e.g. teufen.ar.ch -> teufen + parts = domain_base.split(".") + domain_base_first = parts[0] if parts else domain_base + + for slug in slugs: + if slug in domain_lower: + return False + if slug in domain_stripped: + return False + if slug == domain_base_first: + return False + + # Check if any word from the name (4+ chars) appears in the domain + raw = name.lower().strip() + raw = re.sub(r"\s*\(.*?\)\s*", "", raw) + de = raw.replace("\u00fc", "ue").replace("\u00e4", "ae").replace("\u00f6", "oe") + fr = raw + for a, b in [ + ("\u00e9", "e"), + ("\u00e8", "e"), + ("\u00ea", "e"), + ("\u00eb", "e"), + ("\u00e0", "a"), + ("\u00e2", "a"), + ("\u00f4", "o"), + ("\u00ee", "i"), + ("\u00f9", "u"), + ("\u00fb", "u"), + ("\u00e7", "c"), + ("\u00ef", "i"), + ]: + fr = fr.replace(a, b) + + for variant in [raw, de, fr]: + words = re.findall(r"[a-z]{4,}", variant) + for word in words: + if word in domain_lower: + return False + + return True + + +def score_domain_sources( + sources: dict[str, set[str]], + name: str, + website_domain: str, +) -> dict[str, Any]: + """Score domain sources and pick best domain based on agreement.""" + sources_detail: dict[str, list[str]] = {k: sorted(v) for k, v in sources.items()} + + # Collect all unique domains and which sources found them + domain_sources: dict[str, list[str]] = {} + for source_name, domains in sources.items(): + for domain in domains: + if domain not in domain_sources: + domain_sources[domain] = [] + domain_sources[domain].append(source_name) + + if not domain_sources: + return { + "domain": "", + "source": "none", + "confidence": "none", + "sources_detail": sources_detail, + "flags": [], + } + + # Pick domain with most source agreement + best_domain = max( + domain_sources, + key=lambda d: (len(domain_sources[d]), "scrape" in domain_sources[d]), + ) + best_sources = domain_sources[best_domain] + source_count = len(best_sources) + + # Determine primary source (in priority order) + source_priority = ["scrape", "redirect", "wikidata", "guess"] + source = next((s for s in source_priority if s in best_sources), best_sources[0]) + + flags: list[str] = [] + + # Determine confidence + if source_count >= 2: + confidence = "high" + elif source == "guess": + confidence = "low" + flags.append("guess_only") + else: + confidence = "medium" + + # Check for disagreement: only flag when a primary source found domains + # but none match the best domain. Extra domains from guess or within scrape + # don't count as disagreement. + primary_sources = ["scrape", "redirect", "wikidata"] + for src in primary_sources: + src_domains = sources.get(src, set()) + if src_domains and best_domain not in src_domains: + flags.append("sources_disagree") + if confidence == "high": + confidence = "medium" + break + + # Check website mismatch + if website_domain and detect_website_mismatch(name, website_domain): + flags.append("website_mismatch") + if confidence == "high": + confidence = "medium" + + return { + "domain": best_domain, + "source": source, + "confidence": confidence, + "sources_detail": sources_detail, + "flags": flags, + } + + +@stamina.retry( + on=(httpx.HTTPStatusError, httpx.ConnectError, httpx.TimeoutException), + attempts=3, + wait_initial=2.0, +) +async def _fetch_sparql( + client: httpx.AsyncClient, url: str, data: dict, headers: dict +) -> httpx.Response: + r = await client.post(url, data=data, headers=headers) + r.raise_for_status() + return r + + +async def fetch_wikidata() -> dict[str, dict[str, str]]: + """Query Wikidata for all Swiss municipalities.""" + logger.info("Fetching municipalities from Wikidata") + headers = { + "Accept": "application/sparql-results+json", + "User-Agent": "MXmap/1.0 (https://github.com/davidhuser/mxmap)", + } + async with httpx.AsyncClient(timeout=120) as client: + r = await _fetch_sparql(client, SPARQL_URL, {"query": SPARQL_QUERY}, headers) + data = r.json() + + municipalities = {} + for row in data["results"]["bindings"]: + bfs = row["bfs"]["value"] + name = row.get("itemLabel", {}).get("value", f"BFS-{bfs}") + website = row.get("website", {}).get("value", "") + canton = row.get("cantonLabel", {}).get("value", "") + + if bfs not in municipalities: + municipalities[bfs] = { + "bfs": bfs, + "name": name, + "website": website, + "canton": canton, + } + elif not municipalities[bfs]["website"] and website: + municipalities[bfs]["website"] = website + + logger.info( + "Wikidata: {} municipalities, {} with websites", + len(municipalities), + sum(1 for m in municipalities.values() if m["website"]), + ) + return municipalities + + +def load_overrides(overrides_path: Path) -> dict[str, dict[str, str]]: + """Load manual overrides from JSON file.""" + if not overrides_path.exists(): + return {} + with open(overrides_path, encoding="utf-8") as f: + return json.load(f) + + +def decrypt_typo3(encoded: str, offset: int = 2) -> str: + """Decrypt TYPO3 linkTo_UnCryptMailto Caesar cipher. + + TYPO3 encrypts mailto: links with a Caesar shift on three ASCII ranges: + 0x2B-0x3A (+,-./0123456789:) -- covers . : and digits + 0x40-0x5A (@A-Z) -- covers @ and uppercase + 0x61-0x7A (a-z) -- covers lowercase + Default encryption offset is -2, so decryption is +2 with wrap. + """ + ranges = [(0x2B, 0x3A), (0x40, 0x5A), (0x61, 0x7A)] + result = [] + for c in encoded: + code = ord(c) + decrypted = False + for start, end in ranges: + if start <= code <= end: + size = end - start + 1 + n = start + (code - start + offset) % size + result.append(chr(n)) + decrypted = True + break + if not decrypted: + result.append(c) + return "".join(result) + + +def _is_valid_domain(domain: str) -> bool: + """Quick syntactic check — reject domains that will fail DNS lookup.""" + if not domain or len(domain) > 253: + return False + if "\\" in domain or "/" in domain: + return False + return all(0 < len(label) <= 63 for label in domain.split(".")) + + +def extract_email_domains(html: str) -> set[str]: + """Extract email domains from HTML, including TYPO3-obfuscated emails.""" + domains = set() + + # simple @ in body + for email in EMAIL_RE.findall(html): + domain = email.split("@")[1].lower() + if domain not in SKIP_DOMAINS: + domains.add(domain) + + # mailto: + for email in re.findall(r'mailto:([^">\s?]+)', html): + if "@" in email: + domain = email.split("@")[1].lower().rstrip("\\/.") + if domain not in SKIP_DOMAINS: + domains.add(domain) + + # typo3 obfuscated emails + for encoded in TYPO3_RE.findall(html): + for offset in range(-25, 26): + decoded = decrypt_typo3(encoded, offset) + decoded = decoded.replace("mailto:", "") + if "@" in decoded and EMAIL_RE.search(decoded): + domain = decoded.split("@")[1].lower() + if domain not in SKIP_DOMAINS: + domains.add(domain) + break + + # user(at)domain.ch and user[at]domain.ch variants + for match in re.findall( + r"[\w.-]+\s*[\[(]at[\])]\s*[\w.-]+\.\w+", html, re.IGNORECASE + ): + normalized = re.sub(r"\s*[\[(]at[\])]\s*", "@", match, flags=re.IGNORECASE) + if "@" in normalized: + domain = normalized.split("@")[1].lower() + if domain not in SKIP_DOMAINS: + domains.add(domain) + + return {d for d in domains if _is_valid_domain(d)} + + +def build_urls(domain: str) -> list[str]: + """Build candidate URLs to scrape, trying www. prefix first.""" + domain = domain.strip() + if domain.startswith(("http://", "https://")): + parsed = urlparse(domain) + domain = parsed.hostname or domain + if domain.startswith("www."): + bare = domain[4:] + else: + bare = domain + + bases = [f"https://www.{bare}", f"https://{bare}"] + urls = [] + for base in bases: + urls.append(base + "/") + for path in SUBPAGES: + urls.append(base + path) + return urls + + +def _is_ssl_error(exc: BaseException) -> bool: + """Check if an exception (or any in its chain) is an SSL verification error.""" + current: BaseException | None = exc + while current is not None: + if isinstance(current, ssl.SSLCertVerificationError): + return True + # Some builds wrap the error as a string only + if "CERTIFICATE_VERIFY_FAILED" in str(current): + return True + current = current.__cause__ if current.__cause__ is not current else None + return False + + +async def _fetch_insecure(url: str) -> httpx.Response: + """Fetch a URL with SSL verification disabled (single request).""" + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", message="Unverified HTTPS request") + async with httpx.AsyncClient(verify=False) as insecure_client: + return await insecure_client.get(url, follow_redirects=True, timeout=15) + + +def _process_scrape_response( + r: httpx.Response, + domain: str, + all_domains: set[str], + redirect_domain: str | None, +) -> tuple[set[str], str | None]: + """Extract emails and detect redirects from a scrape response. + + Mutates all_domains in place. Returns updated (all_domains, redirect_domain). + """ + if r.status_code != 200: + return all_domains, redirect_domain + + if redirect_domain is None: + final_domain = url_to_domain(str(r.url)) + if final_domain and final_domain != domain: + redirect_domain = final_domain + logger.info("Redirect detected: {} -> {}", domain, redirect_domain) + + domains = extract_email_domains(r.text) + all_domains |= domains + return all_domains, redirect_domain + + +async def scrape_email_domains( + client: httpx.AsyncClient, domain: str +) -> tuple[set[str], str | None]: + """Scrape a municipality website for email domains. + + Returns: + Tuple of (email_domains_found, redirect_target_domain_or_None). + redirect_target_domain is set when the website redirects to a + different domain (ignoring www prefix differences). + """ + if not domain: + return set(), None + + all_domains = set() + redirect_domain: str | None = None + urls = build_urls(domain) + + for url in urls: + try: + r = await client.get(url, follow_redirects=True, timeout=15) + except httpx.ConnectError as exc: + if _is_ssl_error(exc): + logger.info("SSL error on {}, retrying without verification", url) + try: + r = await _fetch_insecure(url) + except Exception as retry_exc: + logger.debug("Insecure retry {} failed: {}", url, retry_exc) + continue + else: + logger.debug("Scrape {} failed: {}", url, exc) + continue + except Exception as exc: + logger.debug("Scrape {} failed: {}", url, exc) + continue + + all_domains, redirect_domain = _process_scrape_response( + r, domain, all_domains, redirect_domain + ) + if all_domains: + return all_domains, redirect_domain + + return all_domains, redirect_domain + + +async def resolve_municipality_domain( + m: dict[str, str], + overrides: dict[str, dict[str, str]], + client: httpx.AsyncClient, +) -> dict[str, Any]: + """Resolve a municipality's email domain using multiple sources. + + 1. Override -> immediate win, confidence: high + 2. Collect from scrape, wikidata, guess sources + 3. Score agreement to pick best domain + """ + bfs = m["bfs"] + name = m["name"] + canton = m.get("canton", "") + + entry: dict[str, Any] = { + "bfs": bfs, + "name": name, + "canton": canton, + } + + # 1. Check overrides (immediate win) + if bfs in overrides: + override = overrides[bfs] + domain = override["domain"] + mx = await lookup_mx(domain) if domain else [] + entry["domain"] = domain + entry["source"] = "override" + entry["confidence"] = "high" if (mx or not domain) else "medium" + entry["sources_detail"] = {"override": [domain] if domain else []} + entry["flags"] = [] + return entry + + # 2. Collect from multiple sources + website_domain = url_to_domain(m.get("website", "")) + sources: dict[str, set[str]] = { + "scrape": set(), + "redirect": set(), + "wikidata": set(), + "guess": set(), + } + + # Scrape website for email addresses + if website_domain: + email_domains, redirect_domain = await scrape_email_domains( + client, website_domain + ) + for email_domain in email_domains: + mx = await lookup_mx(email_domain) + if mx: + sources["scrape"].add(email_domain) + + # Add redirect target as a source (if it has MX records) + if redirect_domain: + mx = await lookup_mx(redirect_domain) + if mx: + sources["redirect"].add(redirect_domain) + + # Wikidata website domain + if website_domain: + mx = await lookup_mx(website_domain) + if mx: + sources["wikidata"].add(website_domain) + + # Guess domains + for guess in guess_domains(name, canton): + mx = await lookup_mx(guess) + if mx: + sources["guess"].add(guess) + + # 3. Score and pick best + result = score_domain_sources(sources, name, website_domain or "") + entry.update(result) + + # Add bfs_only flag if applicable + if m.get("bfs_only"): + entry.setdefault("flags", []).append("bfs_only") + + return entry + + +async def run(output_path: Path, overrides_path: Path, date: str | None = None) -> None: + overrides = load_overrides(overrides_path) + + # BFS API is the canonical municipality list + bfs_municipalities = await fetch_bfs_municipalities(date) + + # Wikidata provides website URLs + wikidata = await fetch_wikidata() + + # Merge: for each BFS municipality, attach Wikidata website if available + municipalities: dict[str, dict[str, Any]] = {} + for bfs, bfs_entry in bfs_municipalities.items(): + entry: dict[str, Any] = { + "bfs": bfs, + "name": bfs_entry["name"], + "canton": bfs_entry["canton"], + "website": "", + } + if bfs in wikidata: + entry["website"] = wikidata[bfs].get("website", "") + municipalities[bfs] = entry + + # Log municipalities in BFS but missing from Wikidata + bfs_only = set(bfs_municipalities) - set(wikidata) + if bfs_only: + logger.warning( + "{} municipalities in BFS but missing from Wikidata", len(bfs_only) + ) + for bfs in sorted(bfs_only, key=int): + m = bfs_municipalities[bfs] + logger.warning(" {:>5} {}", bfs, m["name"]) + municipalities[bfs]["bfs_only"] = True + + # Log municipalities in Wikidata but not in BFS (potentially dissolved) + wikidata_only = set(wikidata) - set(bfs_municipalities) + if wikidata_only: + logger.warning( + "{} municipalities in Wikidata but missing from BFS", len(wikidata_only) + ) + for bfs in sorted(wikidata_only, key=int): + m = wikidata[bfs] + logger.warning(" {:>5} {}", bfs, m["name"]) + + # Add municipalities that are only in overrides (missing from both) + for bfs, override in overrides.items(): + if bfs not in municipalities and "name" in override: + municipalities[bfs] = { + "bfs": bfs, + "name": override["name"], + "website": "", + "canton": override.get("canton", ""), + } + logger.info( + "Added override-only municipality: {} {}", bfs, override["name"] + ) + + total = len(municipalities) + logger.info("Resolving email domains for {} municipalities", total) + + # Use a shared client for scraping with limited concurrency + scrape_semaphore = asyncio.Semaphore(CONCURRENCY_POSTPROCESS) + + async def _resolve_with_shared_client( + m: dict[str, str], shared_client: httpx.AsyncClient + ) -> dict[str, Any] | None: + async with scrape_semaphore: + try: + return await resolve_municipality_domain(m, overrides, shared_client) + except Exception: + logger.exception("Resolution failed for {} ({})", m["name"], m["bfs"]) + return None + + results: dict[str, dict[str, Any]] = {} + done = 0 + skipped = 0 + + async with httpx.AsyncClient( + headers={"User-Agent": "mxmap.ch/1.0 (https://github.com/davidhuser/mxmap)"}, + follow_redirects=True, + ) as shared_client: + tasks = [ + _resolve_with_shared_client(m, shared_client) + for m in municipalities.values() + ] + + for coro in asyncio.as_completed(tasks): + result = await coro + if result is None: + skipped += 1 + continue + results[result["bfs"]] = result + done += 1 + counts: dict[str, int] = {} + for r in results.values(): + counts[r["source"]] = counts.get(r["source"], 0) + 1 + logger.info( + "[{:>4}/{}] {} ({}): domain={} source={} confidence={}", + done, + total, + result["name"], + result["bfs"], + result.get("domain", ""), + result.get("source", ""), + result.get("confidence", ""), + ) + + if skipped: + logger.warning("Skipped {} municipalities due to errors", skipped) + + # Print summary + source_counts: dict[str, int] = {} + confidence_counts: dict[str, int] = {} + for r in results.values(): + source_counts[r["source"]] = source_counts.get(r["source"], 0) + 1 + confidence_counts[r["confidence"]] = ( + confidence_counts.get(r["confidence"], 0) + 1 + ) + + logger.info("--- Domain resolution: {} municipalities ---", len(results)) + logger.info("By source:") + for source in ["override", "wikidata", "scrape", "redirect", "guess", "none"]: + logger.info(" {:<12} {:>5}", source, source_counts.get(source, 0)) + logger.info("By confidence:") + for conf in ["high", "medium", "low", "none"]: + logger.info(" {:<12} {:>5}", conf, confidence_counts.get(conf, 0)) + + # Print flagged entries for review (skip overridden — already confirmed) + unreviewed = { + bfs: r for bfs, r in results.items() if bfs not in overrides and r.get("flags") + } + + disagreements = [r for r in unreviewed.values() if "sources_disagree" in r["flags"]] + if disagreements: + logger.warning("{} domains with source disagreement:", len(disagreements)) + for r in sorted(disagreements, key=lambda x: int(x["bfs"])): + logger.warning( + " {:>5} {:<30} {:<20} domain={} sources={}", + r["bfs"], + r["name"], + r["canton"], + r["domain"], + r.get("sources_detail", {}), + ) + + mismatches = [r for r in unreviewed.values() if "website_mismatch" in r["flags"]] + if mismatches: + logger.warning("{} domains with website mismatch:", len(mismatches)) + for r in sorted(mismatches, key=lambda x: int(x["bfs"])): + logger.warning( + " {:>5} {:<30} {:<20} domain={}", + r["bfs"], + r["name"], + r["canton"], + r["domain"], + ) + + guess_only = [r for r in unreviewed.values() if "guess_only" in r["flags"]] + if guess_only: + logger.warning("{} domains resolved by guess only:", len(guess_only)) + for r in sorted(guess_only, key=lambda x: int(x["bfs"])): + logger.warning( + " {:>5} {:<30} {:<20} domain={}", + r["bfs"], + r["name"], + r["canton"], + r["domain"], + ) + + # Print low confidence and unresolved entries for review + low_entries = [ + r + for bfs, r in results.items() + if bfs not in overrides and r["confidence"] in ("low", "none") + ] + if low_entries: + logger.warning("{} domains needing review:", len(low_entries)) + for r in sorted(low_entries, key=lambda x: int(x["bfs"])): + logger.warning( + " {:>5} {:<30} {:<20} domain={} source={}", + r["bfs"], + r["name"], + r["canton"], + r["domain"] or "(none)", + r["source"], + ) + + sorted_results = dict(sorted(results.items(), key=lambda kv: int(kv[0]))) + + output = { + "generated": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()), + "total": len(results), + "municipalities": sorted_results, + } + + with open(output_path, "w", encoding="utf-8") as f: + json.dump(output, f, ensure_ascii=False, indent=2) + + size_kb = len(json.dumps(output, ensure_ascii=False)) / 1024 + logger.info("Wrote {} ({} KB)", output_path, size_kb) diff --git a/src/mail_sovereignty/signatures.py b/src/mail_sovereignty/signatures.py new file mode 100644 index 0000000..175202d --- /dev/null +++ b/src/mail_sovereignty/signatures.py @@ -0,0 +1,124 @@ +"""Provider DNS fingerprint signatures and pattern matching.""" + +from __future__ import annotations + +from pydantic import BaseModel, ConfigDict + +from .models import Provider + + +class ProviderSignature(BaseModel): + model_config = ConfigDict(frozen=True) + + provider: Provider + mx_patterns: tuple[str, ...] = () + spf_includes: tuple[str, ...] = () + dkim_selectors: tuple[str, ...] = () + dkim_cname_patterns: tuple[str, ...] = () + autodiscover_patterns: tuple[str, ...] = () + cname_patterns: tuple[str, ...] = () + dmarc_patterns: tuple[str, ...] = () + smtp_banner_patterns: tuple[str, ...] = () + txt_verification_patterns: tuple[str, ...] = () + asns: tuple[int, ...] = () + + +SIGNATURES: list[ProviderSignature] = [ + ProviderSignature( + provider=Provider.MS365, + mx_patterns=("mail.protection.outlook.com", "mx.microsoft"), + spf_includes=("spf.protection.outlook.com",), + dkim_selectors=("selector1", "selector2"), + dkim_cname_patterns=("onmicrosoft.com",), + autodiscover_patterns=("autodiscover.outlook.com",), + cname_patterns=("mail.protection.outlook.com", "mx.microsoft"), + dmarc_patterns=("rua.agari.com",), + smtp_banner_patterns=( + "microsoft esmtp mail service", + "protection.outlook.com", + "mx.microsoft", + ), + txt_verification_patterns=("ms=ms",), + asns=(8075,), + ), + ProviderSignature( + provider=Provider.GOOGLE, + mx_patterns=("aspmx.l.google.com", "googlemail.com", "smtp.google.com"), + spf_includes=("_spf.google.com",), + dkim_selectors=("google", "google2048"), + dkim_cname_patterns=("domainkey.google.com",), + autodiscover_patterns=("google.com",), + cname_patterns=("google.com", "googlemail.com"), + dmarc_patterns=(), + smtp_banner_patterns=("mx.google.com", "google esmtp"), + txt_verification_patterns=("google-site-verification=",), + asns=(15169, 396982), + ), + ProviderSignature( + provider=Provider.AWS, + mx_patterns=("amazonaws.com", "awsapps.com"), + spf_includes=("amazonses.com",), + dkim_selectors=(), + dkim_cname_patterns=("dkim.amazonses.com",), + autodiscover_patterns=("awsapps.com",), + cname_patterns=("amazonaws.com", "awsapps.com"), + dmarc_patterns=(), + smtp_banner_patterns=("amazonaws", "amazonses"), + txt_verification_patterns=("amazonses",), + asns=(16509, 14618), + ), + ProviderSignature( + provider=Provider.INFOMANIAK, + mx_patterns=("mxpool.infomaniak.com", "ikmail.com", "mta-gw.infomaniak.ch"), + spf_includes=("spf.infomaniak.ch",), + dkim_selectors=(), + dkim_cname_patterns=(), + autodiscover_patterns=(), + cname_patterns=("infomaniak",), + dmarc_patterns=(), + smtp_banner_patterns=("infomaniak",), + txt_verification_patterns=(), + asns=(51786,), + ), +] + + +GATEWAY_KEYWORDS: dict[str, list[str]] = { + "seppmail": ["seppmail.cloud", "seppmail.com"], + "cleanmail": ["cleanmail.ch", "cleanmail.safecenter.ch"], + "barracuda": ["barracudanetworks.com", "barracuda.com"], + "trendmicro": ["tmes.trendmicro.eu", "tmes.trendmicro.com"], + "hornetsecurity": ["hornetsecurity.com", "hornetsecurity.ch"], + "proofpoint": ["ppe-hosted.com", "pphosted.com"], + "sophos": ["hydra.sophos.com"], + "cisco": ["iphmx.com"], + "mimecast": ["mimecast.com"], + "spamvor": ["spamvor.com"], + "abxsec": ["abxsec.com"], + "messagelabs": ["messagelabs.com"], +} + + +SWISS_ISP_ASNS: dict[int, str] = { + 559: "SWITCH", + 3303: "Swisscom", + 6730: "Sunrise UPC", + 6830: "Liberty Global (UPC/Sunrise)", + 12399: "Sunrise", + 13030: "Init7", + 13213: "Cyberlink AG", + 15576: "NTS", + 15600: "Quickline", + 15796: "Netzone AG", + 24889: "Datapark AG", + 29691: "Hostpoint / Green.ch", + 51786: "Infomaniak Network SA", +} + + +def match_patterns(value: str, patterns: tuple[str, ...] | list[str]) -> bool: + """Case-insensitive substring match of value against any pattern.""" + if not value or not patterns: + return False + lower = value.lower() + return any(p.lower() in lower for p in patterns) diff --git a/src/mail_sovereignty/smtp.py b/src/mail_sovereignty/smtp.py deleted file mode 100644 index 2078a00..0000000 --- a/src/mail_sovereignty/smtp.py +++ /dev/null @@ -1,59 +0,0 @@ -import asyncio -import logging - -logger = logging.getLogger(__name__) - - -async def fetch_smtp_banner(mx_host: str, timeout: float = 10.0) -> dict[str, str]: - """Connect to mx_host:25, read banner + EHLO response, QUIT. - - Returns {"banner": "...", "ehlo": "..."} or empty strings on failure. - """ - banner = "" - ehlo = "" - reader = None - writer = None - try: - reader, writer = await asyncio.wait_for( - asyncio.open_connection(mx_host, 25), timeout=timeout - ) - - # Read 220 banner - banner_line = await asyncio.wait_for(reader.readline(), timeout=timeout) - banner = banner_line.decode("utf-8", errors="replace").strip() - - # Send EHLO - writer.write(b"EHLO mxmap.ch\r\n") - await writer.drain() - - # Read multi-line EHLO response (250-... continues, 250 ... ends) - ehlo_lines = [] - while True: - line = await asyncio.wait_for(reader.readline(), timeout=timeout) - decoded = line.decode("utf-8", errors="replace").strip() - ehlo_lines.append(decoded) - # SMTP multi-line: "250-..." continues, "250 ..." is last line - if decoded[:4] != "250-": - break - ehlo = "\n".join(ehlo_lines) - - # Send QUIT - writer.write(b"QUIT\r\n") - await writer.drain() - # Read QUIT response but don't fail if it doesn't come - try: - await asyncio.wait_for(reader.readline(), timeout=2.0) - except Exception: - pass - - except Exception as e: - logger.debug("SMTP banner fetch failed for %s: %s", mx_host, e) - finally: - if writer: - try: - writer.close() - await writer.wait_closed() - except Exception: - pass - - return {"banner": banner, "ehlo": ehlo} diff --git a/src/mail_sovereignty/validate.py b/src/mail_sovereignty/validate.py deleted file mode 100644 index bc8e805..0000000 --- a/src/mail_sovereignty/validate.py +++ /dev/null @@ -1,407 +0,0 @@ -import csv -import json -import os -import sys -from pathlib import Path -from typing import Any - -from mail_sovereignty.classify import ( - classify_from_autodiscover, - classify_from_mx, - classify_from_smtp_banner, - classify_from_spf, - spf_mentions_providers, -) -from mail_sovereignty.constants import GATEWAY_KEYWORDS, PROVIDER_KEYWORDS - -# Quality gate thresholds (override via env vars in CI) -MIN_AVERAGE_SCORE = int(os.environ.get("MIN_AVERAGE_SCORE", "70")) -MIN_HIGH_CONFIDENCE_PCT = int(os.environ.get("MIN_HIGH_CONFIDENCE_PCT", "80")) -HIGH_CONFIDENCE_THRESHOLD = 80 - -MANUAL_OVERRIDE_BFS = { - "6404", - "6408", - "6413", - "6416", - "6417", - "6423", - "6432", - "6433", - "6434", - "6435", - "6437", - "6451", - "6455", - "6456", - "6458", - "6487", - "6504", - "422", -} - - -POTENTIAL_GATEWAY_THRESHOLD = 5 - - -def _detect_potential_gateways( - scored_entries: list[dict[str, Any]], -) -> list[tuple[str, int, list[str]]]: - """Find MX domain suffixes shared by many independent municipalities. - - Returns a list of (suffix, municipality_count, sample_names) tuples - sorted by count descending, for suffixes with count >= threshold. - """ - known_suffixes: set[str] = set() - for keywords in GATEWAY_KEYWORDS.values(): - for kw in keywords: - parts = kw.lower().split(".") - if len(parts) >= 2: - known_suffixes.add(".".join(parts[-2:])) - - suffix_municipalities: dict[str, list[str]] = {} - for entry in scored_entries: - if entry.get("provider") != "independent": - continue - mx_raw = entry.get("mx_raw", []) - if not mx_raw: - continue - domain = entry.get("domain", "") - domain_suffix = ".".join(domain.lower().split(".")[-2:]) if domain else "" - seen_suffixes: set[str] = set() - for mx in mx_raw: - parts = mx.lower().rstrip(".").split(".") - if len(parts) < 2: - continue - suffix = ".".join(parts[-2:]) - if suffix in seen_suffixes: - continue - seen_suffixes.add(suffix) - if suffix == domain_suffix: - continue - if suffix in known_suffixes: - continue - if suffix not in suffix_municipalities: - suffix_municipalities[suffix] = [] - suffix_municipalities[suffix].append(entry.get("name", "")) - - results = [] - for suffix, names in sorted( - suffix_municipalities.items(), key=lambda x: -len(x[1]) - ): - if len(names) >= POTENTIAL_GATEWAY_THRESHOLD: - results.append((suffix, len(names), names[:3])) - return results - - -def score_entry(entry: dict[str, Any]) -> dict[str, Any]: - """Score a municipality entry 0-100 with explanatory flags.""" - provider = entry.get("provider", "unknown") - domain = entry.get("domain", "") - mx = entry.get("mx", []) - spf = entry.get("spf", "") - bfs = entry.get("bfs", "") - - # Merged entries: automatically 100 - if provider == "merged": - return {"score": 100, "flags": ["merged_municipality"]} - - score = 0 - flags = [] - - # Has a domain (+15) - if domain: - score += 15 - else: - flags.append("no_domain") - - # Has MX records (+25) - if mx: - score += 25 - if len(mx) >= 2: - score += 5 - flags.append("multiple_mx") - else: - flags.append("no_mx") - - # Has SPF record (+15) - if spf: - score += 15 - if spf.rstrip().endswith("-all"): - score += 5 - flags.append("spf_strict") - elif "~all" in spf: - score += 3 - flags.append("spf_softfail") - else: - flags.append("no_spf") - - # Cross-validate MX vs SPF provider - mx_provider = classify_from_mx(mx) - spf_provider = classify_from_spf(spf) - spf_providers = spf_mentions_providers(spf) - - if mx_provider and spf_provider: - if mx_provider == spf_provider: - score += 20 - flags.append("mx_spf_match") - elif mx_provider == "independent" and spf_provider: - score += 10 - flags.append("independent_mx_with_cloud_spf") - elif mx_provider in spf_providers: - score += 20 - flags.append("mx_spf_match") - else: - score -= 20 - flags.append("mx_spf_mismatch") - elif mx_provider == "independent" and spf and not spf_provider: - score += 20 - flags.append("mx_spf_match") - - # SPF mentions multiple main providers (-10) - main_spf_providers = spf_providers & set(PROVIDER_KEYWORDS.keys()) - if len(main_spf_providers) >= 2: - score -= 10 - flags.append(f"multi_provider_spf:{'+'.join(sorted(spf_providers))}") - - # No MX but classified via SPF only (-15) - if not mx and provider not in ("unknown", "merged") and spf_provider: - score -= 15 - flags.append("classified_via_spf_only") - - # Provider is classified (+10) - if provider not in ("unknown",): - score += 10 - flags.append("provider_classified") - else: - flags.append("provider_unknown") - - # Provider detected via CNAME resolution - mx_cnames = entry.get("mx_cnames", {}) - if mx_cnames: - mx_blob = " ".join(mx).lower() - cname_blob = " ".join(mx_cnames.values()).lower() - mx_matches_provider = any( - any(k in mx_blob for k in kws) for kws in PROVIDER_KEYWORDS.values() - ) - cname_matches_provider = any( - any(k in cname_blob for k in kws) for kws in PROVIDER_KEYWORDS.values() - ) - if not mx_matches_provider and cname_matches_provider: - flags.append("provider_via_cname") - - # Provider detected via gateway + SPF resolution - if entry.get("gateway"): - flags.append("provider_via_gateway_spf") - - # SMTP banner confirms or suggests provider - smtp_banner = entry.get("smtp_banner", "") - if smtp_banner: - smtp_provider = classify_from_smtp_banner(smtp_banner) - if smtp_provider and smtp_provider == provider: - score += 5 - flags.append("smtp_confirms") - elif smtp_provider and provider == "independent": - flags.append(f"smtp_suggests:{smtp_provider}") - - # Autodiscover confirms or suggests provider - autodiscover = entry.get("autodiscover") - if autodiscover: - ad_provider = classify_from_autodiscover(autodiscover) - if ad_provider and ad_provider == provider: - score += 5 - flags.append("autodiscover_confirms") - elif ad_provider and provider == "independent": - flags.append(f"autodiscover_suggests:{ad_provider}") - - # Manual override (+5) - if bfs in MANUAL_OVERRIDE_BFS: - score += 5 - flags.append("manual_override") - - # Clamp score - if provider == "unknown": - score = min(score, 25) - score = max(0, min(100, score)) - - return {"score": score, "flags": flags} - - -def print_report(scored_entries: list[dict[str, Any]]) -> None: - """Print a summary report to console.""" - scores = [e["score"] for e in scored_entries] - total = len(scores) - - print(f"\n{'=' * 60}") - print(f" VALIDATION REPORT ({total} municipalities)") - print(f"{'=' * 60}") - - buckets = {"90-100": 0, "70-89": 0, "50-69": 0, "30-49": 0, "0-29": 0} - for s in scores: - if s >= 90: - buckets["90-100"] += 1 - elif s >= 70: - buckets["70-89"] += 1 - elif s >= 50: - buckets["50-69"] += 1 - elif s >= 30: - buckets["30-49"] += 1 - else: - buckets["0-29"] += 1 - - print("\n Score distribution:") - max_bar = 40 - max_count = max(buckets.values()) if buckets.values() else 1 - for label, count in buckets.items(): - bar = "#" * int(count / max_count * max_bar) - print(f" {label:>6}: {count:>5} {bar}") - - high = [e for e in scored_entries if e["score"] >= 80] - medium = [e for e in scored_entries if 50 <= e["score"] < 80] - low = [e for e in scored_entries if e["score"] < 50] - - print("\n Confidence tiers:") - print(f" High (>=80): {len(high):>5} ({len(high) / total * 100:.1f}%)") - print(f" Medium (50-79): {len(medium):>5} ({len(medium) / total * 100:.1f}%)") - print(f" Low (<50): {len(low):>5} ({len(low) / total * 100:.1f}%)") - - avg = sum(scores) / total if total else 0 - print(f"\n Average score: {avg:.1f}") - - flag_counts = {} - for e in scored_entries: - for f in e["flags"]: - flag_name = f.split(":")[0] - flag_counts[flag_name] = flag_counts.get(flag_name, 0) + 1 - - print("\n Flag breakdown:") - for flag, count in sorted(flag_counts.items(), key=lambda x: -x[1]): - print(f" {flag:<35} {count:>5}") - - non_merged = [e for e in scored_entries if "merged_municipality" not in e["flags"]] - lowest = sorted(non_merged, key=lambda x: x["score"])[:15] - - print("\n Lowest-confidence entries (for review):") - print(f" {'BFS':>5} {'Score':>5} {'Provider':<12} {'Name':<30} Flags") - print(f" {'-' * 5} {'-' * 5} {'-' * 12} {'-' * 30} {'-' * 20}") - for e in lowest: - flags_str = ", ".join(e["flags"]) - print( - f" {e['bfs']:>5} {e['score']:>5} {e['provider']:<12} " - f"{e['name']:<30} {flags_str}" - ) - - mismatched = [e for e in scored_entries if "mx_spf_mismatch" in e["flags"]] - if mismatched: - print(f"\n MX/SPF mismatches ({len(mismatched)}):") - for e in sorted(mismatched, key=lambda x: x["score"]): - print( - f" {e['bfs']:>5} {e['name']:<30} " - f"mx_provider={classify_from_mx(e.get('mx_raw', []))} " - f"spf_provider={classify_from_spf(e.get('spf_raw', ''))}" - ) - - potential_gateways = _detect_potential_gateways(scored_entries) - if potential_gateways: - print("\n Potential undetected gateways:") - for suffix, count, samples in potential_gateways: - sample_str = ", ".join(samples) - print(f" {suffix:<30} {count:>3} municipalities (e.g. {sample_str})") - - print(f"\n{'=' * 60}\n") - - -def run(data_path: Path, output_dir: Path, quality_gate: bool = False) -> bool: - try: - with open(data_path, encoding="utf-8") as f: - data = json.load(f) - except FileNotFoundError: - print("Error: data.json not found. Run preprocess first.") - sys.exit(1) - - municipalities = data["municipalities"] - scored = [] - - for bfs, entry in municipalities.items(): - result = score_entry(entry) - scored.append( - { - "bfs": entry["bfs"], - "name": entry["name"], - "provider": entry["provider"], - "domain": entry.get("domain", ""), - "score": result["score"], - "flags": result["flags"], - "mx_raw": entry.get("mx", []), - "spf_raw": entry.get("spf", ""), - } - ) - - print_report(scored) - - avg_score = round(sum(e["score"] for e in scored) / len(scored), 1) - high_confidence_count = sum( - 1 for e in scored if e["score"] >= HIGH_CONFIDENCE_THRESHOLD - ) - high_confidence_pct = round(high_confidence_count / len(scored) * 100, 1) - quality_passed = ( - avg_score >= MIN_AVERAGE_SCORE - and high_confidence_pct >= MIN_HIGH_CONFIDENCE_PCT - ) - - report = { - "total": len(scored), - "average_score": avg_score, - "high_confidence_pct": high_confidence_pct, - "quality_passed": quality_passed, - "entries": { - e["bfs"]: { - "name": e["name"], - "provider": e["provider"], - "domain": e["domain"], - "confidence": e["score"], - "flags": e["flags"], - } - for e in scored - }, - } - - # Write JSON report - json_path = output_dir / "validation_report.json" - with open(json_path, "w", encoding="utf-8") as f: - json.dump(report, f, ensure_ascii=False, indent=2) - - # Write CSV report - csv_path = output_dir / "validation_report.csv" - sorted_entries = sorted(scored, key=lambda e: (e["score"], e["name"])) - with open(csv_path, "w", encoding="utf-8", newline="") as f: - writer = csv.writer(f) - writer.writerow(["bfs", "name", "provider", "domain", "confidence", "flags"]) - for e in sorted_entries: - writer.writerow( - [ - e["bfs"], - e["name"], - e["provider"], - e["domain"], - e["score"], - "; ".join(e["flags"]), - ] - ) - - print(f"Written {json_path} and {csv_path} ({len(scored)} entries)") - - # Quality gate - if quality_passed: - print( - f"Quality gate PASSED (avg={avg_score}, high_conf={high_confidence_pct}%)" - ) - else: - print( - f"Quality gate FAILED (avg={avg_score} min={MIN_AVERAGE_SCORE}, " - f"high_conf={high_confidence_pct}% min={MIN_HIGH_CONFIDENCE_PCT}%)" - ) - if quality_gate: - sys.exit(1) - - return quality_passed diff --git a/tenant.html b/tenant.html new file mode 100644 index 0000000..a85d2ad --- /dev/null +++ b/tenant.html @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + +MXmap — M365 Tenants of Swiss Municipalities + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

M365 Tenants of Swiss Municipalities

+
+
+

What is this?

+

A map of all ~2,100 Swiss municipalities showing whether their official domain is registered as a Microsoft 365 tenant — detected via a public Microsoft endpoint.

+
+
+

What does a tenant mean?

+

A registered M365 tenant means the municipality's domain is in Microsoft Entra ID, implying (but not confirming) the use of M365 services such as Teams, SharePoint, or OneDrive — but not necessarily email. See the Email Map for email hosting.

+
+
+

Methodology

+

Each domain is queried against Microsoft's public getuserrealm.srf endpoint (unauthenticated). It returns: Managed (fully cloud-managed identity), Federated (hybrid, on-premises AD synced to cloud), or no result.

+

Caveat: Tenant presence confirms domain registration, not specific service usage. Some tenants could be inactive.

+
+
+

Open source & open data

+

The code and data are on GitHub.
+ If you have noticed an error, please submit an issue.

+

+
+
+
+
+
Loading map data…
+
+ + + + diff --git a/tests/conftest.py b/tests/conftest.py index 85c8e2d..0d2b229 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,85 +1,22 @@ -import json - import pytest +import stamina +from loguru import logger -@pytest.fixture -def sample_municipality(): - return { - "bfs": "351", - "name": "Bern", - "canton": "Bern", - "domain": "bern.ch", - "mx": ["bern-ch.mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "provider": "microsoft", - } - - -@pytest.fixture -def sovereign_municipality(): - return { - "bfs": "6404", - "name": "Boudry", - "canton": "Neuchatel", - "domain": "ne.ch", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - } - - -@pytest.fixture -def unknown_municipality(): - return { - "bfs": "9999", - "name": "Testingen", - "canton": "Testland", - "domain": "", - "mx": [], - "spf": "", - "provider": "unknown", - } +@pytest.fixture(autouse=True) +def _disable_stamina_wait(): + stamina.set_testing(True) + yield + stamina.set_testing(False) @pytest.fixture -def sample_data_json(tmp_path): - data = { - "generated": "2025-01-01T00:00:00Z", - "total": 3, - "counts": {"microsoft": 1, "swiss-isp": 1, "unknown": 1}, - "municipalities": { - "351": { - "bfs": "351", - "name": "Bern", - "canton": "Bern", - "domain": "bern.ch", - "mx": ["bern-ch.mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "provider": "microsoft", - }, - "6404": { - "bfs": "6404", - "name": "Boudry", - "canton": "Neuchatel", - "domain": "ne.ch", - "mx": ["nemx9a.ne.ch", "ne2mx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "provider": "swiss-isp", - "gateway": "cantonal-ne", - }, - "9999": { - "bfs": "9999", - "name": "Testingen", - "canton": "Testland", - "domain": "", - "mx": [], - "spf": "", - "provider": "unknown", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data), encoding="utf-8") - return path +def caplog(caplog): + handler_id = logger.add( + caplog.handler, + format="{message}", + level=0, + enqueue=False, + ) + yield caplog + logger.remove(handler_id) diff --git a/tests/test_analyze.py b/tests/test_analyze.py new file mode 100644 index 0000000..ccbd714 --- /dev/null +++ b/tests/test_analyze.py @@ -0,0 +1,292 @@ +"""Tests for the analyze module.""" + +from __future__ import annotations + +import json +from pathlib import Path +from unittest.mock import patch + +import pytest + +from mail_sovereignty.analyze import ( + load_data, + main, + report_cantonal, + report_confidence, + report_domain_sharing, + report_gateways, + report_low_confidence, + report_overall_summary, + report_signals, +) + +# --------------------------------------------------------------------------- +# Synthetic test data +# --------------------------------------------------------------------------- + +_MUNIS = { + "1": { + "bfs": "1", + "name": "Zurich Town", + "canton": "Kanton Zürich", + "domain": "zurich.ch", + "provider": "microsoft", + "category": "us-cloud", + "classification_confidence": 95.0, + "classification_signals": [ + { + "kind": "mx", + "provider": "microsoft", + "weight": 0.2, + "detail": "mx match", + }, + { + "kind": "spf", + "provider": "microsoft", + "weight": 0.2, + "detail": "spf match", + }, + { + "kind": "autodiscover", + "provider": "microsoft", + "weight": 0.08, + "detail": "ad match", + }, + ], + "mx": ["mail.protection.outlook.com"], + "spf": "v=spf1 include:spf.protection.outlook.com -all", + "gateway": None, + }, + "2": { + "bfs": "2", + "name": "Bern Village", + "canton": "Kanton Bern", + "domain": "bern.ch", + "provider": "independent", + "category": "swiss-based", + "classification_confidence": 90.0, + "classification_signals": [ + { + "kind": "mx", + "provider": "independent", + "weight": 0.2, + "detail": "mx match", + }, + { + "kind": "spf", + "provider": "independent", + "weight": 0.2, + "detail": "spf match", + }, + ], + "mx": ["mail.bern.ch"], + "spf": "v=spf1 a mx -all", + "gateway": None, + }, + "3": { + "bfs": "3", + "name": "Genf City", + "canton": "Kanton Genf", + "domain": "shared.ch", + "provider": "infomaniak", + "category": "swiss-based", + "classification_confidence": 50.0, + "classification_signals": [ + { + "kind": "spf", + "provider": "infomaniak", + "weight": 0.2, + "detail": "spf match", + }, + ], + "mx": ["mxpool.infomaniak.com"], + "spf": "v=spf1 include:spf.infomaniak.ch -all", + "gateway": "seppmail", + }, + "4": { + "bfs": "4", + "name": "Genf Town", + "canton": "Kanton Genf", + "domain": "shared.ch", + "provider": "infomaniak", + "category": "swiss-based", + "classification_confidence": 55.0, + "classification_signals": [ + { + "kind": "spf", + "provider": "infomaniak", + "weight": 0.2, + "detail": "spf match", + }, + { + "kind": "mx", + "provider": "microsoft", + "weight": 0.2, + "detail": "mx conflict", + }, + ], + "mx": ["mxpool.infomaniak.com"], + "spf": "v=spf1 include:spf.infomaniak.ch -all", + "gateway": "seppmail", + }, + "5": { + "bfs": "5", + "name": "No Signal Town", + "canton": "", + "domain": "nosignal.ch", + "provider": "independent", + "category": "swiss-based", + "classification_confidence": 60.0, + "classification_signals": [], + "mx": [], + "spf": "", + "gateway": None, + }, +} + +_DATA = { + "generated": "2026-03-24T00:00:00Z", + "commit": "abc1234", + "total": 5, + "counts": {"microsoft": 1, "independent": 2, "infomaniak": 2}, + "municipalities": _MUNIS, +} + + +# --------------------------------------------------------------------------- +# load_data +# --------------------------------------------------------------------------- + + +def test_load_data(tmp_path: Path) -> None: + p = tmp_path / "data.json" + p.write_text(json.dumps(_DATA), encoding="utf-8") + result = load_data(p) + assert result["total"] == 5 + assert "municipalities" in result + + +def test_load_data_missing(tmp_path: Path) -> None: + with pytest.raises(SystemExit): + load_data(tmp_path / "missing.json") + + +# --------------------------------------------------------------------------- +# Report functions (capsys checks for key content) +# --------------------------------------------------------------------------- + + +def test_report_overall_summary(capsys: pytest.CaptureFixture[str]) -> None: + report_overall_summary(_DATA, _MUNIS) + out = capsys.readouterr().out + assert "OVERALL SUMMARY" in out + assert "5" in out # total + assert "microsoft" in out + assert "independent" in out + assert "US Cloud" in out + assert "Swiss Based" in out + + +def test_report_cantonal(capsys: pytest.CaptureFixture[str]) -> None: + report_cantonal(_MUNIS) + out = capsys.readouterr().out + assert "CANTONAL" in out + assert "ZH" in out + assert "BE" in out + assert "GE" in out + assert "??" in out # empty canton + + +def test_report_confidence(capsys: pytest.CaptureFixture[str]) -> None: + report_confidence(_MUNIS) + out = capsys.readouterr().out + assert "CONFIDENCE" in out + assert "Average confidence" in out + assert "microsoft" in out + assert "infomaniak" in out + + +def test_report_signals(capsys: pytest.CaptureFixture[str]) -> None: + report_signals(_MUNIS) + out = capsys.readouterr().out + assert "SIGNAL ANALYSIS" in out + assert "Signal coverage" in out + assert "Single-signal" in out + assert "Zero-signal" in out + assert "No Signal Town" in out + + +def test_report_gateways(capsys: pytest.CaptureFixture[str]) -> None: + report_gateways(_MUNIS) + out = capsys.readouterr().out + assert "GATEWAY" in out + assert "seppmail" in out + assert "Provider distribution" in out + + +def test_report_domain_sharing(capsys: pytest.CaptureFixture[str]) -> None: + report_domain_sharing(_MUNIS) + out = capsys.readouterr().out + assert "SHARED DOMAINS" in out + assert "shared.ch" in out + assert "Genf City" in out + + +def test_report_low_confidence(capsys: pytest.CaptureFixture[str]) -> None: + report_low_confidence(_MUNIS) + out = capsys.readouterr().out + assert "LOW-CONFIDENCE" in out + assert "Genf City" in out # confidence 50 + assert "Genf Town" in out # confidence 55 + assert "Conflicting primary" in out + + +def test_report_low_confidence_shows_conflicts( + capsys: pytest.CaptureFixture[str], +) -> None: + report_low_confidence(_MUNIS) + out = capsys.readouterr().out + # muni 4 has mx pointing to microsoft but winner is infomaniak + assert "microsoft" in out + + +# --------------------------------------------------------------------------- +# main() +# --------------------------------------------------------------------------- + + +def test_main(capsys: pytest.CaptureFixture[str], tmp_path: Path) -> None: + p = tmp_path / "data.json" + p.write_text(json.dumps(_DATA), encoding="utf-8") + + with patch("mail_sovereignty.analyze.load_data", return_value=_DATA): + main() + + out = capsys.readouterr().out + assert "OVERALL SUMMARY" in out + assert "CANTONAL" in out + assert "CONFIDENCE" in out + assert "SIGNAL ANALYSIS" in out + assert "GATEWAY" in out + assert "SHARED DOMAINS" in out + assert "LOW-CONFIDENCE" in out + + +# --------------------------------------------------------------------------- +# No color output +# --------------------------------------------------------------------------- + + +def test_no_color_env( + capsys: pytest.CaptureFixture[str], monkeypatch: pytest.MonkeyPatch +) -> None: + """When NO_COLOR is set, output must not contain ANSI escape codes.""" + monkeypatch.setenv("NO_COLOR", "1") + # Re-import to pick up env var change -- instead just test the _c helper + from mail_sovereignty.analyze import _c + + result = _c("31", "hello") + # With NO_COLOR already set at import time, _NO_COLOR may be True. + # Either way, the result should be either plain or escaped -- just + # verify it contains the original text. + assert "hello" in result diff --git a/tests/test_bfs_api.py b/tests/test_bfs_api.py new file mode 100644 index 0000000..7fde056 --- /dev/null +++ b/tests/test_bfs_api.py @@ -0,0 +1,136 @@ +import httpx +import pytest +import respx +import stamina + +from mail_sovereignty.bfs_api import fetch_bfs_municipalities + +BFS_CSV_HEADER = "HistoricalCode,BfsCode,ValidFrom,ValidTo,Level,Parent,Name,ShortName,Inscription,Radiation,Rec_Type_fr,Rec_Type_de" + +# Sample BFS API CSV with Level 1 (canton), Level 2 (district), Level 3 (commune) +SAMPLE_BFS_CSV = f"""{BFS_CSV_HEADER} +1,1,12.09.1848,,1,,Zürich,ZH,,,, +100,100,12.09.1848,,2,1,Bezirk Zürich,Zürich,,,, +261,261,12.09.1848,,3,100,Zürich,Zürich,,,, +2,2,12.09.1848,,1,,Bern,BE,,,, +200,200,12.09.1848,,2,2,Amtsbezirk Bern,Bern,,,, +351,351,12.09.1848,,3,200,Bern,Bern,,,, +""" + + +def _csv_response(csv_text: str) -> httpx.Response: + return httpx.Response(200, text=csv_text) + + +class TestFetchBfsMunicipalities: + @respx.mock + async def test_filters_to_level_3(self): + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=_csv_response(SAMPLE_BFS_CSV) + ) + + result = await fetch_bfs_municipalities(date="01-01-2026") + # Only Level 3 entries should be returned + assert len(result) == 2 + assert "261" in result + assert "351" in result + # Level 1 and 2 should not be in the result + assert "1" not in result + assert "100" not in result + + @respx.mock + async def test_resolves_canton(self): + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=_csv_response(SAMPLE_BFS_CSV) + ) + + result = await fetch_bfs_municipalities(date="01-01-2026") + assert result["261"]["canton"] == "Kanton Zürich" + assert result["351"]["canton"] == "Kanton Bern" + + @respx.mock + async def test_output_format(self): + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=_csv_response(SAMPLE_BFS_CSV) + ) + + result = await fetch_bfs_municipalities(date="01-01-2026") + entry = result["261"] + assert entry["bfs"] == "261" + assert entry["name"] == "Zürich" + assert entry["canton"] == "Kanton Zürich" + + @respx.mock + async def test_default_date(self): + route = respx.get( + "https://www.agvchapp.bfs.admin.ch/api/communes/snapshot" + ).mock(return_value=_csv_response(BFS_CSV_HEADER + "\n")) + + await fetch_bfs_municipalities() + assert route.called + # Should have a date parameter + request = route.calls[0].request + assert "date=" in str(request.url) + + @respx.mock + async def test_direct_canton_parent(self): + """Some communes may have a canton as direct parent (no district).""" + csv_text = f"""{BFS_CSV_HEADER} +10,10,12.09.1848,,1,,Basel-Stadt,BS,,,, +2701,2701,12.09.1848,,3,10,Basel,Basel,,,, +""" + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=_csv_response(csv_text) + ) + + result = await fetch_bfs_municipalities(date="01-01-2026") + assert result["2701"]["canton"] == "Kanton Basel-Stadt" + + @respx.mock + async def test_empty_response(self): + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=_csv_response(BFS_CSV_HEADER + "\n") + ) + + result = await fetch_bfs_municipalities(date="01-01-2026") + assert result == {} + + +class TestBfsApiLogging: + @respx.mock + async def test_logs_info_messages(self, caplog): + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=_csv_response(SAMPLE_BFS_CSV) + ) + await fetch_bfs_municipalities(date="01-01-2026") + assert any("Fetching municipalities from BFS" in msg for msg in caplog.messages) + assert any("BFS API: 2 municipalities" in msg for msg in caplog.messages) + + +class TestFetchRetry: + @respx.mock + async def test_retries_on_503_then_succeeds(self): + """503 on first call, 200 on second -> success with 2 calls.""" + stamina.set_testing(False) + route = respx.get( + "https://www.agvchapp.bfs.admin.ch/api/communes/snapshot" + ).mock( + side_effect=[ + httpx.Response(503), + _csv_response(SAMPLE_BFS_CSV), + ] + ) + result = await fetch_bfs_municipalities(date="01-01-2026") + assert len(result) == 2 + assert route.call_count == 2 + + @respx.mock + async def test_raises_after_all_retries_exhausted(self): + """Always 503 -> raises after 3 attempts.""" + stamina.set_testing(False) + route = respx.get( + "https://www.agvchapp.bfs.admin.ch/api/communes/snapshot" + ).mock(return_value=httpx.Response(503)) + with pytest.raises(httpx.HTTPStatusError): + await fetch_bfs_municipalities(date="01-01-2026") + assert route.call_count == 3 diff --git a/tests/test_classifier.py b/tests/test_classifier.py new file mode 100644 index 0000000..f725369 --- /dev/null +++ b/tests/test_classifier.py @@ -0,0 +1,1145 @@ +"""Tests for classifier: _aggregate, classify, and classify_many.""" + +from unittest.mock import AsyncMock, MagicMock, patch + +import pytest + +from mail_sovereignty.classifier import ( + _ALL_RULE_NAMES, + _aggregate, + _rule_hits, + classify, + classify_many, +) +from mail_sovereignty.models import ( + Evidence, + Provider, + SignalKind, +) +from mail_sovereignty.probes import WEIGHTS + + +def _ev(kind: SignalKind, provider: Provider, weight: float | None = None) -> Evidence: + if weight is None: + weight = WEIGHTS[kind] + return Evidence( + kind=kind, provider=provider, weight=weight, detail="test", raw="test" + ) + + +def _patch_all_probes(**overrides): + """Return a context manager that patches all probes with defaults (empty lists).""" + probe_names = [ + "probe_mx", + "probe_dkim", + "probe_dmarc", + "probe_autodiscover", + "probe_cname_chain", + "probe_smtp", + "probe_tenant", + "probe_asn", + "probe_txt_verification", + "probe_spf_ip", + ] + patches = {} + for name in probe_names: + patches[name] = overrides.get(name, []) + + # extract_spf_evidence is a sync function called after lookup_spf_raw + spf_evidence = overrides.get("probe_spf", []) + + # Also handle detect_gateway and lookup_spf_raw + gateway = overrides.get("detect_gateway", None) + spf_raw = overrides.get("lookup_spf_raw", "") + + # lookup_mx: default derives from probe_mx evidence raw values + if "lookup_mx" in overrides: + mx_hosts = overrides["lookup_mx"] + elif "lookup_mx_hosts" in overrides: + mx_hosts = overrides["lookup_mx_hosts"] + else: + mx_hosts = [e.raw for e in patches["probe_mx"]] + + import contextlib + + @contextlib.contextmanager + def _ctx(): + with ( + patch( + "mail_sovereignty.classifier.lookup_mx", + new_callable=AsyncMock, + return_value=mx_hosts, + ), + patch( + "mail_sovereignty.classifier.probe_mx", + new=MagicMock(return_value=patches["probe_mx"]), + ), + patch( + "mail_sovereignty.classifier.extract_spf_evidence", + return_value=spf_evidence, + ), + patch( + "mail_sovereignty.classifier.probe_dkim", + new_callable=AsyncMock, + return_value=patches["probe_dkim"], + ), + patch( + "mail_sovereignty.classifier.probe_dmarc", + new_callable=AsyncMock, + return_value=patches["probe_dmarc"], + ), + patch( + "mail_sovereignty.classifier.probe_autodiscover", + new_callable=AsyncMock, + return_value=patches["probe_autodiscover"], + ), + patch( + "mail_sovereignty.classifier.probe_cname_chain", + new_callable=AsyncMock, + return_value=patches["probe_cname_chain"], + ), + patch( + "mail_sovereignty.classifier.probe_smtp", + new_callable=AsyncMock, + return_value=patches["probe_smtp"], + ), + patch( + "mail_sovereignty.classifier.probe_tenant", + new_callable=AsyncMock, + return_value=patches["probe_tenant"], + ), + patch( + "mail_sovereignty.classifier.probe_asn", + new_callable=AsyncMock, + return_value=patches["probe_asn"], + ), + patch( + "mail_sovereignty.classifier.probe_txt_verification", + new_callable=AsyncMock, + return_value=patches["probe_txt_verification"], + ), + patch( + "mail_sovereignty.classifier.probe_spf_ip", + new_callable=AsyncMock, + return_value=patches["probe_spf_ip"], + ), + patch("mail_sovereignty.classifier.detect_gateway", return_value=gateway), + patch( + "mail_sovereignty.classifier.lookup_spf_raw", + new_callable=AsyncMock, + return_value=spf_raw, + ), + ): + yield + + return _ctx() + + +class TestAggregate: + def test_empty(self): + result, _ = _aggregate([]) + assert result.provider == Provider.INDEPENDENT + assert result.confidence == 0.0 + assert result.evidence == [] + assert result.gateway is None + + def test_single_signal(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX-only rule → 0.80 + assert result.confidence == pytest.approx(0.80) + + def test_multi_signal_same_provider(self): + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.DKIM, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX+SPF rule (0.90) + DKIM boost (0.02) = 0.92 + assert result.confidence == pytest.approx(0.92) + + def test_duplicate_kind_same_depth(self): + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.MX, Provider.MS365), # duplicate kind + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX-only rule → 0.80 (duplicate MX doesn't change anything) + assert result.confidence == pytest.approx(0.80) + + def test_conflict_more_primary_signals_wins(self): + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.DMARC, Provider.GOOGLE), + ] + result, _ = _aggregate(evidence) + # MS365 has 2 primary signals (MX, SPF) vs Google's 0 (DMARC not primary) + assert result.provider == Provider.MS365 + # MX+SPF rule → 0.90 (DMARC is Google's, not MS365's) + assert result.confidence == pytest.approx(0.90) + + def test_gateway_dkim_beats_spf_from_dns_host(self): + """Behind a gateway, DKIM provider wins over SPF-only provider.""" + evidence = [ + _ev(SignalKind.SPF, Provider.INFOMANIAK), + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence, gateway="proofpoint") + assert result.provider == Provider.MS365 + + def test_no_dkim_boost_without_gateway(self): + """Without gateway, SPF still beats DKIM (normal precedence).""" + evidence = [ + _ev(SignalKind.SPF, Provider.INFOMANIAK), + _ev(SignalKind.DKIM, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INFOMANIAK + + def test_confidence_capped_at_1(self): + evidence = [_ev(kind, Provider.MS365) for kind in SignalKind] + result, _ = _aggregate(evidence) + assert result.confidence == 1.0 + + def test_independent_evidence_no_winner(self): + evidence = [_ev(SignalKind.MX, Provider.INDEPENDENT)] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INDEPENDENT + # MX evidence present → 0.60 + assert result.confidence == pytest.approx(0.60) + + def test_gateway_passthrough(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + result, _ = _aggregate(evidence, gateway="seppmail") + assert result.gateway == "seppmail" + assert result.provider == Provider.MS365 + + def test_gateway_none_by_default(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + result, _ = _aggregate(evidence) + assert result.gateway is None + + def test_tenant_alone_no_winner(self): + """Tenant evidence without primary signals cannot pick a winner.""" + evidence = [ + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INDEPENDENT + # No MX, secondary evidence only → 0.20 base + 1 extra kind × 0.02 + assert result.confidence == pytest.approx(0.22) + + def test_tenant_with_primary(self): + """Tenant evidence with MX primary → MX+TENANT rule.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX+TENANT rule → 0.85 + assert result.confidence == pytest.approx(0.85) + + def test_spf_tenant_no_gateway(self): + """SPF + Tenant without gateway (Le Locle scenario) → 80%.""" + evidence = [ + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # SPF+Tenant rule → 0.80 + assert result.confidence == pytest.approx(0.80) + + def test_spf_tenant_no_gateway_with_extra_signals(self): + """Le Locle full scenario: SPF+Tenant+TXT_VERIFICATION → 82%.""" + evidence = [ + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + _ev(SignalKind.TXT_VERIFICATION, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # SPF+Tenant rule (0.80) + TXT_VERIFICATION boost (0.02) = 0.82 + assert result.confidence == pytest.approx(0.82) + + def test_tenant_different_provider_no_effect_on_winner(self): + """MS365 tenant can't pick winner; Google wins via MX primary signal.""" + evidence = [ + _ev(SignalKind.MX, Provider.GOOGLE), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.GOOGLE + # MX-only rule → 0.80 (TENANT is MS365's, not Google's) + assert result.confidence == pytest.approx(0.80) + + def test_txt_verification_alone_no_winner(self): + """TXT_VERIFICATION alone cannot pick a winner (not primary).""" + evidence = [ + _ev(SignalKind.TXT_VERIFICATION, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INDEPENDENT + # No MX, secondary evidence only → 0.20 base + 1 extra kind × 0.02 + assert result.confidence == pytest.approx(0.22) + + def test_txt_verification_with_primary(self): + """TXT_VERIFICATION with primary signals boosts confidence.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.TXT_VERIFICATION, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX-only rule (0.80) + TXT_VERIFICATION boost (0.02) = 0.82 + assert result.confidence == pytest.approx(0.82) + + def test_asn_alone_no_winner(self): + """ASN alone cannot pick a winner (not primary).""" + evidence = [ + _ev(SignalKind.ASN, Provider.AWS), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INDEPENDENT + # No MX, secondary evidence only → 0.20 base + 1 extra kind × 0.02 + assert result.confidence == pytest.approx(0.22) + + def test_asn_with_primary(self): + """ASN evidence with primary signals boosts confidence.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.ASN, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX-only rule (0.80) + ASN boost (0.02) = 0.82 + assert result.confidence == pytest.approx(0.82) + + def test_infomaniak_classification(self): + evidence = [ + _ev(SignalKind.MX, Provider.INFOMANIAK), + _ev(SignalKind.SPF, Provider.INFOMANIAK), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INFOMANIAK + + def test_swiss_isp_spf_ip_alone_no_winner(self): + """SPF_IP alone cannot pick a winner (not primary).""" + evidence = [ + _ev(SignalKind.SPF_IP, Provider.SWISS_ISP), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INDEPENDENT + # No MX, secondary evidence only → 0.20 base + 1 extra kind × 0.02 + assert result.confidence == pytest.approx(0.22) + + def test_spf_ip_alone_no_winner(self): + """SPF_IP(Google) alone → INDEPENDENT (regression test for zuerich.ch).""" + evidence = [ + _ev(SignalKind.SPF_IP, Provider.GOOGLE), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.INDEPENDENT + # No MX, secondary evidence only → 0.20 base + 1 extra kind × 0.02 + assert result.confidence == pytest.approx(0.22) + + def test_spf_ip_with_primary(self): + """MX(Google) + SPF_IP(Google) → Google with boosted confidence.""" + evidence = [ + _ev(SignalKind.MX, Provider.GOOGLE), + _ev(SignalKind.SPF_IP, Provider.GOOGLE), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.GOOGLE + # MX-only rule (0.80) + SPF_IP boost (0.02) = 0.82 + assert result.confidence == pytest.approx(0.82) + + def test_autodiscover_is_primary_signal(self): + """Autodiscover alone establishes a provider (not INDEPENDENT).""" + evidence = [_ev(SignalKind.AUTODISCOVER, Provider.MS365)] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # Fallback rule (0.40) + AUTODISCOVER boost (0.02) = 0.42 + assert result.confidence == pytest.approx(0.42) + + def test_autodiscover_plus_tenant(self): + """Autodiscover + tenant → dedicated ad_tenant rule.""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # ad_tenant rule → 0.75 + assert result.confidence == pytest.approx(0.75) + + def test_autodiscover_beats_asn(self): + """Zernez scenario: autodiscover(microsoft) + ASN(aws) → microsoft.""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.ASN, Provider.AWS), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # Fallback rule (0.40) + AUTODISCOVER boost (0.02) = 0.42 (ASN is AWS's) + assert result.confidence == pytest.approx(0.42) + + def test_mx_spf_autodiscover(self): + """R2: MX + SPF + AUTODISCOVER → 0.95.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.95) + + def test_autodiscover_spf_tenant(self): + """R3: AD + SPF + TENANT → 0.95.""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.95) + + def test_autodiscover_spf(self): + """AD + SPF → falls to spf_only (0.50) + AD boost.""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.52) + + def test_mx_autodiscover(self): + """MX + AD → falls to mx_only (0.80) + AD boost.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.82) + + def test_autodiscover_spf_gateway(self): + """AD + SPF + GW → falls to spf_gw (0.70) + AD boost.""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + ] + result, _ = _aggregate(evidence, gateway="barracuda") + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.72) + + def test_independent_with_mx_and_spf_full_confidence(self): + """Independent domain with MX + SPF → 90% base confidence.""" + result, _ = _aggregate( + [], mx_hosts=["mail.example.ch"], spf_raw="v=spf1 a mx ~all" + ) + assert result.provider == Provider.INDEPENDENT + # MX + SPF present → 0.90 base, no extra signals + assert result.confidence == pytest.approx(0.90) + + def test_independent_with_mx_spf_and_extra_signals(self): + """Independent domain with MX + SPF + extra signals gets boosted.""" + evidence = [ + _ev(SignalKind.ASN, Provider.INDEPENDENT), + _ev(SignalKind.TXT_VERIFICATION, Provider.INDEPENDENT), + _ev(SignalKind.TENANT, Provider.INDEPENDENT), + ] + result, _ = _aggregate( + evidence, mx_hosts=["mail.example.ch"], spf_raw="v=spf1 a mx ~all" + ) + assert result.provider == Provider.INDEPENDENT + # MX + SPF base (0.90) + 3 extra kinds × 0.02 = 0.96 + assert result.confidence == pytest.approx(0.96) + + def test_independent_with_mx_only_half_confidence(self): + """Independent domain with MX only → 60% confidence.""" + result, _ = _aggregate([], mx_hosts=["mail.example.ch"]) + assert result.provider == Provider.INDEPENDENT + # MX present, no SPF → 0.60 + assert result.confidence == pytest.approx(0.60) + + def test_mx_hosts_passthrough(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + result, _ = _aggregate(evidence, mx_hosts=["mx1.example.com"]) + assert result.mx_hosts == ["mx1.example.com"] + + def test_mx_hosts_default_empty(self): + result, _ = _aggregate([]) + assert result.mx_hosts == [] + + def test_mx_spf_tenant_ms365(self): + """Full cloud setup: MX + SPF + Tenant → 95%.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # MX+SPF+Tenant rule → 0.95 + assert result.confidence == pytest.approx(0.95) + + def test_spf_tenant_gateway_ms365(self): + """MS365 behind security gateway: SPF + Tenant + Gateway → 90%.""" + evidence = [ + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence, gateway="seppmail") + assert result.provider == Provider.MS365 + # SPF+Tenant+Gateway rule → 0.90 + assert result.confidence == pytest.approx(0.90) + + def test_spf_gateway_no_tenant(self): + """SPF + Gateway without tenant → 70%.""" + evidence = [ + _ev(SignalKind.SPF, Provider.MS365), + ] + result, _ = _aggregate(evidence, gateway="seppmail") + assert result.provider == Provider.MS365 + # SPF+Gateway rule → 0.70 + assert result.confidence == pytest.approx(0.70) + + def test_spf_only_no_mx(self): + """SPF-only (no MX, no gateway) → 50%.""" + evidence = [ + _ev(SignalKind.SPF, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + # SPF-only rule → 0.50 + assert result.confidence == pytest.approx(0.50) + + def test_spf_raw_passthrough(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + result, _ = _aggregate(evidence, spf_raw="v=spf1 include:example.com ~all") + assert result.spf_raw == "v=spf1 include:example.com ~all" + + def test_spf_raw_default_empty(self): + result, _ = _aggregate([]) + assert result.spf_raw == "" + + def test_mx_tenant_no_spf(self): + """MX + TENANT without SPF → dedicated 0.85 tier.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.85) + + def test_mx_tenant_no_spf_with_extra(self): + """MX + TENANT + DKIM → 0.85 base + 0.02 boost = 0.87.""" + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + _ev(SignalKind.DKIM, Provider.MS365), + ] + result, _ = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert result.confidence == pytest.approx(0.87) + + def test_monotonicity_mx_tenant_gte_spf_tenant(self): + """MX+TENANT must score >= SPF+TENANT (MX is stronger than SPF).""" + mx_tenant, _ = _aggregate( + [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + ) + spf_tenant, _ = _aggregate( + [ + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + ) + assert mx_tenant.confidence >= spf_tenant.confidence + + # --- DKIM rules --- + + def test_dkim_tenant(self): + """Ittigen scenario: DKIM + TENANT → dkim_tenant (0.75).""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "dkim_tenant" + assert result.confidence == pytest.approx(0.75) + + def test_dkim_tenant_with_extra(self): + """DKIM + TENANT + TXT_VERIFICATION → 0.75 + 0.02 = 0.77.""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + _ev(SignalKind.TXT_VERIFICATION, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "dkim_tenant" + assert result.confidence == pytest.approx(0.77) + + def test_dkim_tenant_gateway(self): + """DKIM + TENANT behind gateway → dkim_tenant_gw (0.85).""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence, gateway="seppmail") + assert result.provider == Provider.MS365 + assert rule == "dkim_tenant_gw" + assert result.confidence == pytest.approx(0.85) + + def test_dkim_ad_tenant(self): + """Windisch scenario: DKIM + AD + TENANT → dkim_ad_tenant (0.90).""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "dkim_ad_tenant" + assert result.confidence == pytest.approx(0.90) + + def test_dkim_ad_tenant_with_extra(self): + """DKIM + AD + TENANT + TXT_VERIFICATION → 0.90 + 0.02 = 0.92.""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + _ev(SignalKind.TXT_VERIFICATION, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "dkim_ad_tenant" + assert result.confidence == pytest.approx(0.92) + + def test_dkim_spf_tenant(self): + """DKIM + SPF + TENANT → dkim_spf_tenant (0.90).""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "dkim_spf_tenant" + assert result.confidence == pytest.approx(0.90) + + def test_ad_tenant(self): + """Geroldswil scenario: AD + TENANT → ad_tenant (0.75).""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "ad_tenant" + assert result.confidence == pytest.approx(0.75) + + def test_ad_tenant_with_extra(self): + """AD + TENANT + TXT_VERIFICATION → 0.75 + 0.02 = 0.77.""" + evidence = [ + _ev(SignalKind.AUTODISCOVER, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + _ev(SignalKind.TXT_VERIFICATION, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "ad_tenant" + assert result.confidence == pytest.approx(0.77) + + def test_dkim_only_falls_to_fallback(self): + """DKIM alone without TENANT → fallback (DKIM not strong enough alone).""" + evidence = [ + _ev(SignalKind.DKIM, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.MS365 + assert rule == "fallback" + assert result.confidence == pytest.approx(0.42) + + def test_dkim_tenant_non_ms365_no_tenant_in_present(self): + """DKIM(Google) + TENANT(MS365) → TENANT not counted for Google.""" + evidence = [ + _ev(SignalKind.DKIM, Provider.GOOGLE), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence) + assert result.provider == Provider.GOOGLE + # TENANT is MS365-only → not in present for Google → fallback + assert rule == "fallback" + assert result.confidence == pytest.approx(0.42) + + def test_gateway_dkim_tenant_anniviers_scenario(self): + """Anniviers: SPF(Infomaniak) + DKIM(MS365) + TENANT(MS365) behind proofpoint.""" + evidence = [ + _ev(SignalKind.SPF, Provider.INFOMANIAK), + _ev(SignalKind.DKIM, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + result, rule = _aggregate(evidence, gateway="proofpoint") + # Gateway DKIM boost: MS365 DKIM 0.15 + 0.06 = 0.21 > Infomaniak SPF 0.20 + assert result.provider == Provider.MS365 + assert rule == "dkim_tenant_gw" + assert result.confidence == pytest.approx(0.85) + + +class TestClassify: + async def test_ms365_scenario(self): + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="example-com.mail.protection.outlook.com", + ) + ] + spf_ev = [ + Evidence( + kind=SignalKind.SPF, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.SPF], + detail="SPF match", + raw="v=spf1", + ) + ] + + with _patch_all_probes(probe_mx=mx_ev, probe_spf=spf_ev): + result = await classify("example.com") + + assert result.provider == Provider.MS365 + # MX+SPF rule → 0.90 + assert result.confidence == pytest.approx(0.90) + + async def test_google_scenario(self): + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.GOOGLE, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="aspmx.l.google.com", + ) + ] + spf_ev = [ + Evidence( + kind=SignalKind.SPF, + provider=Provider.GOOGLE, + weight=WEIGHTS[SignalKind.SPF], + detail="SPF match", + raw="v=spf1", + ) + ] + dkim_ev = [ + Evidence( + kind=SignalKind.DKIM, + provider=Provider.GOOGLE, + weight=WEIGHTS[SignalKind.DKIM], + detail="DKIM match", + raw="google", + ) + ] + + with _patch_all_probes(probe_mx=mx_ev, probe_spf=spf_ev, probe_dkim=dkim_ev): + result = await classify("example.com") + + assert result.provider == Provider.GOOGLE + # MX+SPF rule (0.90) + DKIM boost (0.02) = 0.92 + assert result.confidence == pytest.approx(0.92) + + async def test_independent_scenario(self): + with _patch_all_probes(): + result = await classify("example.com") + + assert result.provider == Provider.INDEPENDENT + assert result.confidence == 0.0 + + async def test_gateway_scenario(self): + """MX=seppmail, SPF=outlook → MS365 with gateway="seppmail".""" + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="mx.seppmail.cloud", + ) + ] + spf_ev = [ + Evidence( + kind=SignalKind.SPF, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.SPF], + detail="SPF match", + raw="v=spf1", + ) + ] + + with _patch_all_probes( + probe_mx=mx_ev, + probe_spf=spf_ev, + detect_gateway="seppmail", + ): + result = await classify("example.com") + + assert result.provider == Provider.MS365 + assert result.gateway == "seppmail" + + async def test_infomaniak_scenario(self): + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.INFOMANIAK, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="mxpool.infomaniak.com", + ) + ] + spf_ev = [ + Evidence( + kind=SignalKind.SPF, + provider=Provider.INFOMANIAK, + weight=WEIGHTS[SignalKind.SPF], + detail="SPF match", + raw="v=spf1", + ) + ] + + with _patch_all_probes(probe_mx=mx_ev, probe_spf=spf_ev): + result = await classify("example.com") + + assert result.provider == Provider.INFOMANIAK + + async def test_swiss_isp_scenario(self): + """Swiss ISP detected via SPF_IP alone → INDEPENDENT (confirmation-only).""" + spf_ip_ev = [ + Evidence( + kind=SignalKind.SPF_IP, + provider=Provider.SWISS_ISP, + weight=WEIGHTS[SignalKind.SPF_IP], + detail="SPF ip4/a ASN 3303 is Swiss ISP: Swisscom", + raw="195.186.1.1:3303", + ) + ] + + with _patch_all_probes(probe_spf_ip=spf_ip_ev): + result = await classify("example.com") + + assert result.provider == Provider.INDEPENDENT + + async def test_tenant_confirmation_only_in_classify(self): + """Domain with Swiss ISP SPF IPs + positive M365 tenant → both confirmation-only, both discarded → INDEPENDENT.""" + spf_ip_ev = [ + Evidence( + kind=SignalKind.SPF_IP, + provider=Provider.SWISS_ISP, + weight=WEIGHTS[SignalKind.SPF_IP], + detail="SPF ip4/a ASN 3303 is Swiss ISP: Swisscom", + raw="195.186.1.1:3303", + ) + ] + tenant_ev = [ + Evidence( + kind=SignalKind.TENANT, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.TENANT], + detail="MS365 tenant detected", + raw="Managed", + ) + ] + + with _patch_all_probes(probe_spf_ip=spf_ip_ev, probe_tenant=tenant_ev): + result = await classify("example.com") + + # Both SPF_IP and TENANT are confirmation-only → all discarded → INDEPENDENT + assert result.provider == Provider.INDEPENDENT + + async def test_tenant_confirmation_with_ms365_primary(self): + """Domain with MX→outlook + positive M365 tenant → MS365 with boosted confidence.""" + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="example-com.mail.protection.outlook.com", + ) + ] + tenant_ev = [ + Evidence( + kind=SignalKind.TENANT, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.TENANT], + detail="MS365 tenant detected", + raw="Managed", + ) + ] + + with _patch_all_probes(probe_mx=mx_ev, probe_tenant=tenant_ev): + result = await classify("example.com") + + assert result.provider == Provider.MS365 + # MX+TENANT rule → 0.85 + assert result.confidence == pytest.approx(0.85) + + async def test_classify_passes_mx_hosts_to_cname_chain(self): + """cname_chain should receive hosts from lookup_mx, not from MX evidence.""" + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="custom-mx.example.com", + ) + ] + all_mx_hosts = ["custom-mx.example.com", "backup-mx.example.com"] + mock_cname = AsyncMock(return_value=[]) + + with ( + patch( + "mail_sovereignty.classifier.lookup_mx", + new_callable=AsyncMock, + return_value=all_mx_hosts, + ), + patch( + "mail_sovereignty.classifier.probe_mx", + new=MagicMock(return_value=mx_ev), + ), + patch( + "mail_sovereignty.classifier.extract_spf_evidence", + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_dkim", + new_callable=AsyncMock, + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_dmarc", + new_callable=AsyncMock, + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_autodiscover", + new_callable=AsyncMock, + return_value=[], + ), + patch("mail_sovereignty.classifier.probe_cname_chain", mock_cname), + patch( + "mail_sovereignty.classifier.probe_smtp", + new_callable=AsyncMock, + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_tenant", + new_callable=AsyncMock, + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_asn", + new_callable=AsyncMock, + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_txt_verification", + new_callable=AsyncMock, + return_value=[], + ), + patch( + "mail_sovereignty.classifier.probe_spf_ip", + new_callable=AsyncMock, + return_value=[], + ), + patch("mail_sovereignty.classifier.detect_gateway", return_value=None), + patch( + "mail_sovereignty.classifier.lookup_spf_raw", + new_callable=AsyncMock, + return_value="", + ), + ): + await classify("example.com") + + mock_cname.assert_called_once() + call_args = mock_cname.call_args + assert call_args[0][1] == all_mx_hosts + + async def test_classify_populates_mx_hosts(self): + """result.mx_hosts should come from lookup_mx, not from MX evidence.""" + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="example-com.mail.protection.outlook.com", + ) + ] + all_mx_hosts = [ + "example-com.mail.protection.outlook.com", + "mail.stadtluzern.ch", + ] + + with _patch_all_probes(probe_mx=mx_ev, lookup_mx=all_mx_hosts): + result = await classify("example.com") + + assert result.mx_hosts == all_mx_hosts + + +class TestClassifyMany: + async def test_yields_all_domains(self): + mx_ev = [ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="mx.outlook.com", + ) + ] + + with _patch_all_probes(probe_mx=mx_ev): + results = [] + async for domain, result in classify_many(["a.com", "b.com"]): + results.append((domain, result)) + + domains = {d for d, _ in results} + assert domains == {"a.com", "b.com"} + for _, r in results: + assert r.provider == Provider.MS365 + + async def test_empty_domains(self): + results = [] + async for domain, result in classify_many([]): + results.append((domain, result)) + assert results == [] + + async def test_respects_concurrency(self): + with _patch_all_probes(): + results = [] + async for domain, result in classify_many(["a.com"], max_concurrency=1): + results.append((domain, result)) + assert len(results) == 1 + + async def test_error_isolation_skips_failing_domain(self): + """One failing domain should not crash the loop; others succeed.""" + call_count = 0 + + async def _flaky_classify(domain): + nonlocal call_count + call_count += 1 + if domain == "fail.com": + raise RuntimeError("boom") + from mail_sovereignty.models import ClassificationResult + + return ClassificationResult( + provider=Provider.INDEPENDENT, + confidence=0.0, + evidence=[], + gateway=None, + mx_hosts=[], + spf_raw="", + ) + + with patch("mail_sovereignty.classifier.classify", side_effect=_flaky_classify): + results = [] + async for domain, result in classify_many( + ["ok.com", "fail.com", "also-ok.com"] + ): + results.append((domain, result)) + + domains = {d for d, _ in results} + assert "ok.com" in domains + assert "also-ok.com" in domains + assert "fail.com" not in domains + assert len(results) == 2 + + +class TestRuleHitCounting: + @pytest.fixture(autouse=True) + def _clear_counter(self): + _rule_hits.clear() + yield + _rule_hits.clear() + + def test_provider_rule_mx_spf_tenant(self): + evidence = [ + _ev(SignalKind.MX, Provider.MS365), + _ev(SignalKind.SPF, Provider.MS365), + _ev(SignalKind.TENANT, Provider.MS365), + ] + _aggregate(evidence) + assert _rule_hits["mx_spf_tenant"] == 1 + + def test_provider_rule_mx_only(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + _aggregate(evidence) + assert _rule_hits["mx_only"] == 1 + + def test_provider_rule_spf_gw(self): + evidence = [_ev(SignalKind.SPF, Provider.MS365)] + _aggregate(evidence, gateway="seppmail") + assert _rule_hits["spf_gw"] == 1 + + def test_provider_rule_fallback(self): + evidence = [_ev(SignalKind.AUTODISCOVER, Provider.MS365)] + _aggregate(evidence) + assert _rule_hits["fallback"] == 1 + + def test_independent_rule_mx_spf(self): + _aggregate([], mx_hosts=["mail.example.ch"], spf_raw="v=spf1 a mx ~all") + assert _rule_hits["ind_mx_spf"] == 1 + + def test_independent_rule_none(self): + _aggregate([]) + assert _rule_hits["ind_none"] == 1 + + def test_counter_accumulation(self): + evidence = [_ev(SignalKind.MX, Provider.MS365)] + for _ in range(3): + _aggregate(evidence) + assert _rule_hits["mx_only"] == 3 + + async def test_classify_many_summary(self, caplog): + from mail_sovereignty.models import ClassificationResult + + async def _mock_classify(domain): + _rule_hits["mx_spf"] += 1 + return ClassificationResult( + provider=Provider.MS365, + confidence=0.90, + evidence=[], + gateway=None, + mx_hosts=[], + spf_raw="", + ) + + with patch("mail_sovereignty.classifier.classify", side_effect=_mock_classify): + async for _ in classify_many(["a.com", "b.com"]): + pass + + assert any("Rule hit summary" in msg for msg in caplog.messages) + # All rules (including zero-hit) must appear in the summary + summary_msg = next(m for m in caplog.messages if "Rule hit summary" in m) + for name in _ALL_RULE_NAMES: + assert name in summary_msg, f"rule {name!r} missing from summary" diff --git a/tests/test_classify.py b/tests/test_classify.py deleted file mode 100644 index 942ac4a..0000000 --- a/tests/test_classify.py +++ /dev/null @@ -1,552 +0,0 @@ -from mail_sovereignty.classify import ( - classify, - classify_from_autodiscover, - classify_from_mx, - classify_from_smtp_banner, - classify_from_spf, - detect_gateway, - spf_mentions_providers, -) - - -# ── classify() ────────────────────────────────────────────────────── - - -class TestClassify: - def test_microsoft_mx(self): - assert classify(["bern-ch.mail.protection.outlook.com"], "") == "microsoft" - - def test_google_mx(self): - assert ( - classify(["aspmx.l.google.com", "alt1.aspmx.l.google.com"], "") == "google" - ) - - def test_infomaniak_mx(self): - assert classify(["mxpool.infomaniak.com"], "") == "infomaniak" - - def test_aws_mx(self): - assert classify(["inbound-smtp.us-east-1.amazonaws.com"], "") == "aws" - - def test_independent_mx(self): - assert classify(["mail.example.ch"], "") == "independent" - - def test_spf_fallback_when_no_mx(self): - assert ( - classify([], "v=spf1 include:spf.protection.outlook.com -all") - == "microsoft" - ) - - def test_no_mx_no_spf(self): - assert classify([], "") == "unknown" - - def test_mx_takes_precedence_over_spf(self): - result = classify( - ["mail.example.ch"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "independent" - - def test_cname_detects_microsoft(self): - result = classify( - ["mail.example.ch"], - "", - mx_cnames={"mail.example.ch": "mail.protection.outlook.com"}, - ) - assert result == "microsoft" - - def test_cname_none_stays_independent(self): - assert classify(["mail.example.ch"], "", mx_cnames=None) == "independent" - - def test_cname_empty_stays_independent(self): - assert classify(["mail.example.ch"], "", mx_cnames={}) == "independent" - - def test_direct_mx_takes_precedence_over_cname(self): - result = classify( - ["mail.protection.outlook.com"], - "", - mx_cnames={"mail.protection.outlook.com": "something.else.com"}, - ) - assert result == "microsoft" - - def test_swiss_isp_asn(self): - result = classify( - ["mail1.rzobt.ch"], - "", - mx_asns={3303}, - ) - assert result == "swiss-isp" - - def test_swiss_isp_does_not_override_hostname_match(self): - result = classify( - ["mail.protection.outlook.com"], - "", - mx_asns={3303}, - ) - assert result == "microsoft" - - def test_swiss_isp_does_not_override_cname_match(self): - result = classify( - ["mail.example.ch"], - "", - mx_cnames={"mail.example.ch": "mail.protection.outlook.com"}, - mx_asns={3303}, - ) - assert result == "microsoft" - - def test_swiss_isp_with_autodiscover_microsoft(self): - """Swiss ISP relay with autodiscover pointing to outlook.com → microsoft.""" - result = classify( - ["mail1.rzobt.ch"], - "", - mx_asns={3303}, - autodiscover={"autodiscover_cname": "autodiscover.outlook.com"}, - ) - assert result == "microsoft" - - def test_swiss_isp_without_autodiscover_stays_swiss_isp(self): - """Swiss ISP relay without autodiscover stays swiss-isp.""" - result = classify( - ["mail1.rzobt.ch"], - "", - mx_asns={3303}, - autodiscover=None, - ) - assert result == "swiss-isp" - - def test_non_swiss_isp_asn_stays_independent(self): - result = classify( - ["mail.example.ch"], - "", - mx_asns={99999}, - ) - assert result == "independent" - - def test_empty_asns_stays_independent(self): - result = classify( - ["mail.example.ch"], - "", - mx_asns=set(), - ) - assert result == "independent" - - # ── Gateway detection in classify() ── - - def test_seppmail_gateway_with_microsoft_spf(self): - result = classify( - ["customer.seppmail.cloud"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_cleanmail_gateway_with_google_spf(self): - result = classify( - ["mx.cleanmail.ch"], - "v=spf1 include:_spf.google.com -all", - ) - assert result == "google" - - def test_gateway_no_hyperscaler_spf_stays_independent(self): - result = classify( - ["filter.seppmail.cloud"], - "v=spf1 ip4:1.2.3.4 -all", - ) - assert result == "independent" - - def test_gateway_empty_spf_stays_independent(self): - result = classify( - ["filter.seppmail.cloud"], - "", - ) - assert result == "independent" - - def test_gateway_microsoft_in_resolved_spf(self): - result = classify( - ["mx.cleanmail.ch"], - "v=spf1 include:custom.ch -all", - resolved_spf="v=spf1 include:custom.ch -all v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_gateway_resolved_spf_not_checked_if_raw_matches(self): - result = classify( - ["mx.cleanmail.ch"], - "v=spf1 include:_spf.google.com -all", - resolved_spf="v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "google" - - def test_non_gateway_independent_mx_ignores_spf(self): - """Self-hosted MX (not a gateway) should NOT be reclassified by SPF.""" - result = classify( - ["nemx9a.ne.ch"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "independent" - - def test_barracuda_gateway_with_microsoft_spf(self): - result = classify( - ["mail.barracudanetworks.com"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_trendmicro_gateway_with_aws_spf(self): - result = classify( - ["filter.tmes.trendmicro.eu"], - "v=spf1 include:amazonses.com -all", - ) - assert result == "aws" - - def test_hornetsecurity_gateway_with_microsoft_spf(self): - result = classify( - ["mx01.hornetsecurity.com"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_abxsec_gateway_with_microsoft_spf(self): - result = classify( - ["mta1.abxsec.com"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_proofpoint_gateway_with_microsoft_spf(self): - result = classify( - ["mx1.ppe-hosted.com"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_sophos_gateway_with_microsoft_spf(self): - result = classify( - ["mx.hydra.sophos.com"], - "v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_spamvor_gateway_stays_independent_no_hyperscaler_spf(self): - result = classify( - ["relay.spamvor.com"], - "v=spf1 ip4:1.2.3.4 -all", - ) - assert result == "independent" - - def test_gateway_does_not_override_direct_mx_match(self): - """If MX directly matches a provider, gateway check is skipped.""" - result = classify( - ["mail.protection.outlook.com"], - "v=spf1 include:_spf.google.com -all", - ) - assert result == "microsoft" - - # ── Autodiscover in classify() ── - - def test_gateway_autodiscover_reveals_microsoft(self): - result = classify( - ["mx01.hornetsecurity.com"], - "v=spf1 ip4:1.2.3.4 -all", - autodiscover={"autodiscover_cname": "autodiscover.outlook.com"}, - ) - assert result == "microsoft" - - def test_gateway_autodiscover_reveals_google(self): - result = classify( - ["filter.seppmail.cloud"], - "", - autodiscover={"autodiscover_srv": "autodiscover.google.com"}, - ) - assert result == "google" - - def test_gateway_spf_takes_precedence_over_autodiscover(self): - """If SPF already identifies a provider, autodiscover is not checked.""" - result = classify( - ["mx.cleanmail.ch"], - "v=spf1 include:_spf.google.com -all", - autodiscover={"autodiscover_cname": "autodiscover.outlook.com"}, - ) - assert result == "google" - - def test_non_gateway_independent_uses_autodiscover_fallback(self): - """Non-gateway independent MX should use autodiscover as fallback.""" - result = classify( - ["mail.example.ch"], - "", - autodiscover={"autodiscover_cname": "autodiscover.outlook.com"}, - ) - assert result == "microsoft" - - def test_non_gateway_independent_no_autodiscover_stays_independent(self): - """Non-gateway independent MX without autodiscover stays independent.""" - result = classify( - ["mail.example.ch"], - "", - autodiscover=None, - ) - assert result == "independent" - - def test_gateway_empty_autodiscover_stays_independent(self): - result = classify( - ["filter.seppmail.cloud"], - "", - autodiscover={}, - ) - assert result == "independent" - - def test_gateway_autodiscover_none_stays_independent(self): - result = classify( - ["filter.seppmail.cloud"], - "", - autodiscover=None, - ) - assert result == "independent" - - # ── SPF-only resolved fallback ── - - def test_spf_only_resolved_fallback(self): - """No MX, raw SPF has no keywords, resolved_spf has Microsoft → microsoft.""" - result = classify( - [], - "v=spf1 include:custom.ch -all", - resolved_spf="v=spf1 include:custom.ch -all v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "microsoft" - - def test_spf_only_raw_takes_precedence(self): - """No MX, raw SPF has Google, resolved_spf has Microsoft → google (raw wins).""" - result = classify( - [], - "v=spf1 include:_spf.google.com -all", - resolved_spf="v=spf1 include:spf.protection.outlook.com -all", - ) - assert result == "google" - - def test_spf_only_no_resolved_stays_unknown(self): - """No MX, raw SPF has no keywords, no resolved_spf → unknown.""" - result = classify( - [], - "v=spf1 ip4:1.2.3.4 -all", - resolved_spf=None, - ) - assert result == "unknown" - - -# ── classify_from_autodiscover() ──────────────────────────────────── - - -class TestClassifyFromAutodiscover: - def test_none_returns_none(self): - assert classify_from_autodiscover(None) is None - - def test_empty_dict_returns_none(self): - assert classify_from_autodiscover({}) is None - - def test_microsoft_cname(self): - assert ( - classify_from_autodiscover( - {"autodiscover_cname": "autodiscover.outlook.com"} - ) - == "microsoft" - ) - - def test_google_srv(self): - assert ( - classify_from_autodiscover({"autodiscover_srv": "autodiscover.google.com"}) - == "google" - ) - - def test_unrecognized_returns_none(self): - assert ( - classify_from_autodiscover( - {"autodiscover_cname": "autodiscover.custom-host.ch"} - ) - is None - ) - - -# ── detect_gateway() ──────────────────────────────────────────────── - - -class TestDetectGateway: - def test_seppmail(self): - assert detect_gateway(["customer.seppmail.cloud"]) == "seppmail" - - def test_cleanmail(self): - assert detect_gateway(["mx.cleanmail.ch"]) == "cleanmail" - - def test_barracuda(self): - assert detect_gateway(["mail.barracudanetworks.com"]) == "barracuda" - - def test_trendmicro(self): - assert detect_gateway(["filter.tmes.trendmicro.eu"]) == "trendmicro" - - def test_hornetsecurity(self): - assert detect_gateway(["mx01.hornetsecurity.com"]) == "hornetsecurity" - - def test_abxsec(self): - assert detect_gateway(["mta1.abxsec.com"]) == "abxsec" - - def test_proofpoint(self): - assert detect_gateway(["mx1.ppe-hosted.com"]) == "proofpoint" - - def test_sophos(self): - assert detect_gateway(["mx.hydra.sophos.com"]) == "sophos" - - def test_spamvor(self): - assert detect_gateway(["relay.spamvor.com"]) == "spamvor" - - def test_no_gateway(self): - assert detect_gateway(["mail.example.ch"]) is None - - def test_empty_list(self): - assert detect_gateway([]) is None - - def test_case_insensitive(self): - assert detect_gateway(["CUSTOMER.SEPPMAIL.CLOUD"]) == "seppmail" - - -# ── classify_from_mx() ────────────────────────────────────────────── - - -class TestClassifyFromMx: - def test_empty_returns_none(self): - assert classify_from_mx([]) is None - - def test_microsoft(self): - assert classify_from_mx(["mail.protection.outlook.com"]) == "microsoft" - - def test_google(self): - assert classify_from_mx(["aspmx.l.google.com"]) == "google" - - def test_unrecognized_returns_independent(self): - assert classify_from_mx(["mail.custom.ch"]) == "independent" - - def test_case_insensitive(self): - assert classify_from_mx(["MAIL.PROTECTION.OUTLOOK.COM"]) == "microsoft" - - -# ── classify_from_spf() ───────────────────────────────────────────── - - -class TestClassifyFromSpf: - def test_empty_returns_none(self): - assert classify_from_spf("") is None - - def test_none_returns_none(self): - assert classify_from_spf(None) is None - - def test_microsoft(self): - assert ( - classify_from_spf("v=spf1 include:spf.protection.outlook.com -all") - == "microsoft" - ) - - def test_unrecognized_returns_none(self): - assert classify_from_spf("v=spf1 include:custom.ch -all") is None - - -# ── spf_mentions_providers() ───────────────────────────────────────── - - -class TestSpfMentionsProviders: - def test_empty_returns_empty(self): - assert spf_mentions_providers("") == set() - - def test_single_provider(self): - result = spf_mentions_providers( - "v=spf1 include:spf.protection.outlook.com -all" - ) - assert result == {"microsoft"} - - def test_multiple_providers(self): - result = spf_mentions_providers( - "v=spf1 include:spf.protection.outlook.com include:_spf.google.com -all" - ) - assert result == {"microsoft", "google"} - - def test_detects_mailchimp(self): - result = spf_mentions_providers( - "v=spf1 include:servers.mcsv.net include:spf.mandrillapp.com -all" - ) - assert "mailchimp" in result - - def test_detects_sendgrid(self): - result = spf_mentions_providers("v=spf1 include:sendgrid.net -all") - assert result == {"sendgrid"} - - def test_mixed_main_and_foreign(self): - result = spf_mentions_providers( - "v=spf1 include:spf.protection.outlook.com include:spf.mandrillapp.com -all" - ) - assert result == {"microsoft", "mailchimp"} - - def test_detects_smtp2go(self): - result = spf_mentions_providers("v=spf1 include:spf.smtp2go.com -all") - assert "smtp2go" in result - - def test_detects_nl2go(self): - result = spf_mentions_providers("v=spf1 include:spf.nl2go.com -all") - assert "nl2go" in result - - def test_foreign_sender_not_in_classify(self): - assert classify([], "v=spf1 include:spf.mandrillapp.com -all") == "unknown" - - def test_foreign_sender_not_in_classify_from_spf(self): - assert classify_from_spf("v=spf1 include:spf.mandrillapp.com -all") is None - - -# ── classify_from_smtp_banner() ──────────────────────────────────── - - -class TestClassifyFromSmtpBanner: - def test_empty_returns_none(self): - assert classify_from_smtp_banner("") is None - - def test_both_empty_returns_none(self): - assert classify_from_smtp_banner("", "") is None - - def test_microsoft_banner(self): - assert ( - classify_from_smtp_banner( - "220 BL02EPF0001CA17.mail.protection.outlook.com " - "Microsoft ESMTP MAIL Service ready" - ) - == "microsoft" - ) - - def test_microsoft_outlook_com(self): - assert ( - classify_from_smtp_banner("220 something.outlook.com ready") == "microsoft" - ) - - def test_google_banner(self): - assert classify_from_smtp_banner("220 mx.google.com ESMTP ready") == "google" - - def test_google_esmtp_in_ehlo(self): - assert ( - classify_from_smtp_banner("220 custom.example.ch", "250 Google ESMTP ready") - == "google" - ) - - def test_infomaniak_banner(self): - assert classify_from_smtp_banner("220 mail.infomaniak.ch ESMTP") == "infomaniak" - - def test_aws_banner(self): - assert ( - classify_from_smtp_banner("220 inbound-smtp.eu-west-1.amazonaws.com ESMTP") - == "aws" - ) - - def test_postfix_returns_none(self): - assert classify_from_smtp_banner("220 mail.example.ch ESMTP Postfix") is None - - def test_exim_returns_none(self): - assert classify_from_smtp_banner("220 mail.example.ch ESMTP Exim 4.96") is None - - def test_case_insensitive(self): - assert ( - classify_from_smtp_banner( - "220 MAIL.PROTECTION.OUTLOOK.COM MICROSOFT ESMTP MAIL SERVICE" - ) - == "microsoft" - ) diff --git a/tests/test_cli.py b/tests/test_cli.py index 5495da0..0872fbc 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1,27 +1,71 @@ +import logging from pathlib import Path from unittest.mock import AsyncMock, patch -from mail_sovereignty.cli import postprocess, preprocess, validate +from mail_sovereignty.cli import ( + classify_providers, + resolve_domains, +) +from mail_sovereignty.log import setup as setup_logging + + +class TestSetupLogging: + def test_default_suppresses_noisy_loggers(self): + setup_logging(verbose=False) + for name in ("httpx", "httpcore", "dns", "stamina"): + assert logging.getLogger(name).level == logging.WARNING + + def test_verbose_suppresses_noisy_loggers(self): + setup_logging(verbose=True) + for name in ("httpx", "httpcore", "dns", "stamina"): + assert logging.getLogger(name).level == logging.WARNING class TestCli: - def test_preprocess(self): - with patch( - "mail_sovereignty.preprocess.run", new_callable=AsyncMock - ) as mock_run: - preprocess() - mock_run.assert_called_once() - - def test_postprocess(self): - with patch( - "mail_sovereignty.postprocess.run", new_callable=AsyncMock - ) as mock_run: - postprocess() - mock_run.assert_called_once() - - def test_validate(self): - with patch("mail_sovereignty.validate.run") as mock_run: - validate() + def test_resolve_domains(self): + with ( + patch("mail_sovereignty.resolve.run", new_callable=AsyncMock) as mock_run, + patch("sys.argv", ["resolve-domains"]), + ): + resolve_domains() + mock_run.assert_called_once_with( + Path("municipality_domains.json"), + Path("overrides.json"), + date=None, + ) + + def test_resolve_domains_with_date(self): + with ( + patch("mail_sovereignty.resolve.run", new_callable=AsyncMock) as mock_run, + patch("sys.argv", ["resolve-domains", "--date", "15-03-2026"]), + ): + resolve_domains() mock_run.assert_called_once_with( - Path("data.json"), Path("."), quality_gate=True + Path("municipality_domains.json"), + Path("overrides.json"), + date="15-03-2026", ) + + def test_resolve_domains_verbose(self): + with ( + patch("mail_sovereignty.resolve.run", new_callable=AsyncMock), + patch("sys.argv", ["resolve-domains", "-v"]), + ): + resolve_domains() + + def test_classify_providers(self): + with ( + patch("mail_sovereignty.pipeline.run", new_callable=AsyncMock) as mock_run, + patch("sys.argv", ["classify-providers"]), + ): + classify_providers() + mock_run.assert_called_once_with( + Path("municipality_domains.json"), Path("data.json") + ) + + def test_classify_providers_verbose(self): + with ( + patch("mail_sovereignty.pipeline.run", new_callable=AsyncMock), + patch("sys.argv", ["classify-providers", "--verbose"]), + ): + classify_providers() diff --git a/tests/test_constants.py b/tests/test_constants.py index 1db9706..20b6e6c 100644 --- a/tests/test_constants.py +++ b/tests/test_constants.py @@ -1,50 +1,14 @@ from mail_sovereignty.constants import ( - MICROSOFT_KEYWORDS, - GOOGLE_KEYWORDS, - AWS_KEYWORDS, - INFOMANIAK_KEYWORDS, - PROVIDER_KEYWORDS, - FOREIGN_SENDER_KEYWORDS, SKIP_DOMAINS, - SWISS_ISP_ASNS, + CONCURRENCY_POSTPROCESS, ) -def test_keyword_lists_non_empty(): - assert MICROSOFT_KEYWORDS - assert GOOGLE_KEYWORDS - assert AWS_KEYWORDS - assert INFOMANIAK_KEYWORDS - - -def test_provider_keywords_has_all_providers(): - assert set(PROVIDER_KEYWORDS.keys()) == {"microsoft", "google", "aws", "infomaniak"} - - -def test_foreign_sender_keywords_non_empty(): - assert FOREIGN_SENDER_KEYWORDS - assert "mailchimp" in FOREIGN_SENDER_KEYWORDS - assert "sendgrid" in FOREIGN_SENDER_KEYWORDS - assert "smtp2go" in FOREIGN_SENDER_KEYWORDS - assert "nl2go" in FOREIGN_SENDER_KEYWORDS - assert "hubspot" in FOREIGN_SENDER_KEYWORDS - assert "knowbe4" in FOREIGN_SENDER_KEYWORDS - assert "hornetsecurity" in FOREIGN_SENDER_KEYWORDS - assert set(FOREIGN_SENDER_KEYWORDS.keys()).isdisjoint(set(PROVIDER_KEYWORDS.keys())) - - def test_skip_domains_contains_expected(): assert "example.com" in SKIP_DOMAINS assert "sentry.io" in SKIP_DOMAINS assert "schema.org" in SKIP_DOMAINS -def test_swiss_isp_asns_contains_key_providers(): - assert 3303 in SWISS_ISP_ASNS # Swisscom - assert 559 in SWISS_ISP_ASNS # SWITCH - assert 29691 in SWISS_ISP_ASNS # Hostpoint - assert 15600 in SWISS_ISP_ASNS # Quickline - - -def test_swiss_isp_asns_minimum_count(): - assert len(SWISS_ISP_ASNS) >= 13 +def test_concurrency_postprocess(): + assert CONCURRENCY_POSTPROCESS == 10 diff --git a/tests/test_data_validation.py b/tests/test_data_validation.py new file mode 100644 index 0000000..6e34bc8 --- /dev/null +++ b/tests/test_data_validation.py @@ -0,0 +1,408 @@ +"""Data validation tests for produced JSON files. + +These tests validate the structural integrity and data consistency of +municipality_domains.json and data.json. They are skipped if the files +don't exist (e.g. in CI before the pipeline has run). +""" + +import json +from datetime import datetime +from pathlib import Path + +import pytest + +from mail_sovereignty.models import Provider +from mail_sovereignty.pipeline import PROVIDER_OUTPUT_NAMES + +_MUNICIPALITY_DOMAINS_PATH = Path("municipality_domains.json") +_DATA_JSON_PATH = Path("data.json") + +# Build valid provider output names: all mapped values + all unmapped enum values +_VALID_PROVIDER_NAMES = {PROVIDER_OUTPUT_NAMES.get(p.value, p.value) for p in Provider} +_VALID_PROVIDER_NAMES.update({"unknown", "merged"}) + + +def _collect_failures(entries, check, limit=10): + """Run check(key, entry) over entries, collect failures, assert with summary.""" + failures = [] + for key, entry in entries.items(): + msg = check(key, entry) + if msg: + failures.append(msg) + if failures: + shown = failures[:limit] + summary = "\n".join(shown) + if len(failures) > limit: + summary += f"\n... and {len(failures) - limit} more" + pytest.fail(f"{len(failures)} violations:\n{summary}") + + +# ── Fixtures ────────────────────────────────────────────────────────── + + +@pytest.fixture(scope="session") +def municipality_domains_data(): + if not _MUNICIPALITY_DOMAINS_PATH.exists(): + pytest.skip("municipality_domains.json not found") + with open(_MUNICIPALITY_DOMAINS_PATH, encoding="utf-8") as f: + return json.load(f) + + +@pytest.fixture(scope="session") +def data_json_data(): + if not _DATA_JSON_PATH.exists(): + pytest.skip("data.json not found") + with open(_DATA_JSON_PATH, encoding="utf-8") as f: + return json.load(f) + + +# ── municipality_domains.json structure ─────────────────────────────── + + +class TestMunicipalityDomainsStructure: + def test_top_level_keys(self, municipality_domains_data): + for key in ("generated", "total", "municipalities"): + assert key in municipality_domains_data, f"missing top-level key: {key}" + + def test_generated_is_iso8601(self, municipality_domains_data): + ts = municipality_domains_data["generated"] + datetime.fromisoformat(ts) + + def test_total_matches_count(self, municipality_domains_data): + total = municipality_domains_data["total"] + count = len(municipality_domains_data["municipalities"]) + assert total == count, f"total={total} but {count} entries" + + def test_municipality_count_plausible(self, municipality_domains_data): + count = len(municipality_domains_data["municipalities"]) + assert 2000 <= count <= 2300, f"unexpected count: {count}" + + +# ── municipality_domains.json entries ───────────────────────────────── + + +class TestMunicipalityDomainsEntries: + _REQUIRED_FIELDS = { + "bfs", + "name", + "canton", + "domain", + "source", + "confidence", + "sources_detail", + "flags", + } + + def test_required_fields(self, municipality_domains_data): + entries = municipality_domains_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"{k}: missing {self._REQUIRED_FIELDS - set(e.keys())}" + if not self._REQUIRED_FIELDS.issubset(e.keys()) + else None + ), + ) + + def test_bfs_key_matches_entry(self, municipality_domains_data): + entries = municipality_domains_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"key={k} but bfs={e.get('bfs')}" if k != e.get("bfs") else None + ), + ) + + def test_no_empty_name(self, municipality_domains_data): + entries = municipality_domains_data["municipalities"] + _collect_failures( + entries, + lambda k, e: f"{k}: empty name" if not e.get("name") else None, + ) + + def test_bfs_is_numeric(self, municipality_domains_data): + entries = municipality_domains_data["municipalities"] + _collect_failures( + entries, + lambda k, e: f"{k}: non-numeric BFS" if not k.isdigit() else None, + ) + + def test_domain_nonempty_when_high_confidence(self, municipality_domains_data): + entries = municipality_domains_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"{k}: high confidence but empty domain" + if e.get("confidence") == "high" and not e.get("domain") + else None + ), + ) + + +# ── data.json structure ─────────────────────────────────────────────── + + +class TestDataJsonStructure: + def test_top_level_keys(self, data_json_data): + for key in ("generated", "total", "counts", "municipalities"): + assert key in data_json_data, f"missing top-level key: {key}" + + def test_generated_is_iso8601(self, data_json_data): + ts = data_json_data["generated"] + datetime.fromisoformat(ts) + + def test_total_matches_count(self, data_json_data): + total = data_json_data["total"] + count = len(data_json_data["municipalities"]) + assert total == count, f"total={total} but {count} entries" + + def test_municipality_count_plausible(self, data_json_data): + count = len(data_json_data["municipalities"]) + assert 2000 <= count <= 2300, f"unexpected count: {count}" + + def test_counts_sum_to_total(self, data_json_data): + total = data_json_data["total"] + counts_sum = sum(data_json_data["counts"].values()) + assert counts_sum == total, f"counts sum={counts_sum} but total={total}" + + def test_counts_keys_valid(self, data_json_data): + invalid = set(data_json_data["counts"].keys()) - _VALID_PROVIDER_NAMES + assert not invalid, f"invalid count keys: {invalid}" + + +# ── data.json entries ───────────────────────────────────────────────── + + +class TestDataJsonEntries: + _REQUIRED_FIELDS = { + "bfs", + "name", + "domain", + "mx", + "spf", + "provider", + "classification_confidence", + "classification_signals", + } + + def test_required_fields(self, data_json_data): + entries = data_json_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"{k}: missing {self._REQUIRED_FIELDS - set(e.keys())}" + if not self._REQUIRED_FIELDS.issubset(e.keys()) + else None + ), + ) + + def test_bfs_key_matches_entry(self, data_json_data): + entries = data_json_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"key={k} but bfs={e.get('bfs')}" if k != e.get("bfs") else None + ), + ) + + def test_provider_valid(self, data_json_data): + entries = data_json_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"{k}: invalid provider '{e.get('provider')}'" + if e.get("provider") not in _VALID_PROVIDER_NAMES + else None + ), + ) + + def test_confidence_range(self, data_json_data): + entries = data_json_data["municipalities"] + _collect_failures( + entries, + lambda k, e: ( + f"{k}: confidence={e.get('classification_confidence')}" + if not (0 <= (e.get("classification_confidence") or 0) <= 100) + else None + ), + ) + + def test_signal_has_required_fields(self, data_json_data): + entries = data_json_data["municipalities"] + signal_fields = {"kind", "provider", "weight", "detail"} + failures = [] + for key, entry in entries.items(): + for i, sig in enumerate(entry.get("classification_signals", [])): + missing = signal_fields - set(sig.keys()) + if missing: + failures.append(f"{key} signal[{i}]: missing {missing}") + if failures: + shown = failures[:10] + summary = "\n".join(shown) + if len(failures) > 10: + summary += f"\n... and {len(failures) - 10} more" + pytest.fail(f"{len(failures)} violations:\n{summary}") + + def test_mx_is_list_of_strings(self, data_json_data): + entries = data_json_data["municipalities"] + failures = [] + for key, entry in entries.items(): + mx = entry.get("mx") + if not isinstance(mx, list): + failures.append(f"{key}: mx is {type(mx).__name__}, not list") + elif not all(isinstance(m, str) for m in mx): + failures.append(f"{key}: mx contains non-string elements") + if failures: + shown = failures[:10] + summary = "\n".join(shown) + if len(failures) > 10: + summary += f"\n... and {len(failures) - 10} more" + pytest.fail(f"{len(failures)} violations:\n{summary}") + + def test_no_empty_name(self, data_json_data): + entries = data_json_data["municipalities"] + _collect_failures( + entries, + lambda k, e: f"{k}: empty name" if not e.get("name") else None, + ) + + def test_bfs_is_numeric(self, data_json_data): + entries = data_json_data["municipalities"] + _collect_failures( + entries, + lambda k, e: f"{k}: non-numeric BFS" if not k.isdigit() else None, + ) + + +# ── data.json aggregates ───────────────────────────────────────────── + + +class TestDataJsonAggregates: + def test_provider_distribution(self, data_json_data): + entries = data_json_data["municipalities"] + total = len(entries) + unknown = sum(1 for e in entries.values() if e.get("provider") == "unknown") + pct = unknown / total * 100 + assert pct < 15, f"unknown providers: {pct:.1f}% ({unknown}/{total})" + + def test_average_confidence(self, data_json_data): + entries = data_json_data["municipalities"] + confidences = [e.get("classification_confidence", 0) for e in entries.values()] + avg = sum(confidences) / len(confidences) + assert avg > 50, f"average confidence too low: {avg:.1f}" + + def test_domain_with_spf_but_no_mx(self, data_json_data): + """Entries with domain+SPF but empty MX are likely DNS failures.""" + entries = data_json_data["municipalities"] + with_domain_spf = { + k: e for k, e in entries.items() if e.get("domain") and e.get("spf") + } + if not with_domain_spf: + pytest.skip("no entries with domain+SPF") + no_mx = [ + f"{k} ({e['domain']})" + for k, e in with_domain_spf.items() + if not e.get("mx") + ] + pct = len(no_mx) / len(with_domain_spf) * 100 + detail = "\n".join(no_mx[:10]) + if len(no_mx) > 10: + detail += f"\n... and {len(no_mx) - 10} more" + assert pct < 3, ( + f"{pct:.1f}% of domain+SPF entries have no MX " + f"({len(no_mx)}/{len(with_domain_spf)}):\n{detail}" + ) + + def test_zero_confidence_rate(self, data_json_data): + """Entries with domain+SPF but no MX and zero confidence are total DNS failures. + + These entries had mail infrastructure (SPF record) but couldn't be + classified at all — no MX records were resolved and no other signal + rescued the classification. A rate above 1% of domain+SPF entries + signals DNS resolution issues that need fixing. + """ + entries = data_json_data["municipalities"] + with_domain_spf = { + k: e for k, e in entries.items() if e.get("domain") and e.get("spf") + } + if not with_domain_spf: + pytest.skip("no entries with domain+SPF") + zero_conf_no_mx = [ + f"{k} ({e['domain']})" + for k, e in with_domain_spf.items() + if not e.get("mx") and e.get("classification_confidence", 0) == 0.0 + ] + pct = len(zero_conf_no_mx) / len(with_domain_spf) * 100 + detail = "\n".join(zero_conf_no_mx[:10]) + if len(zero_conf_no_mx) > 10: + detail += f"\n... and {len(zero_conf_no_mx) - 10} more" + assert pct < 1, ( + f"{pct:.1f}% of domain+SPF entries have no MX and zero confidence " + f"({len(zero_conf_no_mx)}/{len(with_domain_spf)}):\n{detail}" + ) + + +# ── Cross-file consistency ──────────────────────────────────────────── + + +class TestCrossFileConsistency: + def test_same_bfs_keys(self, municipality_domains_data, data_json_data): + md_keys = set(municipality_domains_data["municipalities"].keys()) + dj_keys = set(data_json_data["municipalities"].keys()) + only_md = md_keys - dj_keys + only_dj = dj_keys - md_keys + assert not only_md and not only_dj, ( + f"BFS mismatch: {len(only_md)} only in municipality_domains, " + f"{len(only_dj)} only in data.json" + ) + + def test_names_match(self, municipality_domains_data, data_json_data): + md = municipality_domains_data["municipalities"] + dj = data_json_data["municipalities"] + common = set(md.keys()) & set(dj.keys()) + failures = [] + for bfs in common: + md_name = md[bfs].get("name") + dj_name = dj[bfs].get("name") + if md_name != dj_name: + failures.append(f"{bfs}: '{md_name}' vs '{dj_name}'") + if failures: + shown = failures[:10] + summary = "\n".join(shown) + if len(failures) > 10: + summary += f"\n... and {len(failures) - 10} more" + pytest.fail(f"{len(failures)} name mismatches:\n{summary}") + + def test_domains_match(self, municipality_domains_data, data_json_data): + md = municipality_domains_data["municipalities"] + dj = data_json_data["municipalities"] + common = set(md.keys()) & set(dj.keys()) + failures = [] + for bfs in common: + md_domain = md[bfs].get("domain", "") + dj_domain = dj[bfs].get("domain", "") + if md_domain != dj_domain: + failures.append(f"{bfs}: '{md_domain}' vs '{dj_domain}'") + if failures: + shown = failures[:10] + summary = "\n".join(shown) + if len(failures) > 10: + summary += f"\n... and {len(failures) - 10} more" + pytest.fail(f"{len(failures)} domain mismatches:\n{summary}") + + def test_resolve_flags_passthrough(self, municipality_domains_data, data_json_data): + md = municipality_domains_data["municipalities"] + dj = data_json_data["municipalities"] + common = set(md.keys()) & set(dj.keys()) + failures = [] + for bfs in common: + md_flags = md[bfs].get("flags", []) + dj_flags = dj[bfs].get("resolve_flags", []) + if md_flags and not dj_flags: + failures.append(f"{bfs}: resolver flags {md_flags} not in data.json") + if failures: + shown = failures[:10] + summary = "\n".join(shown) + if len(failures) > 10: + summary += f"\n... and {len(failures) - 10} more" + pytest.fail(f"{len(failures)} flag passthrough failures:\n{summary}") diff --git a/tests/test_dns.py b/tests/test_dns.py index d2fbe38..133e419 100644 --- a/tests/test_dns.py +++ b/tests/test_dns.py @@ -6,17 +6,9 @@ from mail_sovereignty.dns import ( get_resolvers, - lookup_a, - lookup_asn_cymru, - lookup_autodiscover, - lookup_cname_chain, lookup_mx, - lookup_spf, - lookup_srv, make_resolvers, - resolve_mx_asns, - resolve_mx_cnames, - resolve_spf_includes, + resolve_robust, ) @@ -39,6 +31,20 @@ def test_first_uses_system_dns(self): # First resolver uses system defaults (no explicit nameservers set by us) assert resolvers[0] is not resolvers[1] + def test_resolvers_share_cache(self): + resolvers = make_resolvers() + assert resolvers[0].cache is resolvers[1].cache + assert resolvers[1].cache is resolvers[2].cache + assert resolvers[0].cache is not None + + def test_quad9_nameservers(self): + resolvers = make_resolvers() + assert resolvers[1].nameservers == ["9.9.9.9", "149.112.112.112"] + + def test_cloudflare_nameservers(self): + resolvers = make_resolvers() + assert resolvers[2].nameservers == ["1.1.1.1", "1.0.0.1"] + class TestGetResolvers: def test_lazy_init(self): @@ -59,39 +65,34 @@ def test_cached(self): assert get_resolvers() == ["cached"] -class TestLookupMx: +class TestResolveRobust: async def test_success(self): - mock_rr = MagicMock() - mock_rr.exchange = "mail.example.ch." - mock_answer = [mock_rr] - + mock_answer = MagicMock() mock_resolver = AsyncMock() mock_resolver.resolve = AsyncMock(return_value=mock_answer) with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_mx("example.ch") - assert result == ["mail.example.ch"] + result = await resolve_robust("example.ch", "TXT") + assert result is mock_answer - async def test_nxdomain_returns_empty(self): + async def test_nxdomain_returns_none(self): mock_resolver = AsyncMock() mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NXDOMAIN()) mock_resolver2 = AsyncMock() - mock_resolver2.resolve = AsyncMock(return_value=[]) + mock_resolver2.resolve = AsyncMock(return_value=MagicMock()) with patch( "mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver, mock_resolver2], ): - result = await lookup_mx("nonexistent.ch") - assert result == [] + result = await resolve_robust("nonexistent.ch", "A") + assert result is None # NXDOMAIN is terminal — second resolver should NOT be called mock_resolver2.resolve.assert_not_called() async def test_timeout_retries_next_resolver(self): - mock_rr = MagicMock() - mock_rr.exchange = "mail.example.ch." - mock_answer = [mock_rr] + mock_answer = MagicMock() mock_resolver1 = AsyncMock() mock_resolver1.resolve = AsyncMock(side_effect=dns.exception.Timeout()) @@ -104,13 +105,11 @@ async def test_timeout_retries_next_resolver(self): return_value=[mock_resolver1, mock_resolver2], ): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_mx("example.ch") - assert result == ["mail.example.ch"] + result = await resolve_robust("example.ch", "TXT") + assert result is mock_answer async def test_noanswer_retries_next_resolver(self): - mock_rr = MagicMock() - mock_rr.exchange = "mail.example.ch." - mock_answer = [mock_rr] + mock_answer = MagicMock() mock_resolver1 = AsyncMock() mock_resolver1.resolve = AsyncMock(side_effect=dns.resolver.NoAnswer()) @@ -123,13 +122,11 @@ async def test_noanswer_retries_next_resolver(self): return_value=[mock_resolver1, mock_resolver2], ): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_mx("example.ch") - assert result == ["mail.example.ch"] + result = await resolve_robust("example.ch", "TXT") + assert result is mock_answer async def test_nonameservers_retries(self): - mock_rr = MagicMock() - mock_rr.exchange = "mail.example.ch." - mock_answer = [mock_rr] + mock_answer = MagicMock() mock_resolver1 = AsyncMock() mock_resolver1.resolve = AsyncMock(side_effect=dns.resolver.NoNameservers()) @@ -142,8 +139,8 @@ async def test_nonameservers_retries(self): return_value=[mock_resolver1, mock_resolver2], ): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_mx("example.ch") - assert result == ["mail.example.ch"] + result = await resolve_robust("example.ch", "TXT") + assert result is mock_answer async def test_all_resolvers_fail(self): resolvers = [] @@ -154,13 +151,11 @@ async def test_all_resolvers_fail(self): with patch("mail_sovereignty.dns.get_resolvers", return_value=resolvers): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_mx("example.ch") - assert result == [] + result = await resolve_robust("example.ch", "TXT") + assert result is None async def test_generic_exception_retries(self): - mock_rr = MagicMock() - mock_rr.exchange = "mail.example.ch." - mock_answer = [mock_rr] + mock_answer = MagicMock() mock_resolver1 = AsyncMock() mock_resolver1.resolve = AsyncMock(side_effect=RuntimeError("boom")) @@ -172,44 +167,14 @@ async def test_generic_exception_retries(self): "mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver1, mock_resolver2], ): - result = await lookup_mx("example.ch") - assert result == ["mail.example.ch"] - - -class TestLookupSpf: - async def test_success(self): - mock_rr = MagicMock() - mock_rr.strings = [b"v=spf1 include:example.ch -all"] - mock_answer = [mock_rr] - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(return_value=mock_answer) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_spf("example.ch") - assert result == "v=spf1 include:example.ch -all" - - async def test_nxdomain_returns_empty(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NXDOMAIN()) - - mock_resolver2 = AsyncMock() - - with patch( - "mail_sovereignty.dns.get_resolvers", - return_value=[mock_resolver, mock_resolver2], - ): - result = await lookup_spf("nonexistent.ch") - assert result == "" - mock_resolver2.resolve.assert_not_called() + result = await resolve_robust("example.ch", "TXT") + assert result is mock_answer - async def test_timeout_retries_next_resolver(self): - mock_rr = MagicMock() - mock_rr.strings = [b"v=spf1 include:example.ch -all"] - mock_answer = [mock_rr] + async def test_noanswer_uses_debug_not_warning(self): + mock_answer = MagicMock() mock_resolver1 = AsyncMock() - mock_resolver1.resolve = AsyncMock(side_effect=dns.exception.Timeout()) + mock_resolver1.resolve = AsyncMock(side_effect=dns.resolver.NoAnswer()) mock_resolver2 = AsyncMock() mock_resolver2.resolve = AsyncMock(return_value=mock_answer) @@ -219,341 +184,49 @@ async def test_timeout_retries_next_resolver(self): return_value=[mock_resolver1, mock_resolver2], ): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_spf("example.ch") - assert result == "v=spf1 include:example.ch -all" + with patch("mail_sovereignty.dns.logger") as mock_logger: + await resolve_robust("example.ch", "TXT") + mock_logger.debug.assert_called() + mock_logger.warning.assert_not_called() - async def test_all_resolvers_fail(self): + async def test_noanswer_all_exhausted_uses_debug(self): resolvers = [] for _ in range(3): r = AsyncMock() - r.resolve = AsyncMock(side_effect=dns.exception.Timeout()) + r.resolve = AsyncMock(side_effect=dns.resolver.NoAnswer()) resolvers.append(r) with patch("mail_sovereignty.dns.get_resolvers", return_value=resolvers): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_spf("example.ch") - assert result == "" - - async def test_generic_exception_retries(self): - mock_rr = MagicMock() - mock_rr.strings = [b"v=spf1 include:example.ch -all"] - mock_answer = [mock_rr] - - mock_resolver1 = AsyncMock() - mock_resolver1.resolve = AsyncMock(side_effect=RuntimeError("boom")) - - mock_resolver2 = AsyncMock() - mock_resolver2.resolve = AsyncMock(return_value=mock_answer) - - with patch( - "mail_sovereignty.dns.get_resolvers", - return_value=[mock_resolver1, mock_resolver2], - ): - result = await lookup_spf("example.ch") - assert result == "v=spf1 include:example.ch -all" - - async def test_no_spf_returns_empty(self): - mock_rr = MagicMock() - mock_rr.strings = [b"google-site-verification=abc"] - mock_answer = [mock_rr] - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(return_value=mock_answer) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_spf("example.ch") - assert result == "" - - -class TestResolveSpfIncludes: - async def test_basic_include(self): - async def _lookup(domain): - if domain == "custom.ch": - return "v=spf1 include:spf.protection.outlook.com -all" - if domain == "spf.protection.outlook.com": - return "v=spf1 ip4:40.92.0.0/15 -all" - return "" - - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - side_effect=_lookup, - ) as mock_spf: - result = await resolve_spf_includes("v=spf1 include:custom.ch -all") - assert mock_spf.call_count == 2 - assert "spf.protection.outlook.com" in result - assert "include:custom.ch" in result - - async def test_redirect(self): - async def _lookup(domain): - if domain == "hostpoint.ch": - return "v=spf1 include:spf.protection.outlook.com -all" - if domain == "spf.protection.outlook.com": - return "v=spf1 ip4:40.92.0.0/15 -all" - return "" - - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - side_effect=_lookup, - ) as mock_spf: - result = await resolve_spf_includes("v=spf1 redirect=hostpoint.ch") - assert mock_spf.call_count == 2 - assert "spf.protection.outlook.com" in result - - async def test_loop_detection(self): - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - return_value="v=spf1 -all", - ) as mock_spf: - await resolve_spf_includes("v=spf1 include:a.ch include:a.ch -all") - # Should only look up a.ch once - mock_spf.assert_called_once_with("a.ch") - - async def test_max_lookups(self): - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - return_value="v=spf1 -all", - ) as mock_spf: - # 12 unique includes but max_lookups=3 - spf = "v=spf1 " + " ".join(f"include:d{i}.ch" for i in range(12)) + " -all" - await resolve_spf_includes(spf, max_lookups=3) - assert mock_spf.call_count == 3 - - async def test_empty_record(self): - result = await resolve_spf_includes("") - assert result == "" - - async def test_no_includes_returns_original(self): - result = await resolve_spf_includes("v=spf1 ip4:1.2.3.4 -all") - assert result == "v=spf1 ip4:1.2.3.4 -all" - - async def test_resolved_empty_skipped(self): - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - return_value="", - ): - result = await resolve_spf_includes("v=spf1 include:nonexistent.ch -all") - # Only original, no empty part appended - assert result == "v=spf1 include:nonexistent.ch -all" - - async def test_recursive_include_depth_2(self): - async def _lookup(domain): - if domain == "a.ch": - return "v=spf1 include:b.ch -all" - if domain == "b.ch": - return "v=spf1 include:spf.protection.outlook.com -all" - if domain == "spf.protection.outlook.com": - return "v=spf1 ip4:40.92.0.0/15 -all" - return "" - - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - side_effect=_lookup, - ) as mock_spf: - result = await resolve_spf_includes("v=spf1 include:a.ch -all") - assert mock_spf.call_count == 3 - assert "spf.protection.outlook.com" in result - - async def test_recursive_respects_max_lookups(self): - call_count = 0 - - async def _lookup(domain): - nonlocal call_count - call_count += 1 - # Each resolved SPF includes the next domain in chain - idx = int(domain.replace("d", "").replace(".ch", "")) - return f"v=spf1 include:d{idx + 1}.ch -all" - - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - side_effect=_lookup, - ): - spf = "v=spf1 " + " ".join(f"include:d{i}.ch" for i in range(15)) + " -all" - await resolve_spf_includes(spf, max_lookups=3) - assert call_count == 3 - - async def test_recursive_loop_detection(self): - async def _lookup(domain): - if domain == "a.ch": - return "v=spf1 include:b.ch -all" - if domain == "b.ch": - return "v=spf1 include:a.ch -all" - return "" - - with patch( - "mail_sovereignty.dns.lookup_spf", - new_callable=AsyncMock, - side_effect=_lookup, - ) as mock_spf: - result = await resolve_spf_includes("v=spf1 include:a.ch -all") - # a.ch and b.ch each looked up once, no infinite loop - assert mock_spf.call_count == 2 - assert "include:a.ch" in result - assert "include:b.ch" in result - - -class TestLookupCnameChain: - async def test_single_cname(self): - mock_rr = MagicMock() - mock_rr.target = "mail.protection.outlook.com." - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock( - side_effect=[ - [mock_rr], # first call returns CNAME - dns.resolver.NoAnswer(), # second call: no more CNAMEs - ] - ) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_cname_chain("mail.example.ch") - assert result == ["mail.protection.outlook.com"] - - async def test_no_cname(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NoAnswer()) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_cname_chain("mail.example.ch") - assert result == [] - - async def test_chain_of_two(self): - mock_rr1 = MagicMock() - mock_rr1.target = "intermediate.example.com." - mock_rr2 = MagicMock() - mock_rr2.target = "mail.protection.outlook.com." - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock( - side_effect=[ - [mock_rr1], - [mock_rr2], - dns.resolver.NoAnswer(), - ] - ) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_cname_chain("mail.example.ch") - assert result == ["intermediate.example.com", "mail.protection.outlook.com"] - - async def test_nxdomain_stops_chain(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NXDOMAIN()) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_cname_chain("mail.example.ch") - assert result == [] - - async def test_timeout_retries_next_resolver(self): - mock_rr = MagicMock() - mock_rr.target = "mail.protection.outlook.com." - - mock_resolver1 = AsyncMock() - mock_resolver1.resolve = AsyncMock(side_effect=dns.exception.Timeout()) - - mock_resolver2 = AsyncMock() - mock_resolver2.resolve = AsyncMock( - side_effect=[ - [mock_rr], - dns.resolver.NoAnswer(), - ] - ) - - with patch( - "mail_sovereignty.dns.get_resolvers", - return_value=[mock_resolver1, mock_resolver2], - ): - with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_cname_chain("mail.example.ch") - assert result == ["mail.protection.outlook.com"] - - -class TestResolveMxCnames: - async def test_returns_mapping(self): - mock_rr = MagicMock() - mock_rr.target = "mail.protection.outlook.com." - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock( - side_effect=[ - [mock_rr], - dns.resolver.NoAnswer(), - ] + with patch("mail_sovereignty.dns.logger") as mock_logger: + result = await resolve_robust("example.ch", "CNAME") + assert result is None + # NoAnswer exhaustion should be debug, not warning + mock_logger.warning.assert_not_called() + assert any( + "all resolvers exhausted" in str(call) + for call in mock_logger.debug.call_args_list ) - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await resolve_mx_cnames(["mail.example.ch"]) - assert result == {"mail.example.ch": "mail.protection.outlook.com"} - - async def test_no_cnames_returns_empty(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NoAnswer()) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await resolve_mx_cnames(["mail.example.ch"]) - assert result == {} - - async def test_mixed_hosts(self): - """One host has a CNAME, another doesn't.""" - mock_rr = MagicMock() - mock_rr.target = "mail.protection.outlook.com." - - call_count = 0 - - async def side_effect(hostname, rdtype): - nonlocal call_count - call_count += 1 - if hostname == "mail.example.ch" and call_count == 1: - return [mock_rr] - raise dns.resolver.NoAnswer() - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=side_effect) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await resolve_mx_cnames(["mail.example.ch", "mail2.example.ch"]) - assert result == {"mail.example.ch": "mail.protection.outlook.com"} - - -class TestLookupA: - async def test_success(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(return_value=["193.135.252.10"]) + async def test_warning_logged_on_retryable(self): + mock_answer = MagicMock() - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_a("mail.example.ch") - assert result == ["193.135.252.10"] - - async def test_nxdomain_returns_empty(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NXDOMAIN()) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_a("nonexistent.ch") - assert result == [] - - async def test_timeout_retries(self): mock_resolver1 = AsyncMock() mock_resolver1.resolve = AsyncMock(side_effect=dns.exception.Timeout()) mock_resolver2 = AsyncMock() - mock_resolver2.resolve = AsyncMock(return_value=["1.2.3.4"]) + mock_resolver2.resolve = AsyncMock(return_value=mock_answer) with patch( "mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver1, mock_resolver2], ): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_a("example.ch") - assert result == ["1.2.3.4"] + with patch("mail_sovereignty.dns.logger") as mock_logger: + await resolve_robust("example.ch", "TXT") + mock_logger.debug.assert_called() - async def test_all_resolvers_fail(self): + async def test_warning_logged_on_all_exhausted(self): resolvers = [] for _ in range(3): r = AsyncMock() @@ -562,231 +235,49 @@ async def test_all_resolvers_fail(self): with patch("mail_sovereignty.dns.get_resolvers", return_value=resolvers): with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_a("example.ch") - assert result == [] + with patch("mail_sovereignty.dns.logger") as mock_logger: + await resolve_robust("example.ch", "TXT") + # Should have warning calls for each retry + final exhaustion + assert mock_logger.warning.call_count >= 1 + # Last call should mention "all resolvers exhausted" + last_call_args = mock_logger.warning.call_args_list[-1] + assert "all resolvers exhausted" in last_call_args[0][0] -class TestLookupAsnCymru: +class TestLookupMx: async def test_success(self): mock_rr = MagicMock() - mock_rr.strings = [b"3303 | 193.135.252.0/24 | CH | ripencc | 2000-01-01"] + mock_rr.exchange = "mail.example.ch." mock_answer = [mock_rr] - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(return_value=mock_answer) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_asn_cymru("193.135.252.10") - assert result == 3303 - mock_resolver.resolve.assert_called_once_with( - "10.252.135.193.origin.asn.cymru.com", "TXT" - ) - - async def test_nxdomain_returns_none(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NXDOMAIN()) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_asn_cymru("192.0.2.1") - assert result is None - - async def test_timeout_retries(self): - mock_rr = MagicMock() - mock_rr.strings = [b"13030 | 77.109.128.0/19 | CH | ripencc | 2003-01-01"] - - mock_resolver1 = AsyncMock() - mock_resolver1.resolve = AsyncMock(side_effect=dns.exception.Timeout()) - - mock_resolver2 = AsyncMock() - mock_resolver2.resolve = AsyncMock(return_value=[mock_rr]) - with patch( - "mail_sovereignty.dns.get_resolvers", - return_value=[mock_resolver1, mock_resolver2], - ): - with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_asn_cymru("77.109.128.1") - assert result == 13030 - - async def test_all_resolvers_fail(self): - resolvers = [] - for _ in range(3): - r = AsyncMock() - r.resolve = AsyncMock(side_effect=dns.exception.Timeout()) - resolvers.append(r) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=resolvers): - with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_asn_cymru("1.2.3.4") - assert result is None - - -class TestResolveMxAsns: - async def test_returns_asn_set(self): - with ( - patch("mail_sovereignty.dns.lookup_a", new_callable=AsyncMock) as mock_a, - patch( - "mail_sovereignty.dns.lookup_asn_cymru", new_callable=AsyncMock - ) as mock_asn, - ): - mock_a.return_value = ["193.135.252.10"] - mock_asn.return_value = 3303 - - result = await resolve_mx_asns(["mail1.rzobt.ch"]) - assert result == {3303} - - async def test_multiple_hosts_dedup(self): - with ( - patch("mail_sovereignty.dns.lookup_a", new_callable=AsyncMock) as mock_a, - patch( - "mail_sovereignty.dns.lookup_asn_cymru", new_callable=AsyncMock - ) as mock_asn, - ): - mock_a.return_value = ["193.135.252.10"] - mock_asn.return_value = 3303 - - result = await resolve_mx_asns(["mail1.rzobt.ch", "mail2.rzobt.ch"]) - assert result == {3303} - - async def test_no_ips_returns_empty(self): - with patch("mail_sovereignty.dns.lookup_a", new_callable=AsyncMock) as mock_a: - mock_a.return_value = [] - - result = await resolve_mx_asns(["mail.example.ch"]) - assert result == set() - - async def test_asn_lookup_failure_skipped(self): - with ( - patch("mail_sovereignty.dns.lookup_a", new_callable=AsyncMock) as mock_a, - patch( - "mail_sovereignty.dns.lookup_asn_cymru", new_callable=AsyncMock - ) as mock_asn, + "mail_sovereignty.dns.resolve_robust", + new_callable=AsyncMock, + return_value=mock_answer, ): - mock_a.return_value = ["1.2.3.4"] - mock_asn.return_value = None - - result = await resolve_mx_asns(["mail.example.ch"]) - assert result == set() - - -class TestLookupSrv: - async def test_success(self): - mock_rr = MagicMock() - mock_rr.target = "autodiscover.outlook.com." - mock_rr.port = 443 - mock_answer = [mock_rr] - - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(return_value=mock_answer) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_srv("_autodiscover._tcp.example.ch") - assert result == [("autodiscover.outlook.com", 443)] - - async def test_nxdomain_returns_empty(self): - mock_resolver = AsyncMock() - mock_resolver.resolve = AsyncMock(side_effect=dns.resolver.NXDOMAIN()) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=[mock_resolver]): - result = await lookup_srv("_autodiscover._tcp.nonexistent.ch") - assert result == [] - - async def test_timeout_retries(self): - mock_rr = MagicMock() - mock_rr.target = "autodiscover.outlook.com." - mock_rr.port = 443 - - mock_resolver1 = AsyncMock() - mock_resolver1.resolve = AsyncMock(side_effect=dns.exception.Timeout()) - - mock_resolver2 = AsyncMock() - mock_resolver2.resolve = AsyncMock(return_value=[mock_rr]) + result = await lookup_mx("example.ch") + assert result == ["mail.example.ch"] + async def test_none_returns_empty(self): with patch( - "mail_sovereignty.dns.get_resolvers", - return_value=[mock_resolver1, mock_resolver2], + "mail_sovereignty.dns.resolve_robust", + new_callable=AsyncMock, + return_value=None, ): - with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_srv("_autodiscover._tcp.example.ch") - assert result == [("autodiscover.outlook.com", 443)] - - async def test_all_resolvers_fail(self): - resolvers = [] - for _ in range(3): - r = AsyncMock() - r.resolve = AsyncMock(side_effect=dns.exception.Timeout()) - resolvers.append(r) - - with patch("mail_sovereignty.dns.get_resolvers", return_value=resolvers): - with patch("asyncio.sleep", new_callable=AsyncMock): - result = await lookup_srv("_autodiscover._tcp.example.ch") + result = await lookup_mx("nonexistent.ch") assert result == [] + async def test_sorted_output(self): + mock_rr1 = MagicMock() + mock_rr1.exchange = "z-mail.example.ch." + mock_rr2 = MagicMock() + mock_rr2.exchange = "a-mail.example.ch." + mock_answer = [mock_rr1, mock_rr2] -class TestLookupAutodiscover: - async def test_cname_found(self): - with ( - patch( - "mail_sovereignty.dns.lookup_cname_chain", - new_callable=AsyncMock, - return_value=["autodiscover.outlook.com"], - ), - patch( - "mail_sovereignty.dns.lookup_srv", - new_callable=AsyncMock, - return_value=[], - ), - ): - result = await lookup_autodiscover("frutigen.ch") - assert result == {"autodiscover_cname": "autodiscover.outlook.com"} - - async def test_srv_found(self): - with ( - patch( - "mail_sovereignty.dns.lookup_cname_chain", - new_callable=AsyncMock, - return_value=[], - ), - patch( - "mail_sovereignty.dns.lookup_srv", - new_callable=AsyncMock, - return_value=[("autodiscover.outlook.com", 443)], - ), - ): - result = await lookup_autodiscover("example.ch") - assert result == {"autodiscover_srv": "autodiscover.outlook.com"} - - async def test_both_found(self): - with ( - patch( - "mail_sovereignty.dns.lookup_cname_chain", - new_callable=AsyncMock, - return_value=["autodiscover.outlook.com"], - ), - patch( - "mail_sovereignty.dns.lookup_srv", - new_callable=AsyncMock, - return_value=[("autodiscover.outlook.com", 443)], - ), - ): - result = await lookup_autodiscover("example.ch") - assert result == { - "autodiscover_cname": "autodiscover.outlook.com", - "autodiscover_srv": "autodiscover.outlook.com", - } - - async def test_nothing_found(self): - with ( - patch( - "mail_sovereignty.dns.lookup_cname_chain", - new_callable=AsyncMock, - return_value=[], - ), - patch( - "mail_sovereignty.dns.lookup_srv", - new_callable=AsyncMock, - return_value=[], - ), + with patch( + "mail_sovereignty.dns.resolve_robust", + new_callable=AsyncMock, + return_value=mock_answer, ): - result = await lookup_autodiscover("example.ch") - assert result == {} + result = await lookup_mx("example.ch") + assert result == ["a-mail.example.ch", "z-mail.example.ch"] diff --git a/tests/test_models.py b/tests/test_models.py new file mode 100644 index 0000000..44bf883 --- /dev/null +++ b/tests/test_models.py @@ -0,0 +1,181 @@ +"""Tests for models: enums, Pydantic models, validation.""" + +import pytest +from pydantic import ValidationError + +from mail_sovereignty.models import ( + ClassificationResult, + Evidence, + Provider, + SignalKind, +) + + +class TestProvider: + def test_values(self): + assert Provider.MS365 == "ms365" + assert Provider.GOOGLE == "google" + assert Provider.AWS == "aws" + assert Provider.INFOMANIAK == "infomaniak" + assert Provider.SWISS_ISP == "swiss-isp" + assert Provider.INDEPENDENT == "independent" + + def test_str_serialization(self): + assert str(Provider.MS365) == "Provider.MS365" + assert Provider.MS365.value == "ms365" + + def test_all_members(self): + assert set(Provider) == { + Provider.MS365, + Provider.GOOGLE, + Provider.AWS, + Provider.INFOMANIAK, + Provider.SWISS_ISP, + Provider.INDEPENDENT, + } + + +class TestSignalKind: + def test_values(self): + assert SignalKind.MX == "mx" + assert SignalKind.SPF == "spf" + assert SignalKind.DKIM == "dkim" + assert SignalKind.DMARC == "dmarc" + assert SignalKind.AUTODISCOVER == "autodiscover" + assert SignalKind.CNAME_CHAIN == "cname_chain" + assert SignalKind.SMTP == "smtp" + assert SignalKind.TENANT == "tenant" + assert SignalKind.ASN == "asn" + assert SignalKind.TXT_VERIFICATION == "txt_verification" + assert SignalKind.SPF_IP == "spf_ip" + + def test_all_members(self): + assert len(SignalKind) == 11 + + +class TestEvidence: + def test_construction(self): + e = Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=0.30, + detail="test detail", + raw="test.outlook.com", + ) + assert e.kind == SignalKind.MX + assert e.provider == Provider.MS365 + assert e.weight == 0.30 + assert e.detail == "test detail" + assert e.raw == "test.outlook.com" + + def test_default_raw(self): + e = Evidence( + kind=SignalKind.SPF, provider=Provider.GOOGLE, weight=0.25, detail="test" + ) + assert e.raw == "" + + def test_immutability(self): + e = Evidence( + kind=SignalKind.MX, provider=Provider.MS365, weight=0.30, detail="test" + ) + with pytest.raises(ValidationError): + e.weight = 0.5 + + def test_weight_too_high(self): + with pytest.raises(ValidationError): + Evidence( + kind=SignalKind.MX, provider=Provider.MS365, weight=1.5, detail="test" + ) + + def test_weight_too_low(self): + with pytest.raises(ValidationError): + Evidence( + kind=SignalKind.MX, provider=Provider.MS365, weight=-0.1, detail="test" + ) + + def test_json_roundtrip(self): + e = Evidence( + kind=SignalKind.MX, provider=Provider.MS365, weight=0.30, detail="test" + ) + data = e.model_dump() + assert data["kind"] == "mx" + assert data["provider"] == "ms365" + e2 = Evidence.model_validate(data) + assert e == e2 + + def test_new_signal_kinds(self): + for kind in ( + SignalKind.SMTP, + SignalKind.TENANT, + SignalKind.ASN, + SignalKind.TXT_VERIFICATION, + SignalKind.SPF_IP, + ): + e = Evidence(kind=kind, provider=Provider.MS365, weight=0.10, detail="test") + assert e.kind == kind + + +class TestClassificationResult: + def test_construction(self): + r = ClassificationResult( + provider=Provider.INDEPENDENT, confidence=0.0, evidence=[] + ) + assert r.provider == Provider.INDEPENDENT + assert r.confidence == 0.0 + assert r.evidence == [] + assert r.gateway is None + + def test_gateway_field(self): + r = ClassificationResult( + provider=Provider.MS365, confidence=0.5, evidence=[], gateway="seppmail" + ) + assert r.gateway == "seppmail" + + def test_gateway_default_none(self): + r = ClassificationResult(provider=Provider.MS365, confidence=0.5, evidence=[]) + assert r.gateway is None + + def test_immutability(self): + r = ClassificationResult(provider=Provider.MS365, confidence=0.5, evidence=[]) + with pytest.raises(ValidationError): + r.confidence = 0.9 + + def test_confidence_bounds(self): + with pytest.raises(ValidationError): + ClassificationResult(provider=Provider.MS365, confidence=1.5, evidence=[]) + with pytest.raises(ValidationError): + ClassificationResult(provider=Provider.MS365, confidence=-0.1, evidence=[]) + + def test_with_evidence(self): + e = Evidence( + kind=SignalKind.MX, provider=Provider.MS365, weight=0.30, detail="test" + ) + r = ClassificationResult(provider=Provider.MS365, confidence=0.30, evidence=[e]) + assert len(r.evidence) == 1 + assert r.evidence[0].kind == SignalKind.MX + + def test_mx_hosts_field(self): + r = ClassificationResult( + provider=Provider.MS365, + confidence=0.5, + evidence=[], + mx_hosts=["mx1.example.com", "mx2.example.com"], + ) + assert r.mx_hosts == ["mx1.example.com", "mx2.example.com"] + + def test_mx_hosts_default_empty(self): + r = ClassificationResult(provider=Provider.MS365, confidence=0.5, evidence=[]) + assert r.mx_hosts == [] + + def test_spf_raw_field(self): + r = ClassificationResult( + provider=Provider.MS365, + confidence=0.5, + evidence=[], + spf_raw="v=spf1 include:spf.protection.outlook.com ~all", + ) + assert r.spf_raw == "v=spf1 include:spf.protection.outlook.com ~all" + + def test_spf_raw_default_empty(self): + r = ClassificationResult(provider=Provider.MS365, confidence=0.5, evidence=[]) + assert r.spf_raw == "" diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py new file mode 100644 index 0000000..2b06e41 --- /dev/null +++ b/tests/test_pipeline.py @@ -0,0 +1,404 @@ +"""Tests for the classification pipeline.""" + +import json +from unittest.mock import patch + +import pytest + +from mail_sovereignty.pipeline import ( + PROVIDER_OUTPUT_NAMES, + _minify_for_frontend, + _output_provider, + _serialize_result, + run, +) +from mail_sovereignty.models import ClassificationResult, Evidence, Provider, SignalKind +from mail_sovereignty.probes import WEIGHTS + + +class TestProviderOutputNames: + def test_ms365_mapped(self): + assert PROVIDER_OUTPUT_NAMES["ms365"] == "microsoft" + + def test_output_provider_ms365(self): + assert _output_provider(Provider.MS365) == "microsoft" + + def test_output_provider_google(self): + assert _output_provider(Provider.GOOGLE) == "google" + + def test_output_provider_independent(self): + assert _output_provider(Provider.INDEPENDENT) == "independent" + + +class TestSerializeResult: + def test_basic_serialization(self): + result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="example.mail.protection.outlook.com", + ), + Evidence( + kind=SignalKind.SPF, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.SPF], + detail="SPF match", + raw="v=spf1 include:spf.protection.outlook.com -all", + ), + ], + mx_hosts=["example.mail.protection.outlook.com"], + spf_raw="v=spf1 include:spf.protection.outlook.com -all", + ) + entry = {"bfs": "351", "name": "Bern", "canton": "Bern", "domain": "bern.ch"} + out = _serialize_result(entry, result) + + assert out["bfs"] == "351" + assert out["provider"] == "microsoft" + assert out["category"] == "us-cloud" + assert out["classification_confidence"] == 40.0 + assert out["mx"] == ["example.mail.protection.outlook.com"] + assert out["spf"] == "v=spf1 include:spf.protection.outlook.com -all" + assert len(out["classification_signals"]) == 2 + assert out["classification_signals"][0]["kind"] == "mx" + assert out["classification_signals"][0]["provider"] == "microsoft" + + def test_gateway_included(self): + result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[], + gateway="seppmail", + mx_hosts=[], + ) + entry = {"bfs": "1", "name": "Test", "domain": "test.ch"} + out = _serialize_result(entry, result) + assert out["gateway"] == "seppmail" + + def test_no_gateway_omitted(self): + result = ClassificationResult( + provider=Provider.INDEPENDENT, + confidence=0.0, + evidence=[], + mx_hosts=[], + ) + entry = {"bfs": "1", "name": "Test", "domain": "test.ch"} + out = _serialize_result(entry, result) + assert "gateway" not in out + + def test_resolve_fields_passthrough(self): + result = ClassificationResult( + provider=Provider.INDEPENDENT, + confidence=0.0, + evidence=[], + mx_hosts=[], + ) + entry = { + "bfs": "1", + "name": "Test", + "domain": "test.ch", + "sources_detail": {"scrape": ["test.ch"]}, + "flags": ["bfs_only"], + } + out = _serialize_result(entry, result) + assert out["sources_detail"] == {"scrape": ["test.ch"]} + assert out["resolve_flags"] == ["bfs_only"] + + +class TestPipelineRun: + @pytest.fixture + def domains_json(self, tmp_path): + data = { + "municipalities": { + "351": { + "bfs": "351", + "name": "Bern", + "canton": "Bern", + "domain": "bern.ch", + }, + "9999": { + "bfs": "9999", + "name": "Testingen", + "canton": "Testland", + "domain": "", + }, + } + } + path = tmp_path / "municipality_domains.json" + path.write_text(json.dumps(data), encoding="utf-8") + return path + + async def test_run_writes_output(self, domains_json, tmp_path): + ms_result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="bern-ch.mail.protection.outlook.com", + ), + ], + mx_hosts=["bern-ch.mail.protection.outlook.com"], + ) + + async def fake_classify_many(domains, max_concurrency=20): + for d in domains: + yield d, ms_result + + output_path = tmp_path / "data.json" + with patch( + "mail_sovereignty.pipeline.classify_many", side_effect=fake_classify_many + ): + await run(domains_json, output_path) + + assert output_path.exists() + data = json.loads(output_path.read_text()) + assert data["total"] == 2 + assert "351" in data["municipalities"] + assert "9999" in data["municipalities"] + assert data["municipalities"]["351"]["provider"] == "microsoft" + assert data["municipalities"]["351"]["category"] == "us-cloud" + assert data["municipalities"]["9999"]["provider"] == "unknown" + assert data["municipalities"]["9999"]["category"] == "unknown" + assert data["municipalities"]["9999"]["classification_confidence"] == 0.0 + + async def test_run_no_domain_entry(self, domains_json, tmp_path): + ms_result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[], + mx_hosts=[], + ) + + async def fake_classify_many(domains, max_concurrency=20): + for d in domains: + yield d, ms_result + + output_path = tmp_path / "data.json" + with patch( + "mail_sovereignty.pipeline.classify_many", side_effect=fake_classify_many + ): + await run(domains_json, output_path) + + data = json.loads(output_path.read_text()) + no_domain = data["municipalities"]["9999"] + assert no_domain["domain"] == "" + assert no_domain["mx"] == [] + + async def test_run_passthrough_fields(self, tmp_path): + data = { + "municipalities": { + "100": { + "bfs": "100", + "name": "Town", + "canton": "ZH", + "domain": "town.ch", + "sources_detail": {"scrape": ["town.ch"]}, + "flags": ["bfs_only"], + }, + } + } + path = tmp_path / "domains.json" + path.write_text(json.dumps(data), encoding="utf-8") + + result = ClassificationResult( + provider=Provider.GOOGLE, + confidence=0.4, + evidence=[], + mx_hosts=["mx.google.com"], + ) + + async def fake_classify_many(domains, max_concurrency=20): + for d in domains: + yield d, result + + output_path = tmp_path / "data.json" + with patch( + "mail_sovereignty.pipeline.classify_many", side_effect=fake_classify_many + ): + await run(path, output_path) + + out = json.loads(output_path.read_text()) + entry = out["municipalities"]["100"] + assert entry["sources_detail"] == {"scrape": ["town.ch"]} + assert entry["resolve_flags"] == ["bfs_only"] + + async def test_run_counts_in_output(self, domains_json, tmp_path): + result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[], + mx_hosts=[], + ) + + async def fake_classify_many(domains, max_concurrency=20): + for d in domains: + yield d, result + + output_path = tmp_path / "data.json" + with patch( + "mail_sovereignty.pipeline.classify_many", side_effect=fake_classify_many + ): + await run(domains_json, output_path) + + data = json.loads(output_path.read_text()) + assert "counts" in data + assert data["counts"]["microsoft"] == 1 + assert data["counts"]["unknown"] == 1 + + async def test_run_writes_minified_output(self, domains_json, tmp_path): + ms_result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[ + Evidence( + kind=SignalKind.MX, + provider=Provider.MS365, + weight=WEIGHTS[SignalKind.MX], + detail="MX match", + raw="bern-ch.mail.protection.outlook.com", + ), + ], + mx_hosts=["bern-ch.mail.protection.outlook.com"], + ) + + async def fake_classify_many(domains, max_concurrency=20): + for d in domains: + yield d, ms_result + + output_path = tmp_path / "data.json" + with patch( + "mail_sovereignty.pipeline.classify_many", side_effect=fake_classify_many + ): + await run(domains_json, output_path) + + mini_path = tmp_path / "data.min.json" + assert mini_path.exists() + + raw = mini_path.read_text(encoding="utf-8") + # Compact: no newlines + assert "\n" not in raw + + mini = json.loads(raw) + assert "generated" in mini + assert "municipalities" in mini + # Top-level fields stripped + assert "total" not in mini + assert "counts" not in mini + + +class TestMinifyForFrontend: + def _make_full_output(self): + return { + "generated": "2026-01-01T00:00:00Z", + "total": 1, + "counts": {"microsoft": 1}, + "municipalities": { + "351": { + "bfs": "351", + "name": "Bern", + "canton": "Bern", + "domain": "bern.ch", + "mx": ["bern-ch.mail.protection.outlook.com"], + "spf": "v=spf1 include:spf.protection.outlook.com -all", + "provider": "microsoft", + "category": "us-cloud", + "classification_confidence": 40.0, + "classification_signals": [ + { + "kind": "mx", + "provider": "microsoft", + "weight": 0.4, + "detail": "MX match", + }, + ], + "gateway": "seppmail", + "sources_detail": {"scrape": ["bern.ch"]}, + "resolve_flags": ["bfs_only"], + } + }, + } + + def test_minify_strips_unused_fields(self): + full = self._make_full_output() + mini = _minify_for_frontend(full) + + entry = mini["municipalities"]["351"] + assert "bfs" not in entry + assert "sources_detail" not in entry + assert "resolve_flags" not in entry + + # Signal entries lack provider/weight + sig = entry["classification_signals"][0] + assert "provider" not in sig + assert "weight" not in sig + + # Top-level + assert "total" not in mini + assert "counts" not in mini + + def test_minify_preserves_frontend_fields(self): + full = self._make_full_output() + mini = _minify_for_frontend(full) + + assert mini["generated"] == "2026-01-01T00:00:00Z" + entry = mini["municipalities"]["351"] + assert entry["name"] == "Bern" + assert entry["domain"] == "bern.ch" + assert entry["mx"] == ["bern-ch.mail.protection.outlook.com"] + assert entry["spf"] == "v=spf1 include:spf.protection.outlook.com -all" + assert entry["provider"] == "microsoft" + assert entry["category"] == "us-cloud" + assert entry["classification_confidence"] == 40.0 + assert entry["gateway"] == "seppmail" + + sig = entry["classification_signals"][0] + assert sig["kind"] == "mx" + assert sig["detail"] == "MX match" + + +class TestPipelineLogging: + @pytest.fixture + def domains_json(self, tmp_path): + data = { + "municipalities": { + "351": { + "bfs": "351", + "name": "Bern", + "canton": "Bern", + "domain": "bern.ch", + }, + } + } + path = tmp_path / "municipality_domains.json" + path.write_text(json.dumps(data), encoding="utf-8") + return path + + async def test_logs_progress_messages(self, domains_json, tmp_path, caplog): + ms_result = ClassificationResult( + provider=Provider.MS365, + confidence=0.4, + evidence=[], + mx_hosts=[], + ) + + async def fake_classify_many(domains, max_concurrency=20): + for d in domains: + yield d, ms_result + + output_path = tmp_path / "data.json" + with patch( + "mail_sovereignty.pipeline.classify_many", + side_effect=fake_classify_many, + ): + await run(domains_json, output_path) + + assert any("Classifying" in msg for msg in caplog.messages) + assert any("Wrote" in msg for msg in caplog.messages) diff --git a/tests/test_postprocess.py b/tests/test_postprocess.py deleted file mode 100644 index bec70bc..0000000 --- a/tests/test_postprocess.py +++ /dev/null @@ -1,481 +0,0 @@ -import asyncio -import json -from unittest.mock import AsyncMock, patch - -from mail_sovereignty.postprocess import ( - MANUAL_OVERRIDES, - build_urls, - decrypt_typo3, - extract_email_domains, - process_unknown, - run, - scrape_email_domains, -) - - -# ── decrypt_typo3() ────────────────────────────────────────────────── - - -class TestDecryptTypo3: - def test_known_encrypted(self): - # Each char reversed through +2 offset on TYPO3 ranges: - # k->m, y->a, g->i, j->l, r->t, m->o, 8->:, y->a, Y->@, z->b, ,->., a->c, f->h - encrypted = "kygjrm8yYz,af" - decrypted = decrypt_typo3(encrypted) - assert decrypted == "mailto:a@b.ch" - - def test_empty_string(self): - assert decrypt_typo3("") == "" - - def test_non_range_passthrough(self): - assert decrypt_typo3(" ") == " " - - def test_custom_offset(self): - result = decrypt_typo3("a", offset=1) - assert result == "b" - - def test_wrap_around(self): - # 'z' is 0x7A (end of range), offset 2 wraps to 0x61 + 1 = 'b' - result = decrypt_typo3("z", offset=2) - assert result == "b" - - -# ── extract_email_domains() ────────────────────────────────────────── - - -class TestExtractEmailDomains: - def test_plain_email(self): - html = "Contact us at info@gemeinde.ch for more info." - assert "gemeinde.ch" in extract_email_domains(html) - - def test_mailto_link(self): - html = 'Email' - assert "town.ch" in extract_email_domains(html) - - def test_typo3_obfuscated(self): - html = """linkTo_UnCryptMailto('kygjrm8yYz,af')""" - domains = extract_email_domains(html) - assert "b.ch" in domains - - def test_skip_domains_filtered(self): - html = "admin@example.com test@sentry.io" - domains = extract_email_domains(html) - assert "example.com" not in domains - assert "sentry.io" not in domains - - def test_multiple_sources_combined(self): - html = 'info@town.ch x' - domains = extract_email_domains(html) - assert "town.ch" in domains - assert "city.ch" in domains - - def test_no_emails(self): - html = "No contact here" - assert extract_email_domains(html) == set() - - -# ── build_urls() ───────────────────────────────────────────────────── - - -class TestBuildUrls: - def test_bare_domain(self): - urls = build_urls("example.ch") - assert "https://www.example.ch/" in urls - assert "https://example.ch/" in urls - assert any("/kontakt" in u for u in urls) - - def test_www_prefix(self): - urls = build_urls("www.example.ch") - assert "https://www.example.ch/" in urls - assert "https://example.ch/" in urls - - def test_https_prefix_stripped(self): - urls = build_urls("https://example.ch") - assert "https://www.example.ch/" in urls - - def test_includes_contact_paths(self): - urls = build_urls("example.ch") - assert any("/contact" in u for u in urls) - assert any("/kontakt" in u for u in urls) - - -# ── MANUAL_OVERRIDES ───────────────────────────────────────────────── - - -class TestManualOverrides: - def test_all_entries_have_required_keys(self): - for bfs, entry in MANUAL_OVERRIDES.items(): - assert "domain" in entry, f"BFS {bfs} missing 'domain'" - assert "provider" in entry, f"BFS {bfs} missing 'provider'" - - def test_valid_providers(self): - valid = {"independent", "infomaniak", "microsoft", "swiss-isp"} - for bfs, entry in MANUAL_OVERRIDES.items(): - assert entry["provider"] in valid, ( - f"BFS {bfs}: unexpected provider {entry['provider']}" - ) - - -# ── Async functions ────────────────────────────────────────────────── - - -class TestScrapeEmailDomains: - async def test_empty_domain(self): - result = await scrape_email_domains(None, "") - assert result == set() - - async def test_with_emails_found(self): - class FakeResponse: - status_code = 200 - text = "Contact us at info@gemeinde.ch" - - client = AsyncMock() - client.get = AsyncMock(return_value=FakeResponse()) - - result = await scrape_email_domains(client, "gemeinde.ch") - assert "gemeinde.ch" in result - - -class TestProcessUnknown: - async def test_no_domain_returns_unchanged(self): - m = {"bfs": "999", "name": "Test", "domain": "", "provider": "unknown"} - sem = asyncio.Semaphore(10) - client = AsyncMock() - - result = await process_unknown(client, sem, m) - assert result["provider"] == "unknown" - - async def test_resolves_via_email_scraping(self): - m = {"bfs": "999", "name": "Test", "domain": "test.ch", "provider": "unknown"} - sem = asyncio.Semaphore(10) - - class FakeResponse: - status_code = 200 - text = "Contact us at info@test.ch" - - client = AsyncMock() - client.get = AsyncMock(return_value=FakeResponse()) - - with ( - patch( - "mail_sovereignty.postprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["mail.test.ch"], - ), - patch( - "mail_sovereignty.postprocess.lookup_spf", - new_callable=AsyncMock, - return_value="", - ), - patch( - "mail_sovereignty.postprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - result = await process_unknown(client, sem, m) - - assert result["provider"] == "independent" - - async def test_no_email_domains_found(self): - m = {"bfs": "999", "name": "Test", "domain": "test.ch", "provider": "unknown"} - sem = asyncio.Semaphore(10) - - class FakeResponse: - status_code = 200 - text = "No emails here" - - client = AsyncMock() - client.get = AsyncMock(return_value=FakeResponse()) - - result = await process_unknown(client, sem, m) - assert result["provider"] == "unknown" - - -class TestScrapeEmailDomainsNoEmails: - async def test_non_200_skipped(self): - class FakeResponse: - status_code = 404 - text = "" - - client = AsyncMock() - client.get = AsyncMock(return_value=FakeResponse()) - - result = await scrape_email_domains(client, "test.ch") - assert result == set() - - async def test_exception_handled(self): - client = AsyncMock() - client.get = AsyncMock(side_effect=Exception("connection error")) - - result = await scrape_email_domains(client, "test.ch") - assert result == set() - - -class TestDnsRetryStep: - async def test_recovers_unknown_with_domain(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"unknown": 1}, - "municipalities": { - "1234": { - "bfs": "1234", - "name": "Gampelen", - "canton": "Bern", - "domain": "gampelen.ch", - "mx": [], - "spf": "", - "provider": "unknown", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - with ( - patch( - "mail_sovereignty.postprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["gampelen-ch.mail.protection.outlook.com"], - ), - patch( - "mail_sovereignty.postprocess.lookup_spf", - new_callable=AsyncMock, - return_value="v=spf1 include:spf.protection.outlook.com -all", - ), - patch( - "mail_sovereignty.postprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - await run(path) - - result = json.loads(path.read_text()) - assert result["municipalities"]["1234"]["provider"] == "microsoft" - - async def test_skips_unknown_without_domain(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"unknown": 1}, - "municipalities": { - "9999": { - "bfs": "9999", - "name": "NoDomain", - "canton": "Test", - "domain": "", - "mx": [], - "spf": "", - "provider": "unknown", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - await run(path) - - result = json.loads(path.read_text()) - assert result["municipalities"]["9999"]["provider"] == "unknown" - - -class TestSmtpBannerStep: - async def test_reclassifies_independent_via_smtp(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"independent": 1}, - "municipalities": { - "1000": { - "bfs": "1000", - "name": "SmtpTown", - "canton": "Test", - "domain": "smtptown.ch", - "mx": ["mail.smtptown.ch"], - "spf": "", - "provider": "independent", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - with patch( - "mail_sovereignty.postprocess.fetch_smtp_banner", - new_callable=AsyncMock, - return_value={ - "banner": "220 mail.protection.outlook.com Microsoft ESMTP MAIL Service ready", - "ehlo": "250 ready", - }, - ): - await run(path) - - result = json.loads(path.read_text()) - assert result["municipalities"]["1000"]["provider"] == "microsoft" - assert "smtp_banner" in result["municipalities"]["1000"] - - async def test_leaves_independent_when_banner_is_postfix(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"independent": 1}, - "municipalities": { - "1001": { - "bfs": "1001", - "name": "PostfixTown", - "canton": "Test", - "domain": "postfixtown.ch", - "mx": ["mail.postfixtown.ch"], - "spf": "", - "provider": "independent", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - with patch( - "mail_sovereignty.postprocess.fetch_smtp_banner", - new_callable=AsyncMock, - return_value={ - "banner": "220 mail.postfixtown.ch ESMTP Postfix", - "ehlo": "250 mail.postfixtown.ch", - }, - ): - await run(path) - - result = json.loads(path.read_text()) - assert result["municipalities"]["1001"]["provider"] == "independent" - assert "smtp_banner" in result["municipalities"]["1001"] - - async def test_skips_already_classified(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"microsoft": 1}, - "municipalities": { - "1002": { - "bfs": "1002", - "name": "AlreadyKnown", - "canton": "Test", - "domain": "known.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "provider": "microsoft", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - with patch( - "mail_sovereignty.postprocess.fetch_smtp_banner", - new_callable=AsyncMock, - ) as mock_fetch: - await run(path) - mock_fetch.assert_not_called() - - async def test_deduplicates_mx_hosts(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 2, - "counts": {"independent": 2}, - "municipalities": { - "2000": { - "bfs": "2000", - "name": "Town1", - "canton": "Test", - "domain": "town1.ch", - "mx": ["shared-mx.example.ch"], - "spf": "", - "provider": "independent", - }, - "2001": { - "bfs": "2001", - "name": "Town2", - "canton": "Test", - "domain": "town2.ch", - "mx": ["shared-mx.example.ch"], - "spf": "", - "provider": "independent", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - with patch( - "mail_sovereignty.postprocess.fetch_smtp_banner", - new_callable=AsyncMock, - return_value={ - "banner": "220 mail.protection.outlook.com Microsoft ESMTP MAIL Service", - "ehlo": "250 ready", - }, - ) as mock_fetch: - await run(path) - # Should only be called once for the shared MX host - assert mock_fetch.call_count == 1 - - result = json.loads(path.read_text()) - assert result["municipalities"]["2000"]["provider"] == "microsoft" - assert result["municipalities"]["2001"]["provider"] == "microsoft" - - async def test_empty_banner_no_change(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"independent": 1}, - "municipalities": { - "3000": { - "bfs": "3000", - "name": "NoConnect", - "canton": "Test", - "domain": "noconnect.ch", - "mx": ["mail.noconnect.ch"], - "spf": "", - "provider": "independent", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - with patch( - "mail_sovereignty.postprocess.fetch_smtp_banner", - new_callable=AsyncMock, - return_value={"banner": "", "ehlo": ""}, - ): - await run(path) - - result = json.loads(path.read_text()) - assert result["municipalities"]["3000"]["provider"] == "independent" - assert "smtp_banner" not in result["municipalities"]["3000"] - - -class TestPostprocessRun: - async def test_applies_manual_overrides(self, tmp_path): - data = { - "generated": "2025-01-01", - "total": 1, - "counts": {"unknown": 1}, - "municipalities": { - "6404": { - "bfs": "6404", - "name": "Boudry", - "canton": "Neuchatel", - "domain": "", - "mx": [], - "spf": "", - "provider": "unknown", - }, - }, - } - path = tmp_path / "data.json" - path.write_text(json.dumps(data)) - - await run(path) - - result = json.loads(path.read_text()) - assert result["municipalities"]["6404"]["provider"] == "swiss-isp" diff --git a/tests/test_preprocess.py b/tests/test_preprocess.py deleted file mode 100644 index ddc0835..0000000 --- a/tests/test_preprocess.py +++ /dev/null @@ -1,391 +0,0 @@ -import json -from unittest.mock import AsyncMock, patch - -import httpx -import respx - -from mail_sovereignty.preprocess import ( - fetch_wikidata, - guess_domains, - run, - scan_municipality, - url_to_domain, -) - - -# ── url_to_domain() ───────────────────────────────────────────────── - - -class TestUrlToDomain: - def test_full_url_with_path(self): - assert url_to_domain("https://www.bern.ch/some/path") == "bern.ch" - - def test_no_scheme(self): - assert url_to_domain("bern.ch") == "bern.ch" - - def test_strips_www(self): - assert url_to_domain("https://www.example.ch") == "example.ch" - - def test_empty_string(self): - assert url_to_domain("") is None - - def test_none(self): - assert url_to_domain(None) is None - - def test_bare_domain(self): - assert url_to_domain("example.ch") == "example.ch" - - def test_http_scheme(self): - assert url_to_domain("http://example.ch/page") == "example.ch" - - -# ── guess_domains() ───────────────────────────────────────────────── - - -class TestGuessDomains: - def test_simple_name(self): - domains = guess_domains("Bern") - assert "bern.ch" in domains - assert "gemeinde-bern.ch" in domains - - def test_umlaut(self): - domains = guess_domains("Zürich") - assert "zuerich.ch" in domains - - def test_french_accent(self): - domains = guess_domains("Genève") - assert "geneve.ch" in domains - - def test_parenthetical_stripped(self): - domains = guess_domains("Rüti (BE)") - assert any("rueti" in d for d in domains) - assert not any("BE" in d for d in domains) - - def test_commune_prefix(self): - domains = guess_domains("Bern") - assert "commune-de-bern.ch" in domains - - def test_apostrophe_removed(self): - domains = guess_domains("L'Abbaye") - assert any("abbaye" in d for d in domains) - - -# ── fetch_wikidata() ───────────────────────────────────────────────── - - -class TestFetchWikidata: - @respx.mock - async def test_success(self): - respx.post("https://query.wikidata.org/sparql").mock( - return_value=httpx.Response( - 200, - json={ - "results": { - "bindings": [ - { - "bfs": {"value": "351"}, - "itemLabel": {"value": "Bern"}, - "website": {"value": "https://www.bern.ch"}, - "cantonLabel": {"value": "Bern"}, - }, - ] - } - }, - ) - ) - - result = await fetch_wikidata() - assert "351" in result - assert result["351"]["name"] == "Bern" - - @respx.mock - async def test_deduplication(self): - respx.post("https://query.wikidata.org/sparql").mock( - return_value=httpx.Response( - 200, - json={ - "results": { - "bindings": [ - { - "bfs": {"value": "351"}, - "itemLabel": {"value": "Bern"}, - "website": {"value": "https://www.bern.ch"}, - "cantonLabel": {"value": "Bern"}, - }, - { - "bfs": {"value": "351"}, - "itemLabel": {"value": "Bern"}, - "website": {"value": "https://www.bern.ch/alt"}, - "cantonLabel": {"value": "Bern"}, - }, - ] - } - }, - ) - ) - - result = await fetch_wikidata() - assert len(result) == 1 - - -# ── scan_municipality() ────────────────────────────────────────────── - - -class TestScanMunicipality: - async def test_website_domain_mx_found(self): - m = { - "bfs": "351", - "name": "Bern", - "canton": "Bern", - "website": "https://www.bern.ch", - } - sem = __import__("asyncio").Semaphore(10) - - with ( - patch( - "mail_sovereignty.preprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["mail.protection.outlook.com"], - ), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value="v=spf1 include:spf.protection.outlook.com -all", - ), - patch( - "mail_sovereignty.preprocess.resolve_spf_includes", - new_callable=AsyncMock, - return_value="v=spf1 include:spf.protection.outlook.com -all", - ), - patch( - "mail_sovereignty.preprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - result = await scan_municipality(m, sem) - - assert result["provider"] == "microsoft" - assert result["domain"] == "bern.ch" - - async def test_no_website_guesses_domain(self): - m = {"bfs": "999", "name": "Bern", "canton": "Bern", "website": ""} - sem = __import__("asyncio").Semaphore(10) - - async def fake_lookup_mx(domain): - if domain == "bern.ch": - return ["mail.bern.ch"] - return [] - - with ( - patch("mail_sovereignty.preprocess.lookup_mx", side_effect=fake_lookup_mx), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value="", - ), - patch( - "mail_sovereignty.preprocess.resolve_spf_includes", - new_callable=AsyncMock, - return_value="", - ), - patch( - "mail_sovereignty.preprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - result = await scan_municipality(m, sem) - - assert result["provider"] == "independent" - assert result["domain"] == "bern.ch" - - async def test_no_mx_unknown(self): - m = {"bfs": "999", "name": "Zzz", "canton": "Test", "website": ""} - sem = __import__("asyncio").Semaphore(10) - - with ( - patch( - "mail_sovereignty.preprocess.lookup_mx", - new_callable=AsyncMock, - return_value=[], - ), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value="", - ), - ): - result = await scan_municipality(m, sem) - - assert result["provider"] == "unknown" - - async def test_gateway_detected_and_stored(self): - m = { - "bfs": "228", - "name": "Turbenthal", - "canton": "Zürich", - "website": "https://www.turbenthal.ch", - } - sem = __import__("asyncio").Semaphore(10) - - with ( - patch( - "mail_sovereignty.preprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["customer.seppmail.cloud"], - ), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value="v=spf1 include:spf.protection.outlook.com -all", - ), - patch( - "mail_sovereignty.preprocess.resolve_spf_includes", - new_callable=AsyncMock, - return_value="v=spf1 include:spf.protection.outlook.com -all", - ), - patch( - "mail_sovereignty.preprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - result = await scan_municipality(m, sem) - - assert result["provider"] == "microsoft" - assert result["gateway"] == "seppmail" - - async def test_spf_resolved_stored_when_different(self): - m = { - "bfs": "100", - "name": "Test", - "canton": "Test", - "website": "https://www.test.ch", - } - sem = __import__("asyncio").Semaphore(10) - - raw_spf = "v=spf1 include:custom.ch -all" - resolved_spf = "v=spf1 include:custom.ch -all v=spf1 include:spf.protection.outlook.com -all" - - with ( - patch( - "mail_sovereignty.preprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["mx.cleanmail.ch"], - ), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value=raw_spf, - ), - patch( - "mail_sovereignty.preprocess.resolve_spf_includes", - new_callable=AsyncMock, - return_value=resolved_spf, - ), - patch( - "mail_sovereignty.preprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - result = await scan_municipality(m, sem) - - assert result["provider"] == "microsoft" - assert result["gateway"] == "cleanmail" - assert result["spf_resolved"] == resolved_spf - - async def test_autodiscover_stored_when_found(self): - m = { - "bfs": "500", - "name": "Frutigen", - "canton": "Bern", - "website": "https://www.frutigen.ch", - } - sem = __import__("asyncio").Semaphore(10) - - with ( - patch( - "mail_sovereignty.preprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["mx01.hornetsecurity.com"], - ), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value="v=spf1 ip4:1.2.3.4 -all", - ), - patch( - "mail_sovereignty.preprocess.resolve_spf_includes", - new_callable=AsyncMock, - return_value="v=spf1 ip4:1.2.3.4 -all", - ), - patch( - "mail_sovereignty.preprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={"autodiscover_cname": "autodiscover.outlook.com"}, - ), - ): - result = await scan_municipality(m, sem) - - assert result["provider"] == "microsoft" - assert result["gateway"] == "hornetsecurity" - assert result["autodiscover"] == { - "autodiscover_cname": "autodiscover.outlook.com" - } - - -# ── run() ──────────────────────────────────────────────────────────── - - -class TestPreprocessRun: - @respx.mock - async def test_writes_output(self, tmp_path): - respx.post("https://query.wikidata.org/sparql").mock( - return_value=httpx.Response( - 200, - json={ - "results": { - "bindings": [ - { - "bfs": {"value": "351"}, - "itemLabel": {"value": "Bern"}, - "website": {"value": "https://www.bern.ch"}, - "cantonLabel": {"value": "Bern"}, - }, - ] - } - }, - ) - ) - - with ( - patch( - "mail_sovereignty.preprocess.lookup_mx", - new_callable=AsyncMock, - return_value=["mx.bern.ch"], - ), - patch( - "mail_sovereignty.preprocess.lookup_spf", - new_callable=AsyncMock, - return_value="", - ), - patch( - "mail_sovereignty.preprocess.resolve_spf_includes", - new_callable=AsyncMock, - return_value="", - ), - patch( - "mail_sovereignty.preprocess.lookup_autodiscover", - new_callable=AsyncMock, - return_value={}, - ), - ): - output = tmp_path / "data.json" - await run(output) - - assert output.exists() - data = json.loads(output.read_text()) - assert data["total"] == 1 - assert "351" in data["municipalities"] diff --git a/tests/test_probes.py b/tests/test_probes.py new file mode 100644 index 0000000..29cf630 --- /dev/null +++ b/tests/test_probes.py @@ -0,0 +1,827 @@ +"""Tests for DNS probes with mocked resolve_robust.""" + +from unittest.mock import AsyncMock, MagicMock, patch + +import dns.name +import httpx +import pytest +import stamina + +from mail_sovereignty.models import Provider, SignalKind +from mail_sovereignty.probes import ( + WEIGHTS, + detect_gateway, + lookup_spf_raw, + probe_asn, + probe_autodiscover, + probe_cname_chain, + probe_dkim, + probe_dmarc, + probe_mx, + probe_smtp, + probe_spf, + probe_spf_ip, + probe_tenant, + probe_txt_verification, +) + + +def _mx_rdata(exchange: str): + """Create a mock MX rdata.""" + rdata = MagicMock() + rdata.exchange = dns.name.from_text(exchange) + return rdata + + +def _txt_rdata(text: str): + """Create a mock TXT rdata.""" + rdata = MagicMock() + rdata.strings = [text.encode("utf-8")] + return rdata + + +def _cname_rdata(target: str): + """Create a mock CNAME rdata.""" + rdata = MagicMock() + rdata.target = dns.name.from_text(target) + return rdata + + +def _srv_rdata(target: str): + """Create a mock SRV rdata.""" + rdata = MagicMock() + rdata.target = dns.name.from_text(target) + return rdata + + +def _a_rdata(ip: str): + """Create a mock A rdata.""" + rdata = MagicMock() + rdata.__str__ = lambda self: ip + return rdata + + +class TestWeights: + def test_sum_to_one(self): + assert pytest.approx(sum(WEIGHTS.values()), abs=0.001) == 1.0 + + def test_all_signal_kinds_have_weight(self): + for kind in SignalKind: + assert kind in WEIGHTS, f"{kind} missing from WEIGHTS" + + +class TestLookupSpfRaw: + async def test_returns_spf_record(self): + answer = [_txt_rdata("v=spf1 include:spf.protection.outlook.com ~all")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + result = await lookup_spf_raw("example.com") + assert result == "v=spf1 include:spf.protection.outlook.com ~all" + + async def test_no_spf_record(self): + answer = [_txt_rdata("google-site-verification=abc123")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + result = await lookup_spf_raw("example.com") + assert result == "" + + async def test_dns_error(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + result = await lookup_spf_raw("example.com") + assert result == "" + + +class TestProbeMx: + def test_ms365_hit(self): + results = probe_mx(["example-com.mail.protection.outlook.com"]) + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.MX + assert results[0].weight == WEIGHTS[SignalKind.MX] + + def test_ms365_mx_microsoft_hit(self): + results = probe_mx(["example-com.mx.microsoft"]) + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.MX + assert results[0].weight == WEIGHTS[SignalKind.MX] + + def test_google_hit(self): + results = probe_mx(["aspmx.l.google.com"]) + assert len(results) == 1 + assert results[0].provider == Provider.GOOGLE + + def test_infomaniak_hit(self): + results = probe_mx(["mxpool.infomaniak.com"]) + assert len(results) == 1 + assert results[0].provider == Provider.INFOMANIAK + + def test_infomaniak_mta_gw_hit(self): + results = probe_mx(["mta-gw.infomaniak.ch"]) + assert len(results) == 1 + assert results[0].provider == Provider.INFOMANIAK + + def test_smtp_google_hit(self): + results = probe_mx(["smtp.google.com"]) + assert len(results) == 1 + assert results[0].provider == Provider.GOOGLE + + def test_no_match(self): + results = probe_mx(["mx.custom-host.ch"]) + assert len(results) == 0 + + def test_empty_hosts(self): + results = probe_mx([]) + assert results == [] + + +class TestProbeSpf: + async def test_ms365_hit(self): + answer = [_txt_rdata("v=spf1 include:spf.protection.outlook.com ~all")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_spf("example.com") + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.SPF + + async def test_google_hit(self): + answer = [_txt_rdata("v=spf1 include:_spf.google.com ~all")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_spf("example.com") + assert len(results) == 1 + assert results[0].provider == Provider.GOOGLE + + async def test_infomaniak_hit(self): + answer = [_txt_rdata("v=spf1 include:spf.infomaniak.ch ~all")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_spf("example.com") + assert len(results) == 1 + assert results[0].provider == Provider.INFOMANIAK + + async def test_no_spf_record(self): + answer = [_txt_rdata("google-site-verification=abc123")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_spf("example.com") + assert results == [] + + async def test_spf_no_matching_include(self): + answer = [_txt_rdata("v=spf1 include:custom.example.com ~all")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_spf("example.com") + assert results == [] + + async def test_dns_error(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_spf("example.com") + assert results == [] + + +class TestProbeDkim: + async def test_ms365_selector1_hit(self): + answer = [ + _cname_rdata("selector1-example-com._domainkey.tenant.onmicrosoft.com.") + ] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_dkim("example.com") + assert any( + e.provider == Provider.MS365 and e.kind == SignalKind.DKIM for e in results + ) + + async def test_google_hit(self): + async def _resolve(qname, rdtype): + if "google._domainkey" in qname: + return [_cname_rdata("google._domainkey.domainkey.google.com.")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_dkim("example.com") + assert any(e.provider == Provider.GOOGLE for e in results) + + async def test_no_match(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_dkim("example.com") + assert results == [] + + +class TestProbeDmarc: + async def test_ms365_hit(self): + answer = [_txt_rdata("v=DMARC1; p=reject; rua=mailto:dmarc@rua.agari.com")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_dmarc("example.com") + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.DMARC + + async def test_no_match(self): + answer = [_txt_rdata("v=DMARC1; p=none; rua=mailto:dmarc@example.com")] + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=answer, + ): + results = await probe_dmarc("example.com") + assert results == [] + + async def test_dns_error(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_dmarc("example.com") + assert results == [] + + +class TestProbeAutodiscover: + async def test_ms365_cname_hit(self): + async def _resolve(qname, rdtype): + if rdtype == "CNAME" and "autodiscover" in qname: + return [_cname_rdata("autodiscover.outlook.com.")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_autodiscover("example.com") + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.AUTODISCOVER + + async def test_ms365_srv_hit(self): + async def _resolve(qname, rdtype): + if rdtype == "SRV": + return [_srv_rdata("autodiscover.outlook.com.")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_autodiscover("example.com") + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + + async def test_no_match(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_autodiscover("example.com") + assert results == [] + + +class TestProbeCnameChain: + async def test_follows_chain(self): + call_count = 0 + + async def _resolve(qname, rdtype): + nonlocal call_count + call_count += 1 + if call_count == 1: + return [_cname_rdata("hop1.example.com.")] + if call_count == 2: + return [_cname_rdata("final.mail.protection.outlook.com.")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_cname_chain("example.com", ["custom-mx.example.com"]) + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.CNAME_CHAIN + + async def test_follows_chain_to_mx_microsoft(self): + call_count = 0 + + async def _resolve(qname, rdtype): + nonlocal call_count + call_count += 1 + if call_count == 1: + return [_cname_rdata("hop1.example.com.")] + if call_count == 2: + return [_cname_rdata("final.mx.microsoft.")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_cname_chain("example.com", ["custom-mx.example.com"]) + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.CNAME_CHAIN + + async def test_no_cname(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_cname_chain("example.com", ["mx.example.com"]) + assert results == [] + + async def test_empty_mx_hosts(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_cname_chain("example.com", []) + assert results == [] + + +class TestDetectGateway: + def test_seppmail(self): + assert detect_gateway(["mx.seppmail.cloud"]) == "seppmail" + + def test_cleanmail(self): + assert detect_gateway(["filter.cleanmail.ch"]) == "cleanmail" + + def test_barracuda(self): + assert detect_gateway(["mx1.barracudanetworks.com"]) == "barracuda" + + def test_cisco(self): + assert detect_gateway(["mx.iphmx.com"]) == "cisco" + + def test_mimecast(self): + assert detect_gateway(["eu.mimecast.com"]) == "mimecast" + + def test_messagelabs(self): + assert detect_gateway(["cluster1.eu.messagelabs.com"]) == "messagelabs" + + def test_no_gateway(self): + assert detect_gateway(["mail.protection.outlook.com"]) is None + + def test_empty(self): + assert detect_gateway([]) is None + + def test_case_insensitive(self): + assert detect_gateway(["MX.SEPPMAIL.CLOUD"]) == "seppmail" + + def test_first_match_wins(self): + result = detect_gateway(["mx.seppmail.cloud", "filter.cleanmail.ch"]) + assert result == "seppmail" + + +class TestProbeSmtp: + async def test_ms365_banner(self): + mock_reader = AsyncMock() + mock_writer = MagicMock() + mock_writer.drain = AsyncMock() + mock_writer.close = MagicMock() + mock_writer.wait_closed = AsyncMock() + + readline_calls = iter( + [ + b"220 mail.protection.outlook.com Microsoft ESMTP MAIL Service ready\r\n", + b"250 OK\r\n", + b"221 Bye\r\n", + ] + ) + mock_reader.readline = AsyncMock(side_effect=lambda: next(readline_calls)) + + with patch( + "mail_sovereignty.probes.asyncio.open_connection", + new=AsyncMock(return_value=(mock_reader, mock_writer)), + ): + with patch("mail_sovereignty.probes.asyncio.wait_for") as mock_wait: + + async def wait_for_impl(coro, timeout): + return await coro + + mock_wait.side_effect = wait_for_impl + results = await probe_smtp(["mx.example.com"]) + + assert len(results) >= 1 + assert any( + e.provider == Provider.MS365 and e.kind == SignalKind.SMTP for e in results + ) + + async def test_ms365_mx_microsoft_banner(self): + mock_reader = AsyncMock() + mock_writer = MagicMock() + mock_writer.drain = AsyncMock() + mock_writer.close = MagicMock() + mock_writer.wait_closed = AsyncMock() + + readline_calls = iter( + [ + b"220 example-com.mx.microsoft Microsoft ESMTP MAIL Service ready\r\n", + b"250 OK\r\n", + b"221 Bye\r\n", + ] + ) + mock_reader.readline = AsyncMock(side_effect=lambda: next(readline_calls)) + + with patch( + "mail_sovereignty.probes.asyncio.open_connection", + new=AsyncMock(return_value=(mock_reader, mock_writer)), + ): + with patch("mail_sovereignty.probes.asyncio.wait_for") as mock_wait: + + async def wait_for_impl(coro, timeout): + return await coro + + mock_wait.side_effect = wait_for_impl + results = await probe_smtp(["mx.example.com"]) + + assert len(results) >= 1 + assert any( + e.provider == Provider.MS365 and e.kind == SignalKind.SMTP for e in results + ) + + async def test_google_banner(self): + mock_reader = AsyncMock() + mock_writer = MagicMock() + mock_writer.drain = AsyncMock() + mock_writer.close = MagicMock() + mock_writer.wait_closed = AsyncMock() + + readline_calls = iter( + [ + b"220 mx.google.com ESMTP ready\r\n", + b"250 mx.google.com at your service\r\n", + b"221 Bye\r\n", + ] + ) + mock_reader.readline = AsyncMock(side_effect=lambda: next(readline_calls)) + + with patch( + "mail_sovereignty.probes.asyncio.open_connection", + new=AsyncMock(return_value=(mock_reader, mock_writer)), + ): + with patch("mail_sovereignty.probes.asyncio.wait_for") as mock_wait: + + async def wait_for_impl(coro, timeout): + return await coro + + mock_wait.side_effect = wait_for_impl + results = await probe_smtp(["mx.google.com"]) + + assert any( + e.provider == Provider.GOOGLE and e.kind == SignalKind.SMTP for e in results + ) + + async def test_empty_mx_hosts(self): + results = await probe_smtp([]) + assert results == [] + + async def test_connection_failure(self): + def raise_oserror(*args, **kwargs): + raise OSError("Connection refused") + + with patch( + "mail_sovereignty.probes.asyncio.open_connection", + new=raise_oserror, + ): + results = await probe_smtp(["mx.example.com"]) + assert results == [] + + +class _FakeAsyncClient: + """Minimal async context manager that avoids AsyncMock unawaited-coroutine warnings.""" + + def __init__(self, mock_client): + self._client = mock_client + + async def __aenter__(self): + return self._client + + async def __aexit__(self, *args): + pass + + +class TestProbeTenant: + def _mock_tenant_client(self, *, json_data=None, side_effect=None): + mock_client = MagicMock() + if side_effect: + mock_client.get = AsyncMock(side_effect=side_effect) + else: + mock_response = MagicMock() + mock_response.json.return_value = json_data + mock_response.raise_for_status = MagicMock() + mock_client.get = AsyncMock(return_value=mock_response) + return _FakeAsyncClient(mock_client) + + async def test_managed_tenant(self): + mock_cm = self._mock_tenant_client(json_data={"NameSpaceType": "Managed"}) + with patch("mail_sovereignty.probes.httpx.AsyncClient", return_value=mock_cm): + results = await probe_tenant("example.com") + + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert results[0].kind == SignalKind.TENANT + assert results[0].raw == "Managed" + + async def test_federated_tenant(self): + mock_cm = self._mock_tenant_client(json_data={"NameSpaceType": "Federated"}) + with patch("mail_sovereignty.probes.httpx.AsyncClient", return_value=mock_cm): + results = await probe_tenant("example.com") + + assert len(results) == 1 + assert results[0].raw == "Federated" + + async def test_no_tenant(self): + mock_cm = self._mock_tenant_client(json_data={"NameSpaceType": "Unknown"}) + with patch("mail_sovereignty.probes.httpx.AsyncClient", return_value=mock_cm): + results = await probe_tenant("example.com") + + assert results == [] + + async def test_http_error(self): + mock_cm = self._mock_tenant_client(side_effect=Exception("Connection error")) + with patch("mail_sovereignty.probes.httpx.AsyncClient", return_value=mock_cm): + results = await probe_tenant("example.com") + + assert results == [] + + +class TestProbeAsn: + async def test_ms365_asn(self): + async def _resolve(qname, rdtype): + if rdtype == "A": + return [_a_rdata("40.97.1.1")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("8075 | 40.96.0.0/12 | US | arin | 2015-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_asn(["mx.outlook.com"]) + assert any( + e.provider == Provider.MS365 and e.kind == SignalKind.ASN for e in results + ) + + async def test_swiss_isp_asn(self): + async def _resolve(qname, rdtype): + if rdtype == "A": + return [_a_rdata("195.186.1.1")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("3303 | 195.186.0.0/16 | CH | ripencc | 1999-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_asn(["mx.swisscom.ch"]) + assert any( + e.provider == Provider.SWISS_ISP and e.kind == SignalKind.ASN + for e in results + ) + assert any("Swisscom" in e.detail for e in results) + + async def test_empty_mx_hosts(self): + results = await probe_asn([]) + assert results == [] + + async def test_dns_error(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_asn(["mx.example.com"]) + assert results == [] + + +class TestProbeTxtVerification: + async def test_ms365_verification(self): + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("MS=ms12345678")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_txt_verification("example.com") + assert any( + e.provider == Provider.MS365 and e.kind == SignalKind.TXT_VERIFICATION + for e in results + ) + + async def test_google_verification(self): + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("google-site-verification=abc123")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_txt_verification("example.com") + assert any( + e.provider == Provider.GOOGLE and e.kind == SignalKind.TXT_VERIFICATION + for e in results + ) + + async def test_aws_ses_verification(self): + async def _resolve(qname, rdtype): + if qname == "_amazonses.example.com" and rdtype == "TXT": + return [_txt_rdata("verification-token-abc")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_txt_verification("example.com") + assert any( + e.provider == Provider.AWS and e.kind == SignalKind.TXT_VERIFICATION + for e in results + ) + + async def test_no_verification(self): + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_txt_verification("example.com") + assert results == [] + + +class TestProbeSpfIp: + async def test_ip4_swiss_isp(self): + """SPF ip4: entry resolving to Swiss ISP ASN produces SPF_IP evidence.""" + + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("v=spf1 ip4:195.186.1.1 ~all")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("3303 | 195.186.0.0/16 | CH | ripencc | 1999-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_spf_ip("example.com") + assert any( + e.provider == Provider.SWISS_ISP and e.kind == SignalKind.SPF_IP + for e in results + ) + assert any("Swisscom" in e.detail for e in results) + + async def test_ip4_with_cidr(self): + """ip4: with CIDR notation — uses first IP of the range for ASN lookup.""" + + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("v=spf1 ip4:195.186.1.0/24 ~all")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("3303 | 195.186.0.0/16 | CH | ripencc | 1999-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_spf_ip("example.com") + assert any( + e.provider == Provider.SWISS_ISP and e.kind == SignalKind.SPF_IP + for e in results + ) + + async def test_a_entry_resolution(self): + """SPF a: entry is resolved to IP, then to ASN.""" + + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("v=spf1 a:mail.example.ch ~all")] + if qname == "mail.example.ch" and rdtype == "A": + return [_a_rdata("195.186.1.1")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("3303 | 195.186.0.0/16 | CH | ripencc | 1999-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_spf_ip("example.com") + assert any( + e.provider == Provider.SWISS_ISP and e.kind == SignalKind.SPF_IP + for e in results + ) + + async def test_provider_asn_match(self): + """SPF ip4: matching a known provider ASN produces evidence.""" + + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("v=spf1 ip4:40.97.1.1 ~all")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("8075 | 40.96.0.0/12 | US | arin | 2015-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_spf_ip("example.com") + assert any( + e.provider == Provider.MS365 and e.kind == SignalKind.SPF_IP + for e in results + ) + + async def test_no_spf_record(self): + """No SPF record → no results.""" + with patch( + "mail_sovereignty.probes.resolve_robust", + new_callable=AsyncMock, + return_value=None, + ): + results = await probe_spf_ip("example.com") + assert results == [] + + async def test_no_ip4_entries(self): + """SPF with only include: entries → no results.""" + + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("v=spf1 include:spf.protection.outlook.com ~all")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_spf_ip("example.com") + assert results == [] + + async def test_deduplicates_asns(self): + """Multiple IPs on the same ASN produce only one evidence entry per ASN.""" + + async def _resolve(qname, rdtype): + if qname == "example.com" and rdtype == "TXT": + return [_txt_rdata("v=spf1 ip4:195.186.1.1 ip4:195.186.2.2 ~all")] + if rdtype == "TXT" and "origin.asn.cymru.com" in qname: + return [_txt_rdata("3303 | 195.186.0.0/16 | CH | ripencc | 1999-01-01")] + return None + + with patch("mail_sovereignty.probes.resolve_robust", side_effect=_resolve): + results = await probe_spf_ip("example.com") + swiss_isp_results = [e for e in results if e.provider == Provider.SWISS_ISP] + assert len(swiss_isp_results) == 1 + + +class TestProbeTenantRetry: + async def test_retries_on_503_then_succeeds(self): + stamina.set_testing(False) + call_count = 0 + + async def _side_effect(*args, **kwargs): + nonlocal call_count + call_count += 1 + if call_count == 1: + resp = MagicMock() + resp.raise_for_status.side_effect = httpx.HTTPStatusError( + "503", request=MagicMock(), response=MagicMock(status_code=503) + ) + return resp + resp = MagicMock() + resp.raise_for_status = MagicMock() + resp.json.return_value = {"NameSpaceType": "Managed"} + return resp + + mock_client = MagicMock() + mock_client.get = AsyncMock(side_effect=_side_effect) + mock_cm = _FakeAsyncClient(mock_client) + + with patch("mail_sovereignty.probes.httpx.AsyncClient", return_value=mock_cm): + results = await probe_tenant("example.com") + + assert len(results) == 1 + assert results[0].provider == Provider.MS365 + assert call_count == 2 + + async def test_gives_up_after_max_retries(self): + stamina.set_testing(False) + mock_client = MagicMock() + resp = MagicMock() + resp.raise_for_status.side_effect = httpx.HTTPStatusError( + "503", request=MagicMock(), response=MagicMock(status_code=503) + ) + mock_client.get = AsyncMock(return_value=resp) + mock_cm = _FakeAsyncClient(mock_client) + + with patch("mail_sovereignty.probes.httpx.AsyncClient", return_value=mock_cm): + results = await probe_tenant("example.com") + + # Should return empty (graceful degradation via outer try/except) + assert results == [] + assert mock_client.get.call_count == 2 diff --git a/tests/test_resolve.py b/tests/test_resolve.py new file mode 100644 index 0000000..a1732b8 --- /dev/null +++ b/tests/test_resolve.py @@ -0,0 +1,1226 @@ +import json +from unittest.mock import AsyncMock, patch + +import httpx +import pytest +import respx +import stamina + +from mail_sovereignty.resolve import ( + _is_ssl_error, + _process_scrape_response, + build_urls, + decrypt_typo3, + detect_website_mismatch, + extract_email_domains, + fetch_wikidata, + guess_domains, + load_overrides, + resolve_municipality_domain, + run, + score_domain_sources, + scrape_email_domains, + url_to_domain, +) + + +# ── url_to_domain() ───────────────────────────────────────────────── + + +class TestUrlToDomain: + def test_full_url_with_path(self): + assert url_to_domain("https://www.bern.ch/some/path") == "bern.ch" + + def test_no_scheme(self): + assert url_to_domain("bern.ch") == "bern.ch" + + def test_strips_www(self): + assert url_to_domain("https://www.example.ch") == "example.ch" + + def test_empty_string(self): + assert url_to_domain("") is None + + def test_none(self): + assert url_to_domain(None) is None + + def test_bare_domain(self): + assert url_to_domain("example.ch") == "example.ch" + + def test_http_scheme(self): + assert url_to_domain("http://example.ch/page") == "example.ch" + + +# ── guess_domains() ───────────────────────────────────────────────── + + +class TestGuessDomains: + def test_simple_name(self): + domains = guess_domains("Bern") + assert "bern.ch" in domains + assert "gemeinde-bern.ch" in domains + + def test_umlaut(self): + domains = guess_domains("Zürich") + assert "zuerich.ch" in domains + + def test_french_accent(self): + domains = guess_domains("Genève") + assert "geneve.ch" in domains + + def test_parenthetical_stripped(self): + domains = guess_domains("Rüti (BE)") + assert any("rueti" in d for d in domains) + assert not any("BE" in d for d in domains) + + def test_commune_prefix(self): + domains = guess_domains("Bern") + assert "commune-de-bern.ch" in domains + + def test_apostrophe_removed(self): + domains = guess_domains("L'Abbaye") + assert any("abbaye" in d for d in domains) + + def test_italian_prefix(self): + domains = guess_domains("Lugano") + assert "comune-di-lugano.ch" in domains + + def test_stadt_prefix(self): + domains = guess_domains("Bern") + assert "stadt-bern.ch" in domains + + def test_canton_subdomain(self): + domains = guess_domains("Niederglatt", canton="Kanton Zürich") + assert "niederglatt.zh.ch" in domains + + def test_canton_subdomain_not_added_without_canton(self): + domains = guess_domains("Niederglatt", canton="") + assert not any(".zh.ch" in d for d in domains) + + def test_compound_name_joined(self): + domains = guess_domains("Rüti bei Lyssach") + assert "ruetibeilyssach.ch" in domains + + def test_slash_name_generates_individual_parts(self): + """'Celerina/Schlarigna' yields guesses for each part.""" + domains = guess_domains("Celerina/Schlarigna") + assert "celerina.ch" in domains + assert "schlarigna.ch" in domains + assert "gemeinde-celerina.ch" in domains + + def test_slash_name_with_spaces(self): + """'Sils im Engadin/Segl' yields guesses for each part.""" + domains = guess_domains("Sils im Engadin/Segl") + assert "segl.ch" in domains + assert "sils-im-engadin.ch" in domains + + def test_no_slash_unchanged(self): + """Names without '/' produce the same results as before.""" + domains = guess_domains("Bern") + assert "bern.ch" in domains + assert "gemeinde-bern.ch" in domains + + +# ── detect_website_mismatch() ──────────────────────────────────────── + + +class TestDetectWebsiteMismatch: + def test_matching_domain(self): + assert detect_website_mismatch("Schlieren", "schlieren.ch") is False + + def test_umlaut_with_stadt_prefix(self): + assert detect_website_mismatch("Zürich", "stadt-zuerich.ch") is False + + def test_mismatch(self): + assert detect_website_mismatch("Schlieren", "totally-unrelated.ch") is True + + def test_canton_subdomain(self): + assert detect_website_mismatch("Teufen", "teufen.ar.ch") is False + + def test_french_accent(self): + assert detect_website_mismatch("Genève", "geneve.ch") is False + + def test_gemeinde_prefix(self): + assert ( + detect_website_mismatch("Grindelwald", "gemeinde-grindelwald.ch") is False + ) + + def test_commune_prefix(self): + assert detect_website_mismatch("Montreux", "commune-de-montreux.ch") is False + + def test_empty_name(self): + assert detect_website_mismatch("", "example.ch") is False + + def test_empty_domain(self): + assert detect_website_mismatch("Test", "") is False + + def test_word_match(self): + # "Aeugst am Albis" — "aeugst" (5 chars) should match + assert detect_website_mismatch("Aeugst am Albis", "aeugst-albis.ch") is False + + +# ── score_domain_sources() ────────────────────────────────────────── + + +class TestScoreDomainSources: + def test_two_sources_agree_high(self): + sources = { + "scrape": {"example.ch"}, + "wikidata": {"example.ch"}, + "guess": set(), + } + result = score_domain_sources(sources, "Example", "example.ch") + assert result["domain"] == "example.ch" + assert result["confidence"] == "high" + assert result["source"] == "scrape" + + def test_single_source_medium(self): + sources = { + "scrape": {"example.ch"}, + "wikidata": set(), + "guess": set(), + } + result = score_domain_sources(sources, "Example", "example.ch") + assert result["domain"] == "example.ch" + assert result["confidence"] == "medium" + + def test_guess_only_low(self): + sources = { + "scrape": set(), + "wikidata": set(), + "guess": {"example.ch"}, + } + result = score_domain_sources(sources, "Example", "example.ch") + assert result["domain"] == "example.ch" + assert result["confidence"] == "low" + assert "guess_only" in result["flags"] + + def test_no_domain_none(self): + sources = { + "scrape": set(), + "wikidata": set(), + "guess": set(), + } + result = score_domain_sources(sources, "Example", "example.ch") + assert result["domain"] == "" + assert result["confidence"] == "none" + + def test_sources_disagree(self): + """Flag when scrape found domains but none match the best domain.""" + sources = { + "scrape": {"email-provider.ch"}, + "wikidata": {"website.ch"}, + "guess": set(), + } + result = score_domain_sources(sources, "Test", "website.ch") + assert "sources_disagree" in result["flags"] + + def test_extra_scrape_domains_not_disagreement(self): + """Extra junk domains in scrape shouldn't trigger disagree when best domain matches.""" + sources = { + "scrape": {"junk.ch", "correct.ch"}, + "wikidata": {"correct.ch"}, + "guess": {"correct.ch", "gemeinde-correct.ch"}, + } + result = score_domain_sources(sources, "Correct", "correct.ch") + assert result["domain"] == "correct.ch" + assert result["confidence"] == "high" + assert "sources_disagree" not in result["flags"] + + def test_real_disagreement_scrape_vs_wikidata(self): + """Flag when scrape found domains but none match the wikidata-preferred best.""" + sources = { + "scrape": {"email-provider.ch"}, + "wikidata": {"website.ch"}, + "guess": set(), + } + result = score_domain_sources(sources, "Test", "website.ch") + assert "sources_disagree" in result["flags"] + + def test_guess_extra_domains_no_disagreement(self): + """Extra guess domains should never trigger disagreement.""" + sources = { + "scrape": {"correct.ch"}, + "wikidata": {"correct.ch"}, + "guess": {"correct.ch", "gemeinde-correct.ch", "correct.zh.ch"}, + } + result = score_domain_sources(sources, "Correct", "correct.ch") + assert result["confidence"] == "high" + assert "sources_disagree" not in result["flags"] + + def test_website_mismatch_flag(self): + sources = { + "scrape": {"example.ch"}, + "wikidata": {"example.ch"}, + "guess": set(), + } + # Name doesn't match the website domain + result = score_domain_sources(sources, "Totally Different", "unrelated-site.ch") + assert "website_mismatch" in result["flags"] + assert result["confidence"] == "medium" + + def test_sources_detail_populated(self): + sources = { + "scrape": {"a.ch", "b.ch"}, + "wikidata": {"a.ch"}, + "guess": set(), + } + result = score_domain_sources(sources, "Test", "a.ch") + assert result["sources_detail"]["scrape"] == ["a.ch", "b.ch"] + assert result["sources_detail"]["wikidata"] == ["a.ch"] + assert result["sources_detail"]["guess"] == [] + + def test_scrape_preferred_over_wikidata(self): + """When both scrape and wikidata find the same domain, source is scrape.""" + sources = { + "scrape": {"example.ch"}, + "wikidata": {"example.ch"}, + "guess": {"example.ch"}, + } + result = score_domain_sources(sources, "Example", "example.ch") + assert result["source"] == "scrape" + + def test_tiebreaker_scrape_preferred(self): + """When tied on source count, the domain found by scrape wins.""" + sources = { + "scrape": {"email.ch"}, + "wikidata": {"website.ch"}, + "guess": set(), + } + result = score_domain_sources(sources, "Test", "website.ch") + assert result["domain"] == "email.ch" + + def test_no_tie_unaffected(self): + """When one domain clearly wins on source count, tiebreaker doesn't change result.""" + sources = { + "scrape": {"winner.ch"}, + "wikidata": {"winner.ch"}, + "guess": {"loser.ch"}, + } + result = score_domain_sources(sources, "Test", "winner.ch") + assert result["domain"] == "winner.ch" + + def test_redirect_source_counted(self): + """Redirect source counts toward agreement.""" + sources = { + "scrape": {"3908.ch"}, + "redirect": {"3908.ch"}, + "wikidata": set(), + "guess": set(), + } + result = score_domain_sources(sources, "Saas-Balen", "gemeinde-saas-balen.ch") + assert result["domain"] == "3908.ch" + assert result["confidence"] == "high" # 2 sources agree + + def test_redirect_only_medium_confidence(self): + """Redirect as sole source gives medium confidence.""" + sources = { + "scrape": set(), + "redirect": {"3908.ch"}, + "wikidata": set(), + "guess": set(), + } + result = score_domain_sources(sources, "Saas-Balen", "gemeinde-saas-balen.ch") + assert result["domain"] == "3908.ch" + assert result["confidence"] == "medium" + assert result["source"] == "redirect" + + def test_redirect_priority_between_scrape_and_wikidata(self): + """When redirect and wikidata both find the same domain, source is redirect.""" + sources = { + "scrape": set(), + "redirect": {"3908.ch"}, + "wikidata": {"3908.ch"}, + "guess": set(), + } + result = score_domain_sources(sources, "Saas-Balen", "gemeinde-saas-balen.ch") + assert result["source"] == "redirect" + + +# ── fetch_wikidata() ───────────────────────────────────────────────── + + +class TestFetchWikidata: + @respx.mock + async def test_success(self): + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response( + 200, + json={ + "results": { + "bindings": [ + { + "bfs": {"value": "351"}, + "itemLabel": {"value": "Bern"}, + "website": {"value": "https://www.bern.ch"}, + "cantonLabel": {"value": "Bern"}, + }, + ] + } + }, + ) + ) + + result = await fetch_wikidata() + assert "351" in result + assert result["351"]["name"] == "Bern" + + @respx.mock + async def test_deduplication(self): + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response( + 200, + json={ + "results": { + "bindings": [ + { + "bfs": {"value": "351"}, + "itemLabel": {"value": "Bern"}, + "website": {"value": "https://www.bern.ch"}, + "cantonLabel": {"value": "Bern"}, + }, + { + "bfs": {"value": "351"}, + "itemLabel": {"value": "Bern"}, + "website": {"value": "https://www.bern.ch/alt"}, + "cantonLabel": {"value": "Bern"}, + }, + ] + } + }, + ) + ) + + result = await fetch_wikidata() + assert len(result) == 1 + + +# ── load_overrides() ───────────────────────────────────────────────── + + +class TestLoadOverrides: + def test_load_existing(self, tmp_path): + p = tmp_path / "overrides.json" + p.write_text('{"261": {"domain": "zuerich.ch", "reason": "test"}}') + result = load_overrides(p) + assert "261" in result + assert result["261"]["domain"] == "zuerich.ch" + + def test_load_nonexistent(self, tmp_path): + result = load_overrides(tmp_path / "nonexistent.json") + assert result == {} + + +# ── decrypt_typo3() ────────────────────────────────────────────────── + + +class TestDecryptTypo3: + def test_known_encrypted(self): + encrypted = "kygjrm8yYz,af" + decrypted = decrypt_typo3(encrypted) + assert decrypted == "mailto:a@b.ch" + + def test_empty_string(self): + assert decrypt_typo3("") == "" + + def test_offset_10_celerina(self): + """Site encrypted with +10 offset; decrypt with -10 (== 16 mod 26).""" + encoded = "wksvdy4sxpyJmovobsxk8mr" + decrypted = decrypt_typo3(encoded, offset=-10) + assert decrypted == "mailto:info@celerina.ch" + + def test_standard_offset_still_works(self): + """No regression: offset=2 (default) still decrypts standard TYPO3.""" + encrypted = "kygjrm8yYz,af" + assert decrypt_typo3(encrypted, offset=2) == "mailto:a@b.ch" + + +# ── extract_email_domains() ────────────────────────────────────────── + + +class TestExtractEmailDomains: + def test_plain_email(self): + html = "Contact us at info@gemeinde.ch for more info." + assert "gemeinde.ch" in extract_email_domains(html) + + def test_mailto_link(self): + html = 'Email' + assert "town.ch" in extract_email_domains(html) + + def test_typo3_obfuscated(self): + html = """linkTo_UnCryptMailto('kygjrm8yYz,af')""" + domains = extract_email_domains(html) + assert "b.ch" in domains + + def test_typo3_url_encoded_quotes(self): + """TYPO3 regex matches %27 (URL-encoded single quote).""" + html = "linkTo_UnCryptMailto(%27kygjrm8yYz,af%27)" + domains = extract_email_domains(html) + assert "b.ch" in domains + + def test_typo3_auto_offset_detection(self): + """Auto-detect offset for non-standard TYPO3 encryption (e.g. offset 10).""" + html = "linkTo_UnCryptMailto(%27wksvdy4sxpyJmovobsxk8mr%27)" + domains = extract_email_domains(html) + assert "celerina.ch" in domains + + def test_skip_domains_filtered(self): + html = "admin@example.com test@sentry.io" + domains = extract_email_domains(html) + assert "example.com" not in domains + assert "sentry.io" not in domains + + def test_no_emails(self): + html = "No contact here" + assert extract_email_domains(html) == set() + + def test_mailto_trailing_backslash(self): + """BadEscape: backslash in mailto href should be stripped.""" + html = 'contact' + domains = extract_email_domains(html) + assert "bernex.ch" in domains + + def test_mailto_trailing_slash(self): + """Trailing slash from malformed mailto should be stripped.""" + html = 'contact' + domains = extract_email_domains(html) + assert "example.org" in domains + + def test_bracket_at_obfuscation(self): + html = "gemeinde[at]graechen.ch" + assert "graechen.ch" in extract_email_domains(html) + + def test_paren_at_obfuscation(self): + html = "info(at)gemeinde.ch" + assert "gemeinde.ch" in extract_email_domains(html) + + def test_bracket_at_with_spaces(self): + html = "info [at] town.ch" + assert "town.ch" in extract_email_domains(html) + + def test_bracket_at_uppercase(self): + html = "admin[AT]village.ch" + assert "village.ch" in extract_email_domains(html) + + def test_bracket_at_skip_domain(self): + html = "user[at]example.com" + assert extract_email_domains(html) == set() + + def test_domain_label_too_long(self): + """Domains with labels > 63 chars should be filtered out.""" + long_label = "a" * 64 + html = f"contact@{long_label}.ch" + assert extract_email_domains(html) == set() + + def test_domain_with_slash_filtered(self): + """Domains containing a slash (URL fragment) should be filtered out.""" + html = "user@galeriedelachampagne.ch/subpage" + domains = extract_email_domains(html) + # The EMAIL_RE may capture "galeriedelachampagne.ch" (valid part), + # but any domain with "/" should be filtered + for d in domains: + assert "/" not in d + + +# ── build_urls() ───────────────────────────────────────────────────── + + +class TestBuildUrls: + def test_bare_domain(self): + urls = build_urls("example.ch") + assert "https://www.example.ch/" in urls + assert "https://example.ch/" in urls + assert any("/kontakt" in u for u in urls) + + def test_www_prefix(self): + urls = build_urls("www.example.ch") + assert "https://www.example.ch/" in urls + assert "https://example.ch/" in urls + + +# ── scrape_email_domains() ─────────────────────────────────────────── + + +class TestScrapeEmailDomains: + async def test_empty_domain(self): + result, redirect = await scrape_email_domains(None, "") + assert result == set() + assert redirect is None + + async def test_with_emails_found(self): + class FakeResponse: + status_code = 200 + text = "Contact us at info@gemeinde.ch" + url = httpx.URL("https://www.gemeinde.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + result, redirect = await scrape_email_domains(client, "gemeinde.ch") + assert "gemeinde.ch" in result + assert redirect is None + + async def test_cross_domain_redirect_detected(self): + """When website redirects to a different domain, redirect_domain is returned.""" + + class FakeResponse: + status_code = 200 + text = "Contact us at gemeinde@3908.ch" + url = httpx.URL("https://www.3908.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + result, redirect = await scrape_email_domains(client, "gemeinde-saas-balen.ch") + assert "3908.ch" in result + assert redirect == "3908.ch" + + async def test_www_redirect_not_flagged(self): + """Redirect from mygemeinde.ch to www.mygemeinde.ch is NOT a cross-domain redirect.""" + + class FakeResponse: + status_code = 200 + text = "Contact us at info@mygemeinde.ch" + url = httpx.URL("https://www.mygemeinde.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + result, redirect = await scrape_email_domains(client, "mygemeinde.ch") + assert "mygemeinde.ch" in result + assert redirect is None + + +# ── resolve_municipality_domain() ──────────────────────────────────── + + +class TestResolveMunicipalityDomain: + async def test_override_takes_priority(self): + m = { + "bfs": "261", + "name": "Zürich", + "canton": "Kanton Zürich", + "website": "https://www.stadt-zuerich.ch", + } + overrides = {"261": {"domain": "zuerich.ch", "reason": "test"}} + client = AsyncMock() + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=["mail.protection.outlook.com"], + ): + result = await resolve_municipality_domain(m, overrides, client) + + assert result["domain"] == "zuerich.ch" + assert result["source"] == "override" + assert result["confidence"] == "high" + assert "sources_detail" in result + assert "flags" in result + + async def test_multi_source_scrape_and_wikidata(self): + """When scrape and wikidata agree, confidence is high.""" + m = { + "bfs": "999", + "name": "Test", + "canton": "", + "website": "https://www.test.ch", + } + overrides = {} + + class FakeResponse: + status_code = 200 + text = "Contact us at info@test.ch" + url = httpx.URL("https://www.test.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + async def fake_lookup_mx(domain): + if domain == "test.ch": + return ["mail.test.ch"] + return [] + + with patch("mail_sovereignty.resolve.lookup_mx", side_effect=fake_lookup_mx): + result = await resolve_municipality_domain(m, overrides, client) + + assert result["domain"] == "test.ch" + assert result["confidence"] == "high" + assert "test.ch" in result["sources_detail"]["scrape"] + assert "test.ch" in result["sources_detail"]["wikidata"] + + async def test_scrape_only_medium(self): + """When only scrape finds a domain, confidence is medium.""" + m = { + "bfs": "999", + "name": "Test", + "canton": "", + "website": "https://www.test.ch", + } + overrides = {} + + class FakeResponse: + status_code = 200 + text = "Contact us at info@email-test.ch" + url = httpx.URL("https://www.test.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + async def fake_lookup_mx(domain): + if domain == "email-test.ch": + return ["mail.email-test.ch"] + return [] + + with patch("mail_sovereignty.resolve.lookup_mx", side_effect=fake_lookup_mx): + result = await resolve_municipality_domain(m, overrides, client) + + assert result["domain"] == "email-test.ch" + assert result["source"] == "scrape" + + async def test_scrape_finds_different_domain_than_website(self): + """Teufen case: website teufen.ch has MX, but scraping finds teufen.ar.ch.""" + m = { + "bfs": "3024", + "name": "Teufen", + "canton": "Kanton Appenzell Ausserrhoden", + "website": "https://www.teufen.ch", + } + overrides = {} + + class FakeResponse: + status_code = 200 + text = 'Email' + url = httpx.URL("https://www.teufen.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + async def fake_lookup_mx(domain): + if domain == "teufen.ch": + return ["mail.teufen.ch"] + if domain == "teufen.ar.ch": + return ["mail.teufen.ar.ch"] + return [] + + with patch("mail_sovereignty.resolve.lookup_mx", side_effect=fake_lookup_mx): + result = await resolve_municipality_domain(m, overrides, client) + + # Both scrape and wikidata found domains + assert "teufen.ar.ch" in result["sources_detail"]["scrape"] + assert "teufen.ch" in result["sources_detail"]["wikidata"] + + async def test_none_when_no_domain_found(self): + m = {"bfs": "999", "name": "Zzz", "canton": "", "website": ""} + overrides = {} + client = AsyncMock() + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=[], + ): + result = await resolve_municipality_domain(m, overrides, client) + + assert result["domain"] == "" + assert result["source"] == "none" + assert result["confidence"] == "none" + assert "sources_detail" in result + assert "flags" in result + + async def test_guess_only_low_confidence(self): + """When only guess finds a domain, confidence is low.""" + m = { + "bfs": "999", + "name": "Testingen", + "canton": "Kanton Zürich", + "website": "", + } + overrides = {} + client = AsyncMock() + + async def fake_lookup_mx(domain): + if domain == "testingen.ch": + return ["mail.testingen.ch"] + return [] + + with patch("mail_sovereignty.resolve.lookup_mx", side_effect=fake_lookup_mx): + result = await resolve_municipality_domain(m, overrides, client) + + assert result["domain"] == "testingen.ch" + assert result["source"] == "guess" + assert result["confidence"] == "low" + assert "guess_only" in result["flags"] + + async def test_bfs_only_flag(self): + """Municipalities only in BFS get the bfs_only flag.""" + m = { + "bfs": "999", + "name": "NewTown", + "canton": "", + "website": "", + "bfs_only": True, + } + overrides = {} + client = AsyncMock() + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=[], + ): + result = await resolve_municipality_domain(m, overrides, client) + + assert "bfs_only" in result["flags"] + + async def test_redirect_domain_used_as_source(self): + """Saas-Balen case: website redirects to postal code domain.""" + m = { + "bfs": "6289", + "name": "Saas-Balen", + "canton": "Kanton Wallis", + "website": "https://www.gemeinde-saas-balen.ch", + } + overrides = {} + + class FakeResponse: + status_code = 200 + text = "Contact us at gemeinde@3908.ch" + url = httpx.URL("https://www.3908.ch/") + + client = AsyncMock() + client.get = AsyncMock(return_value=FakeResponse()) + + async def fake_lookup_mx(domain): + if domain == "3908.ch": + return ["mail.3908.ch"] + return [] + + with patch("mail_sovereignty.resolve.lookup_mx", side_effect=fake_lookup_mx): + result = await resolve_municipality_domain(m, overrides, client) + + assert result["domain"] == "3908.ch" + assert "3908.ch" in result["sources_detail"]["scrape"] + assert "3908.ch" in result["sources_detail"]["redirect"] + assert result["confidence"] == "high" # scrape + redirect agree + + +# ── run() ──────────────────────────────────────────────────────────── + + +# Sample BFS API CSV response +BFS_CSV_HEADER = "HistoricalCode,BfsCode,ValidFrom,ValidTo,Level,Parent,Name,ShortName,Inscription,Radiation,Rec_Type_fr,Rec_Type_de" +SAMPLE_BFS_CSV = f"""{BFS_CSV_HEADER} +1,1,12.09.1848,,1,,Bern,BE,,,, +200,200,12.09.1848,,2,1,Amtsbezirk Bern,Bern,,,, +351,351,12.09.1848,,3,200,Bern,Bern,,,, +""" +EMPTY_BFS_CSV = BFS_CSV_HEADER + "\n" + + +class TestResolveRun: + @respx.mock + async def test_writes_output(self, tmp_path): + # Mock BFS API + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=httpx.Response(200, text=SAMPLE_BFS_CSV) + ) + + # Mock Wikidata + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response( + 200, + json={ + "results": { + "bindings": [ + { + "bfs": {"value": "351"}, + "itemLabel": {"value": "Bern"}, + "website": {"value": "https://www.bern.ch"}, + "cantonLabel": {"value": "Bern"}, + }, + ] + } + }, + ) + ) + + # Scraping runs first now; mock scrape to return no emails (404) + respx.get(url__regex=r"https://.*bern\.ch.*").mock( + return_value=httpx.Response(404) + ) + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=["mx.bern.ch"], + ): + output = tmp_path / "municipality_domains.json" + overrides = tmp_path / "overrides.json" + overrides.write_text("{}") + await run(output, overrides, date="01-01-2026") + + assert output.exists() + data = json.loads(output.read_text()) + assert data["total"] == 1 + assert "351" in data["municipalities"] + + @respx.mock + async def test_adds_override_only_municipalities(self, tmp_path): + # Mock BFS API (empty - no municipalities) + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=httpx.Response(200, text=EMPTY_BFS_CSV) + ) + + # Mock Wikidata (empty) + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response( + 200, + json={"results": {"bindings": []}}, + ) + ) + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=["mx.test.ch"], + ): + output = tmp_path / "municipality_domains.json" + overrides = tmp_path / "overrides.json" + overrides.write_text( + '{"2056": {"domain": "fetigny-menieres.ch", "name": "Fetigny-Menieres", "canton": "Kanton Freiburg", "reason": "Missing from Wikidata"}}' + ) + await run(output, overrides, date="01-01-2026") + + data = json.loads(output.read_text()) + assert "2056" in data["municipalities"] + assert data["municipalities"]["2056"]["source"] == "override" + + @respx.mock + async def test_bfs_wikidata_merge(self, tmp_path): + """BFS municipalities get Wikidata website URLs merged in.""" + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=httpx.Response(200, text=SAMPLE_BFS_CSV) + ) + + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response( + 200, + json={ + "results": { + "bindings": [ + { + "bfs": {"value": "351"}, + "itemLabel": {"value": "Bern"}, + "website": {"value": "https://www.bern.ch"}, + "cantonLabel": {"value": "Bern"}, + }, + ] + } + }, + ) + ) + + respx.get(url__regex=r"https://.*bern\.ch.*").mock( + return_value=httpx.Response(404) + ) + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=["mx.bern.ch"], + ): + output = tmp_path / "municipality_domains.json" + overrides = tmp_path / "overrides.json" + overrides.write_text("{}") + await run(output, overrides, date="01-01-2026") + + data = json.loads(output.read_text()) + entry = data["municipalities"]["351"] + assert entry["name"] == "Bern" + assert "sources_detail" in entry + + +# ── Wikidata retry ──────────────────────────────────────────────── + +WIKIDATA_JSON = { + "results": { + "bindings": [ + { + "bfs": {"value": "351"}, + "itemLabel": {"value": "Bern"}, + "website": {"value": "https://www.bern.ch"}, + "cantonLabel": {"value": "Bern"}, + }, + ] + } +} + + +class TestFetchWikidataRetry: + @respx.mock + async def test_retries_on_503_then_succeeds(self): + stamina.set_testing(False) + route = respx.post("https://query.wikidata.org/sparql").mock( + side_effect=[ + httpx.Response(503), + httpx.Response(200, json=WIKIDATA_JSON), + ] + ) + result = await fetch_wikidata() + assert "351" in result + assert route.call_count == 2 + + @respx.mock + async def test_raises_after_all_retries_exhausted(self): + stamina.set_testing(False) + route = respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response(503) + ) + with pytest.raises(httpx.HTTPStatusError): + await fetch_wikidata() + assert route.call_count == 3 + + +# ── Scrape error logging ───────────────────────────────────────── + + +class TestScrapeErrorLogging: + async def test_logs_debug_on_exception(self, caplog): + client = AsyncMock() + client.get = AsyncMock(side_effect=ConnectionError("refused")) + + result, redirect = await scrape_email_domains(client, "fail.ch") + + assert result == set() + assert redirect is None + assert any("Scrape" in msg and "refused" in msg for msg in caplog.messages) + + +# ── Error isolation in resolve run() ───────────────────────────── + + +class TestResolveRunErrorIsolation: + @respx.mock + async def test_skips_failing_municipality(self, tmp_path): + """One failing resolution should not crash the whole run.""" + # Two municipalities in BFS + csv_text = f"""{BFS_CSV_HEADER} +1,1,12.09.1848,,1,,Bern,BE,,,, +200,200,12.09.1848,,2,1,Amtsbezirk Bern,Bern,,,, +351,351,12.09.1848,,3,200,Bern,Bern,,,, +300,300,12.09.1848,,2,1,Amtsbezirk Thun,Thun,,,, +942,942,12.09.1848,,3,300,Thun,Thun,,,, +""" + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=httpx.Response(200, text=csv_text) + ) + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response(200, json={"results": {"bindings": []}}) + ) + + call_count = 0 + + async def _flaky_resolve(m, overrides, client): + nonlocal call_count + call_count += 1 + if m["bfs"] == "942": + raise RuntimeError("boom") + return { + "bfs": m["bfs"], + "name": m["name"], + "canton": m.get("canton", ""), + "domain": "test.ch", + "source": "guess", + "confidence": "low", + "sources_detail": {}, + "flags": [], + } + + with patch( + "mail_sovereignty.resolve.resolve_municipality_domain", + side_effect=_flaky_resolve, + ): + output = tmp_path / "municipality_domains.json" + overrides = tmp_path / "overrides.json" + overrides.write_text("{}") + await run(output, overrides, date="01-01-2026") + + data = json.loads(output.read_text()) + # Bern succeeded, Thun was skipped + assert "351" in data["municipalities"] + assert "942" not in data["municipalities"] + + +class TestResolveRunLogging: + @respx.mock + async def test_logs_bfs_only_warning(self, tmp_path, caplog): + """BFS-only municipalities should produce a warning log.""" + # BFS has Bern, Wikidata is empty -> Bern is BFS-only + respx.get("https://www.agvchapp.bfs.admin.ch/api/communes/snapshot").mock( + return_value=httpx.Response(200, text=SAMPLE_BFS_CSV) + ) + respx.post("https://query.wikidata.org/sparql").mock( + return_value=httpx.Response(200, json={"results": {"bindings": []}}) + ) + + with patch( + "mail_sovereignty.resolve.lookup_mx", + new_callable=AsyncMock, + return_value=[], + ): + output = tmp_path / "municipality_domains.json" + overrides = tmp_path / "overrides.json" + overrides.write_text("{}") + await run(output, overrides, date="01-01-2026") + + assert any( + "municipalities in BFS but missing from Wikidata" in msg + for msg in caplog.messages + ) + + +# ── _process_scrape_response() ──────────────────────────────────────── + + +class TestProcessScrapeResponse: + def test_non_200_returns_unchanged(self): + r = httpx.Response(404, request=httpx.Request("GET", "https://example.ch")) + domains, redirect = _process_scrape_response(r, "example.ch", set(), None) + assert domains == set() + assert redirect is None + + def test_200_extracts_email_and_redirect(self): + r = httpx.Response( + 200, + text="Contact: info@3908.ch", + request=httpx.Request("GET", "https://www.3908.ch/"), + ) + domains, redirect = _process_scrape_response( + r, "gemeinde-saas-balen.ch", set(), None + ) + assert "3908.ch" in domains + assert redirect == "3908.ch" + + def test_200_same_domain_no_redirect(self): + r = httpx.Response( + 200, + text="Contact: info@mygemeinde.ch", + request=httpx.Request("GET", "https://www.mygemeinde.ch/"), + ) + domains, redirect = _process_scrape_response(r, "mygemeinde.ch", set(), None) + assert "mygemeinde.ch" in domains + assert redirect is None + + def test_preserves_existing_redirect(self): + r = httpx.Response( + 200, + text="Contact: info@other.ch", + request=httpx.Request("GET", "https://www.other.ch/"), + ) + domains, redirect = _process_scrape_response( + r, "example.ch", set(), "already.ch" + ) + assert "other.ch" in domains + assert redirect == "already.ch" + + +# ── _is_ssl_error() ───────────────────────────────────────────────── + + +class TestIsSslError: + def test_direct_ssl_error(self): + import ssl + + exc = ssl.SSLCertVerificationError("certificate verify failed") + assert _is_ssl_error(exc) is True + + def test_nested_ssl_error(self): + import ssl + + ssl_exc = ssl.SSLCertVerificationError("certificate verify failed") + connect_exc = httpx.ConnectError("SSL error") + connect_exc.__cause__ = ssl_exc + assert _is_ssl_error(connect_exc) is True + + def test_non_ssl_error(self): + exc = ConnectionRefusedError("Connection refused") + assert _is_ssl_error(exc) is False + + def test_string_fallback(self): + exc = Exception("CERTIFICATE_VERIFY_FAILED in handshake") + assert _is_ssl_error(exc) is True + + +# ── SSL retry in scrape_email_domains() ────────────────────────────── + + +class TestSslRetry: + @pytest.mark.asyncio + async def test_ssl_error_triggers_insecure_retry(self): + """SSL error should trigger an insecure retry that recovers.""" + import ssl + + ssl_exc = ssl.SSLCertVerificationError("certificate verify failed") + connect_exc = httpx.ConnectError("SSL handshake failed") + connect_exc.__cause__ = ssl_exc + + client = AsyncMock() + client.get = AsyncMock(side_effect=connect_exc) + + fake_response = AsyncMock() + fake_response.status_code = 200 + fake_response.text = "Contact: gemeinde@3908.ch" + fake_response.url = httpx.URL("https://www.3908.ch/") + + with patch( + "mail_sovereignty.resolve._fetch_insecure", + new_callable=AsyncMock, + return_value=fake_response, + ) as mock_fetch: + domains, redirect = await scrape_email_domains( + client, "gemeinde-saas-balen.ch" + ) + + assert "3908.ch" in domains + assert redirect == "3908.ch" + mock_fetch.assert_called() + + @pytest.mark.asyncio + async def test_non_ssl_connect_error_no_retry(self): + """Non-SSL ConnectError should not trigger insecure retry.""" + connect_exc = httpx.ConnectError("Connection refused") + + client = AsyncMock() + client.get = AsyncMock(side_effect=connect_exc) + + with patch( + "mail_sovereignty.resolve._fetch_insecure", + new_callable=AsyncMock, + ) as mock_fetch: + domains, redirect = await scrape_email_domains(client, "example.ch") + + assert domains == set() + assert redirect is None + mock_fetch.assert_not_called() + + @pytest.mark.asyncio + async def test_ssl_retry_failure_continues(self): + """If insecure retry also fails, scrape should continue gracefully.""" + import ssl + + ssl_exc = ssl.SSLCertVerificationError("certificate verify failed") + connect_exc = httpx.ConnectError("SSL handshake failed") + connect_exc.__cause__ = ssl_exc + + client = AsyncMock() + client.get = AsyncMock(side_effect=connect_exc) + + with patch( + "mail_sovereignty.resolve._fetch_insecure", + new_callable=AsyncMock, + side_effect=httpx.ConnectError("still broken"), + ): + domains, redirect = await scrape_email_domains(client, "example.ch") + + assert domains == set() + assert redirect is None diff --git a/tests/test_signatures.py b/tests/test_signatures.py new file mode 100644 index 0000000..dbb0e63 --- /dev/null +++ b/tests/test_signatures.py @@ -0,0 +1,187 @@ +"""Tests for signatures: pattern matching and signature completeness.""" + +from mail_sovereignty.models import Provider +from mail_sovereignty.signatures import ( + GATEWAY_KEYWORDS, + SIGNATURES, + SWISS_ISP_ASNS, + match_patterns, +) + + +class TestMatchPatterns: + def test_hit(self): + assert match_patterns("mail.protection.outlook.com", ("outlook.com",)) + + def test_miss(self): + assert not match_patterns("mx.example.com", ("outlook.com",)) + + def test_case_insensitive(self): + assert match_patterns("MAIL.PROTECTION.OUTLOOK.COM", ("outlook.com",)) + assert match_patterns("mail.protection.outlook.com", ("OUTLOOK.COM",)) + + def test_empty_value(self): + assert not match_patterns("", ("outlook.com",)) + + def test_empty_patterns(self): + assert not match_patterns("mail.protection.outlook.com", ()) + + def test_both_empty(self): + assert not match_patterns("", ()) + + def test_substring_match(self): + assert match_patterns( + "something.mail.protection.outlook.com.extra", ("outlook.com",) + ) + + def test_multiple_patterns_first_matches(self): + assert match_patterns("aspmx.l.google.com", ("google.com", "googlemail.com")) + + def test_multiple_patterns_second_matches(self): + assert match_patterns("alt.googlemail.com", ("google.com", "googlemail.com")) + + def test_list_input(self): + assert match_patterns("test.outlook.com", ["outlook.com"]) + + +class TestSignatures: + def test_four_providers(self): + assert len(SIGNATURES) == 4 + + def test_providers_covered(self): + providers = {s.provider for s in SIGNATURES} + assert providers == { + Provider.MS365, + Provider.GOOGLE, + Provider.AWS, + Provider.INFOMANIAK, + } + + def test_ms365_has_mx(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert "mail.protection.outlook.com" in ms365.mx_patterns + assert "mx.microsoft" in ms365.mx_patterns + + def test_google_has_mx(self): + google = next(s for s in SIGNATURES if s.provider == Provider.GOOGLE) + assert "aspmx.l.google.com" in google.mx_patterns + + def test_google_has_smtp_google(self): + google = next(s for s in SIGNATURES if s.provider == Provider.GOOGLE) + assert "smtp.google.com" in google.mx_patterns + + def test_aws_has_mx(self): + aws = next(s for s in SIGNATURES if s.provider == Provider.AWS) + assert "amazonaws.com" in aws.mx_patterns + + def test_infomaniak_has_mx(self): + infomaniak = next(s for s in SIGNATURES if s.provider == Provider.INFOMANIAK) + assert "mxpool.infomaniak.com" in infomaniak.mx_patterns + assert "ikmail.com" in infomaniak.mx_patterns + assert "mta-gw.infomaniak.ch" in infomaniak.mx_patterns + + def test_infomaniak_has_spf(self): + infomaniak = next(s for s in SIGNATURES if s.provider == Provider.INFOMANIAK) + assert "spf.infomaniak.ch" in infomaniak.spf_includes + + def test_ms365_dkim_selectors(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert "selector1" in ms365.dkim_selectors + assert "selector2" in ms365.dkim_selectors + + def test_aws_no_dkim_selectors(self): + aws = next(s for s in SIGNATURES if s.provider == Provider.AWS) + assert len(aws.dkim_selectors) == 0 + + def test_ms365_dmarc(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert "rua.agari.com" in ms365.dmarc_patterns + + def test_all_have_spf(self): + for sig in SIGNATURES: + assert len(sig.spf_includes) > 0, f"{sig.provider} has no SPF includes" + + def test_ms365_smtp_banner_patterns(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert "microsoft esmtp mail service" in ms365.smtp_banner_patterns + assert "protection.outlook.com" in ms365.smtp_banner_patterns + assert "mx.microsoft" in ms365.smtp_banner_patterns + + def test_ms365_cname_patterns(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert "mail.protection.outlook.com" in ms365.cname_patterns + assert "mx.microsoft" in ms365.cname_patterns + + def test_google_smtp_banner_patterns(self): + google = next(s for s in SIGNATURES if s.provider == Provider.GOOGLE) + assert "mx.google.com" in google.smtp_banner_patterns + assert "google esmtp" in google.smtp_banner_patterns + + def test_ms365_txt_verification(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert "ms=ms" in ms365.txt_verification_patterns + + def test_google_txt_verification(self): + google = next(s for s in SIGNATURES if s.provider == Provider.GOOGLE) + assert "google-site-verification=" in google.txt_verification_patterns + + def test_ms365_asns(self): + ms365 = next(s for s in SIGNATURES if s.provider == Provider.MS365) + assert 8075 in ms365.asns + + def test_google_asns(self): + google = next(s for s in SIGNATURES if s.provider == Provider.GOOGLE) + assert 15169 in google.asns + assert 396982 in google.asns + + def test_aws_asns(self): + aws = next(s for s in SIGNATURES if s.provider == Provider.AWS) + assert 16509 in aws.asns + assert 14618 in aws.asns + + def test_infomaniak_asns(self): + infomaniak = next(s for s in SIGNATURES if s.provider == Provider.INFOMANIAK) + assert 51786 in infomaniak.asns + + def test_infomaniak_smtp_banner(self): + infomaniak = next(s for s in SIGNATURES if s.provider == Provider.INFOMANIAK) + assert "infomaniak" in infomaniak.smtp_banner_patterns + + +class TestGatewayKeywords: + def test_seppmail(self): + assert "seppmail" in GATEWAY_KEYWORDS + assert "seppmail.cloud" in GATEWAY_KEYWORDS["seppmail"] + + def test_cleanmail(self): + assert "cleanmail" in GATEWAY_KEYWORDS + assert "cleanmail.ch" in GATEWAY_KEYWORDS["cleanmail"] + + def test_barracuda(self): + assert "barracuda" in GATEWAY_KEYWORDS + + def test_cisco(self): + assert "cisco" in GATEWAY_KEYWORDS + assert "iphmx.com" in GATEWAY_KEYWORDS["cisco"] + + def test_mimecast(self): + assert "mimecast" in GATEWAY_KEYWORDS + assert "mimecast.com" in GATEWAY_KEYWORDS["mimecast"] + + def test_all_gateways_have_patterns(self): + for gw, patterns in GATEWAY_KEYWORDS.items(): + assert len(patterns) > 0, f"Gateway {gw} has no patterns" + + +class TestSwissIspAsns: + def test_swisscom(self): + assert SWISS_ISP_ASNS[3303] == "Swisscom" + + def test_switch(self): + assert SWISS_ISP_ASNS[559] == "SWITCH" + + def test_infomaniak(self): + assert SWISS_ISP_ASNS[51786] == "Infomaniak Network SA" + + def test_has_entries(self): + assert len(SWISS_ISP_ASNS) > 0 diff --git a/tests/test_smtp.py b/tests/test_smtp.py deleted file mode 100644 index c2dbbcb..0000000 --- a/tests/test_smtp.py +++ /dev/null @@ -1,148 +0,0 @@ -import asyncio - -from mail_sovereignty.smtp import fetch_smtp_banner - - -class TestFetchSmtpBanner: - async def test_microsoft_banner(self): - async def handler(reader, writer): - writer.write( - b"220 BL02EPF0001CA17.mail.protection.outlook.com Microsoft ESMTP MAIL Service ready\r\n" - ) - await writer.drain() - await reader.readline() # EHLO - writer.write(b"250 BL02EPF0001CA17.mail.protection.outlook.com Hello\r\n") - await writer.drain() - await reader.readline() # QUIT - writer.write(b"221 Bye\r\n") - await writer.drain() - writer.close() - - server = await asyncio.start_server(handler, "127.0.0.1", 0) - port = server.sockets[0].getsockname()[1] - async with server: - # Monkey-patch to use our port - result = await _fetch_with_port("127.0.0.1", port) - assert "Microsoft ESMTP MAIL Service" in result["banner"] - assert "250" in result["ehlo"] - - async def test_google_banner(self): - async def handler(reader, writer): - writer.write(b"220 mx.google.com ESMTP ready\r\n") - await writer.drain() - await reader.readline() - writer.write(b"250-mx.google.com at your service\r\n") - writer.write(b"250 SIZE 157286400\r\n") - await writer.drain() - await reader.readline() - writer.write(b"221 Bye\r\n") - await writer.drain() - writer.close() - - server = await asyncio.start_server(handler, "127.0.0.1", 0) - port = server.sockets[0].getsockname()[1] - async with server: - result = await _fetch_with_port("127.0.0.1", port) - assert "mx.google.com" in result["banner"] - - async def test_postfix_banner(self): - async def handler(reader, writer): - writer.write(b"220 mail.example.ch ESMTP Postfix\r\n") - await writer.drain() - await reader.readline() - writer.write(b"250 mail.example.ch\r\n") - await writer.drain() - await reader.readline() - writer.write(b"221 Bye\r\n") - await writer.drain() - writer.close() - - server = await asyncio.start_server(handler, "127.0.0.1", 0) - port = server.sockets[0].getsockname()[1] - async with server: - result = await _fetch_with_port("127.0.0.1", port) - assert "Postfix" in result["banner"] - - async def test_connection_refused(self): - # Use a hostname that will fail DNS resolution - result = await fetch_smtp_banner("host.invalid", timeout=1.0) - assert result["banner"] == "" - assert result["ehlo"] == "" - - async def test_timeout(self): - async def handler(reader, writer): - # Never respond - await asyncio.sleep(30) - - server = await asyncio.start_server(handler, "127.0.0.1", 0) - port = server.sockets[0].getsockname()[1] - async with server: - result = await _fetch_with_port("127.0.0.1", port, timeout=0.5) - assert result["banner"] == "" - - async def test_quit_always_sent(self): - quit_received = [] - - async def handler(reader, writer): - writer.write(b"220 test.example.ch ESMTP\r\n") - await writer.drain() - data = await reader.readline() # EHLO - writer.write(b"250 test.example.ch\r\n") - await writer.drain() - data = await reader.readline() # QUIT - if data.strip().upper() == b"QUIT": - quit_received.append(True) - writer.write(b"221 Bye\r\n") - await writer.drain() - writer.close() - - server = await asyncio.start_server(handler, "127.0.0.1", 0) - port = server.sockets[0].getsockname()[1] - async with server: - await _fetch_with_port("127.0.0.1", port) - assert quit_received - - -async def _fetch_with_port( - host: str, port: int, timeout: float = 5.0 -) -> dict[str, str]: - """Helper: fetch SMTP banner connecting to a specific port.""" - banner = "" - ehlo = "" - reader = None - writer = None - try: - reader, writer = await asyncio.wait_for( - asyncio.open_connection(host, port), timeout=timeout - ) - banner_line = await asyncio.wait_for(reader.readline(), timeout=timeout) - banner = banner_line.decode("utf-8", errors="replace").strip() - - writer.write(b"EHLO mxmap.ch\r\n") - await writer.drain() - - ehlo_lines = [] - while True: - line = await asyncio.wait_for(reader.readline(), timeout=timeout) - decoded = line.decode("utf-8", errors="replace").strip() - ehlo_lines.append(decoded) - if decoded[:4] != "250-": - break - ehlo = "\n".join(ehlo_lines) - - writer.write(b"QUIT\r\n") - await writer.drain() - try: - await asyncio.wait_for(reader.readline(), timeout=2.0) - except Exception: - pass - except Exception: - pass - finally: - if writer: - try: - writer.close() - await writer.wait_closed() - except Exception: - pass - return {"banner": banner, "ehlo": ehlo} diff --git a/tests/test_validate.py b/tests/test_validate.py deleted file mode 100644 index 148ca9c..0000000 --- a/tests/test_validate.py +++ /dev/null @@ -1,508 +0,0 @@ -import json - -import pytest - -from mail_sovereignty.validate import ( - _detect_potential_gateways, - print_report, - run, - score_entry, -) - - -# ── score_entry() ──────────────────────────────────────────────────── - - -class TestScoreEntry: - def test_merged(self): - result = score_entry({"provider": "merged"}) - assert result["score"] == 100 - assert "merged_municipality" in result["flags"] - - def test_full_microsoft(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "bern.ch", - "mx": ["bern-ch.mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "351", - } - ) - assert result["score"] == 90 - assert "mx_spf_match" in result["flags"] - assert "spf_strict" in result["flags"] - - def test_independent_with_matching_spf(self): - result = score_entry( - { - "provider": "independent", - "domain": "ne.ch", - "mx": ["nemx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch ~all", - "bfs": "9000", - } - ) - assert result["score"] >= 70 - assert "mx_spf_match" in result["flags"] - - def test_independent_mx_with_cloud_spf(self): - result = score_entry( - { - "provider": "independent", - "domain": "ne.ch", - "mx": ["nemx9a.ne.ch"], - "spf": "v=spf1 include:spf.protection.outlook.com ~all", - "bfs": "9000", - } - ) - assert "independent_mx_with_cloud_spf" in result["flags"] - - def test_mx_spf_mismatch(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:_spf.google.com -all", - "bfs": "9000", - } - ) - assert "mx_spf_mismatch" in result["flags"] - - def test_no_domain(self): - result = score_entry( - { - "provider": "unknown", - "domain": "", - "mx": [], - "spf": "", - "bfs": "9000", - } - ) - assert "no_domain" in result["flags"] - - def test_no_mx(self): - result = score_entry( - { - "provider": "unknown", - "domain": "test.ch", - "mx": [], - "spf": "", - "bfs": "9000", - } - ) - assert "no_mx" in result["flags"] - - def test_no_spf(self): - result = score_entry( - { - "provider": "independent", - "domain": "test.ch", - "mx": ["mail.test.ch"], - "spf": "", - "bfs": "9000", - } - ) - assert "no_spf" in result["flags"] - - def test_multiple_mx(self): - result = score_entry( - { - "provider": "independent", - "domain": "test.ch", - "mx": ["mx1.test.ch", "mx2.test.ch"], - "spf": "", - "bfs": "9000", - } - ) - assert "multiple_mx" in result["flags"] - - def test_spf_strict(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "9000", - } - ) - assert "spf_strict" in result["flags"] - - def test_spf_softfail(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com ~all", - "bfs": "9000", - } - ) - assert "spf_softfail" in result["flags"] - - def test_multi_provider_spf(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com include:_spf.google.com -all", - "bfs": "9000", - } - ) - assert any(f.startswith("multi_provider_spf:") for f in result["flags"]) - - def test_classified_via_spf_only(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": [], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "9000", - } - ) - assert "classified_via_spf_only" in result["flags"] - - def test_manual_override(self): - result = score_entry( - { - "provider": "swiss-isp", - "domain": "ne.ch", - "mx": ["nemx9a.ne.ch"], - "spf": "v=spf1 include:spf1.ne.ch include:spf.protection.outlook.com ~all", - "bfs": "6404", - "gateway": "cantonal-ne", - } - ) - assert "manual_override" in result["flags"] - - def test_unknown_capped_at_25(self): - result = score_entry( - { - "provider": "unknown", - "domain": "test.ch", - "mx": [], - "spf": "", - "bfs": "9000", - } - ) - assert result["score"] <= 25 - - def test_autodiscover_confirms(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "frutigen.ch", - "mx": ["mx01.hornetsecurity.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "500", - "gateway": "hornetsecurity", - "autodiscover": {"autodiscover_cname": "autodiscover.outlook.com"}, - } - ) - assert "autodiscover_confirms" in result["flags"] - - def test_autodiscover_suggests_for_independent(self): - result = score_entry( - { - "provider": "independent", - "domain": "example.ch", - "mx": ["mail.example.ch"], - "spf": "", - "bfs": "9000", - "autodiscover": {"autodiscover_cname": "autodiscover.outlook.com"}, - } - ) - assert "autodiscover_suggests:microsoft" in result["flags"] - - def test_smtp_confirms(self): - result = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "9000", - "smtp_banner": "220 mail.protection.outlook.com Microsoft ESMTP MAIL Service ready", - } - ) - assert "smtp_confirms" in result["flags"] - - def test_smtp_suggests_for_independent(self): - result = score_entry( - { - "provider": "independent", - "domain": "example.ch", - "mx": ["mail.example.ch"], - "spf": "", - "bfs": "9000", - "smtp_banner": "220 mail.protection.outlook.com Microsoft ESMTP MAIL Service ready", - } - ) - assert "smtp_suggests:microsoft" in result["flags"] - - def test_smtp_no_flag_when_unrecognized(self): - result = score_entry( - { - "provider": "independent", - "domain": "example.ch", - "mx": ["mail.example.ch"], - "spf": "", - "bfs": "9000", - "smtp_banner": "220 mail.example.ch ESMTP Postfix", - } - ) - assert not any(f.startswith("smtp_") for f in result["flags"]) - - def test_smtp_confirms_adds_score(self): - with_smtp = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "9000", - "smtp_banner": "220 mail.protection.outlook.com Microsoft ESMTP MAIL Service ready", - } - ) - without_smtp = score_entry( - { - "provider": "microsoft", - "domain": "test.ch", - "mx": ["mail.protection.outlook.com"], - "spf": "v=spf1 include:spf.protection.outlook.com -all", - "bfs": "9000", - } - ) - assert with_smtp["score"] == without_smtp["score"] + 5 - - def test_autodiscover_no_flag_when_unrecognized(self): - result = score_entry( - { - "provider": "independent", - "domain": "example.ch", - "mx": ["mail.example.ch"], - "spf": "", - "bfs": "9000", - "autodiscover": {"autodiscover_cname": "autodiscover.custom.ch"}, - } - ) - assert not any(f.startswith("autodiscover_") for f in result["flags"]) - - -# ── print_report() ─────────────────────────────────────────────────── - - -class TestPrintReport: - def test_runs_without_error(self, capsys): - entries = [ - { - "bfs": "1", - "name": "A", - "provider": "microsoft", - "score": 90, - "flags": ["mx_spf_match"], - }, - { - "bfs": "2", - "name": "B", - "provider": "independent", - "score": 70, - "flags": ["no_spf"], - }, - ] - print_report(entries) - - def test_output_contains_header(self, capsys): - entries = [ - { - "bfs": "1", - "name": "A", - "provider": "microsoft", - "score": 90, - "flags": ["mx_spf_match"], - }, - ] - print_report(entries) - captured = capsys.readouterr() - assert "VALIDATION REPORT" in captured.out - - -# ── _detect_potential_gateways() ────────────────────────────────────── - - -def _make_independent_entry(name, domain, mx_raw): - return { - "bfs": "0", - "name": name, - "provider": "independent", - "domain": domain, - "score": 70, - "flags": [], - "mx_raw": mx_raw, - "spf_raw": "", - } - - -class TestDetectPotentialGateways: - def test_detects_shared_mx_suffix(self): - entries = [ - _make_independent_entry(f"Town{i}", f"town{i}.ch", ["mx.gateway.com"]) - for i in range(6) - ] - result = _detect_potential_gateways(entries) - assert len(result) == 1 - assert result[0][0] == "gateway.com" - assert result[0][1] == 6 - - def test_ignores_own_domain(self): - entries = [ - _make_independent_entry(f"Town{i}", "shared.ch", ["mail.shared.ch"]) - for i in range(6) - ] - result = _detect_potential_gateways(entries) - assert len(result) == 0 - - def test_ignores_known_gateways(self): - entries = [ - _make_independent_entry(f"Town{i}", f"town{i}.ch", ["mx.seppmail.cloud"]) - for i in range(6) - ] - result = _detect_potential_gateways(entries) - assert len(result) == 0 - - def test_below_threshold_not_flagged(self): - entries = [ - _make_independent_entry(f"Town{i}", f"town{i}.ch", ["mx.gateway.com"]) - for i in range(4) - ] - result = _detect_potential_gateways(entries) - assert len(result) == 0 - - def test_non_independent_ignored(self): - entries = [ - { - "bfs": "0", - "name": f"Town{i}", - "provider": "microsoft", - "domain": f"town{i}.ch", - "score": 90, - "flags": [], - "mx_raw": ["mx.gateway.com"], - "spf_raw": "", - } - for i in range(6) - ] - result = _detect_potential_gateways(entries) - assert len(result) == 0 - - def test_returns_sample_names(self): - entries = [ - _make_independent_entry(f"Town{i}", f"town{i}.ch", ["mx.gateway.com"]) - for i in range(7) - ] - result = _detect_potential_gateways(entries) - assert len(result) == 1 - assert len(result[0][2]) == 3 - assert result[0][2] == ["Town0", "Town1", "Town2"] - - def test_print_report_shows_gateway_warning(self, capsys): - entries = [ - _make_independent_entry(f"Town{i}", f"town{i}.ch", ["mx.newgw.com"]) - for i in range(6) - ] - print_report(entries) - captured = capsys.readouterr() - assert "Potential undetected gateways" in captured.out - assert "newgw.com" in captured.out - - -# ── run() ──────────────────────────────────────────────────────────── - - -class TestRun: - def test_missing_data_json(self, tmp_path): - with pytest.raises(SystemExit): - run(tmp_path / "nonexistent.json", tmp_path) - - def test_writes_json_report(self, sample_data_json, tmp_path): - run(sample_data_json, tmp_path) - json_path = tmp_path / "validation_report.json" - assert json_path.exists() - data = json.loads(json_path.read_text()) - assert "total" in data - assert "entries" in data - - def test_writes_csv_report(self, sample_data_json, tmp_path): - run(sample_data_json, tmp_path) - csv_path = tmp_path / "validation_report.csv" - assert csv_path.exists() - lines = csv_path.read_text().strip().split("\n") - assert lines[0] == "bfs,name,provider,domain,confidence,flags" - - def test_csv_row_count(self, sample_data_json, tmp_path): - run(sample_data_json, tmp_path) - csv_path = tmp_path / "validation_report.csv" - lines = csv_path.read_text().strip().split("\n") - # header + 3 municipalities - assert len(lines) == 4 - - def test_console_output(self, sample_data_json, tmp_path, capsys): - run(sample_data_json, tmp_path) - captured = capsys.readouterr() - assert "VALIDATION REPORT" in captured.out - - def test_returns_true_when_quality_passes( - self, sample_data_json, tmp_path, monkeypatch - ): - monkeypatch.setattr("mail_sovereignty.validate.MIN_AVERAGE_SCORE", 10) - monkeypatch.setattr("mail_sovereignty.validate.MIN_HIGH_CONFIDENCE_PCT", 10) - result = run(sample_data_json, tmp_path) - assert result is True - - def test_returns_false_when_average_below_threshold( - self, sample_data_json, tmp_path, monkeypatch - ): - monkeypatch.setattr("mail_sovereignty.validate.MIN_AVERAGE_SCORE", 99) - monkeypatch.setattr("mail_sovereignty.validate.MIN_HIGH_CONFIDENCE_PCT", 10) - result = run(sample_data_json, tmp_path) - assert result is False - - def test_returns_false_when_high_confidence_below_threshold( - self, sample_data_json, tmp_path, monkeypatch - ): - monkeypatch.setattr("mail_sovereignty.validate.MIN_AVERAGE_SCORE", 10) - monkeypatch.setattr("mail_sovereignty.validate.MIN_HIGH_CONFIDENCE_PCT", 100) - result = run(sample_data_json, tmp_path) - assert result is False - - def test_exits_nonzero_with_quality_gate( - self, sample_data_json, tmp_path, monkeypatch - ): - monkeypatch.setattr("mail_sovereignty.validate.MIN_AVERAGE_SCORE", 99) - monkeypatch.setattr("mail_sovereignty.validate.MIN_HIGH_CONFIDENCE_PCT", 10) - with pytest.raises(SystemExit) as exc_info: - run(sample_data_json, tmp_path, quality_gate=True) - assert exc_info.value.code == 1 - - def test_no_exit_without_quality_gate( - self, sample_data_json, tmp_path, monkeypatch - ): - monkeypatch.setattr("mail_sovereignty.validate.MIN_AVERAGE_SCORE", 99) - monkeypatch.setattr("mail_sovereignty.validate.MIN_HIGH_CONFIDENCE_PCT", 10) - result = run(sample_data_json, tmp_path, quality_gate=False) - assert result is False - - def test_report_includes_quality_fields( - self, sample_data_json, tmp_path, monkeypatch - ): - monkeypatch.setattr("mail_sovereignty.validate.MIN_AVERAGE_SCORE", 10) - monkeypatch.setattr("mail_sovereignty.validate.MIN_HIGH_CONFIDENCE_PCT", 10) - run(sample_data_json, tmp_path) - report = json.loads((tmp_path / "validation_report.json").read_text()) - assert "high_confidence_pct" in report - assert "quality_passed" in report - assert report["quality_passed"] is True diff --git a/uv.lock b/uv.lock index 981ea5d..c82760f 100644 --- a/uv.lock +++ b/uv.lock @@ -2,6 +2,15 @@ version = 1 revision = 3 requires-python = ">=3.13" +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + [[package]] name = "anyio" version = "4.12.1" @@ -165,6 +174,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] +[[package]] +name = "loguru" +version = "0.7.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "win32-setctime", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, +] + [[package]] name = "mxmap" version = "0.1.0" @@ -172,6 +194,9 @@ source = { editable = "." } dependencies = [ { name = "dnspython" }, { name = "httpx" }, + { name = "loguru" }, + { name = "pydantic" }, + { name = "stamina" }, ] [package.dev-dependencies] @@ -187,6 +212,9 @@ dev = [ requires-dist = [ { name = "dnspython", specifier = ">=2.8.0" }, { name = "httpx", specifier = ">=0.28.1" }, + { name = "loguru", specifier = ">=0.7.3" }, + { name = "pydantic", specifier = ">=2.0" }, + { name = "stamina", specifier = ">=25.2.0" }, ] [package.metadata.requires-dev] @@ -216,6 +244,74 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] +[[package]] +name = "pydantic" +version = "2.12.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/06/8806241ff1f70d9939f9af039c6c35f2360cf16e93c2ca76f184e76b1564/pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9", size = 2120403, upload-time = "2025-11-04T13:40:25.248Z" }, + { url = "https://files.pythonhosted.org/packages/94/02/abfa0e0bda67faa65fef1c84971c7e45928e108fe24333c81f3bfe35d5f5/pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34", size = 1896206, upload-time = "2025-11-04T13:40:27.099Z" }, + { url = "https://files.pythonhosted.org/packages/15/df/a4c740c0943e93e6500f9eb23f4ca7ec9bf71b19e608ae5b579678c8d02f/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0", size = 1919307, upload-time = "2025-11-04T13:40:29.806Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e3/6324802931ae1d123528988e0e86587c2072ac2e5394b4bc2bc34b61ff6e/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33", size = 2063258, upload-time = "2025-11-04T13:40:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d4/2230d7151d4957dd79c3044ea26346c148c98fbf0ee6ebd41056f2d62ab5/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e", size = 2214917, upload-time = "2025-11-04T13:40:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9f/eaac5df17a3672fef0081b6c1bb0b82b33ee89aa5cec0d7b05f52fd4a1fa/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2", size = 2332186, upload-time = "2025-11-04T13:40:37.436Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4e/35a80cae583a37cf15604b44240e45c05e04e86f9cfd766623149297e971/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586", size = 2073164, upload-time = "2025-11-04T13:40:40.289Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e3/f6e262673c6140dd3305d144d032f7bd5f7497d3871c1428521f19f9efa2/pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d", size = 2179146, upload-time = "2025-11-04T13:40:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/20bd7fc05f0c6ea2056a4565c6f36f8968c0924f19b7d97bbfea55780e73/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740", size = 2137788, upload-time = "2025-11-04T13:40:44.752Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8d/34318ef985c45196e004bc46c6eab2eda437e744c124ef0dbe1ff2c9d06b/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e", size = 2340133, upload-time = "2025-11-04T13:40:46.66Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/013626bf8c78a5a5d9350d12e7697d3d4de951a75565496abd40ccd46bee/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858", size = 2324852, upload-time = "2025-11-04T13:40:48.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d9/c248c103856f807ef70c18a4f986693a46a8ffe1602e5d361485da502d20/pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36", size = 1994679, upload-time = "2025-11-04T13:40:50.619Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/341991b158ddab181cff136acd2552c9f35bd30380422a639c0671e99a91/pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11", size = 2019766, upload-time = "2025-11-04T13:40:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/73/7d/f2f9db34af103bea3e09735bb40b021788a5e834c81eedb541991badf8f5/pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd", size = 1981005, upload-time = "2025-11-04T13:40:54.734Z" }, + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, +] + [[package]] name = "pygments" version = "2.19.2" @@ -303,3 +399,54 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b8/00/bf077a505b4e649bdd3c47ff8ec967735ce2544c8e4a43aba42ee9bf935d/ruff-0.15.5-py3-none-win_amd64.whl", hash = "sha256:821d41c5fa9e19117616c35eaa3f4b75046ec76c65e7ae20a333e9a8696bc7fe", size = 11678972, upload-time = "2026-03-05T20:06:45.379Z" }, { url = "https://files.pythonhosted.org/packages/fe/4e/cd76eca6db6115604b7626668e891c9dd03330384082e33662fb0f113614/ruff-0.15.5-py3-none-win_arm64.whl", hash = "sha256:b498d1c60d2fe5c10c45ec3f698901065772730b411f164ae270bb6bfcc4740b", size = 10965572, upload-time = "2026-03-05T20:06:16.984Z" }, ] + +[[package]] +name = "stamina" +version = "25.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "tenacity" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/b7/8064b246b3d684720080ee8ffbf1dde5caabe852eb9cb53655eb97992af2/stamina-25.2.0.tar.gz", hash = "sha256:fdff938789e8a0c4c496e1ee8a08ee3c7c3351239f235b53e60d4f5964d07e19", size = 565737, upload-time = "2025-12-11T09:16:59.195Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/81/c525760353dff91ae2e4c42c3f3d9bf0bfeecbb6165cc393e86915f1717d/stamina-25.2.0-py3-none-any.whl", hash = "sha256:7f0de7dba735464c256a31e6372c01b8bb51fb6efd649e6773f4ce804462feea", size = 18791, upload-time = "2025-12-11T09:16:57.235Z" }, +] + +[[package]] +name = "tenacity" +version = "9.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz", hash = "sha256:adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a", size = 49413, upload-time = "2026-02-07T10:45:33.841Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl", hash = "sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55", size = 28926, upload-time = "2026-02-07T10:45:32.24Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "win32-setctime" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" }, +] diff --git a/validation_report.csv b/validation_report.csv deleted file mode 100644 index d500486..0000000 --- a/validation_report.csv +++ /dev/null @@ -1,2116 +0,0 @@ -bfs,name,provider,domain,confidence,flags -715,Rebévelier,unknown,,0,no_domain; no_mx; no_spf; provider_unknown -709,Seehof BE,unknown,,0,no_domain; no_mx; no_spf; provider_unknown -6172,Bister VS,microsoft,gemeinde-bister.ch,25,no_mx; no_spf; provider_classified -2056,Fétigny-Ménières,microsoft,fetigny-menieres.ch,25,no_mx; no_spf; provider_classified -422,Rüti bei Lyssach,infomaniak,ruetibeilyssach.ch,30,no_mx; no_spf; provider_classified; manual_override -2762,Allschwil,independent,allschwil.ch,50,no_spf; provider_classified -5471,Bettens,independent,bettens.ch,50,no_spf; provider_classified -3831,Cama,independent,cama.ch,50,no_spf; provider_classified -735,Epsach,independent,epsach.ch,50,no_spf; provider_classified -6285,Grächen,independent,gemeinde-graechen.ch,50,no_spf; provider_classified -2476,Hofstetten-Flüh,independent,hofstettenflueh.ch,50,no_spf; provider_classified -1404,Kerns,swiss-isp,kerns.ch,50,no_spf; provider_classified -723,La Neuveville,independent,laneuveville.ch,50,no_spf; provider_classified -589,Oberried am Brienzersee,independent,oberried.ch,50,no_spf; provider_classified -3034,Rehetobel,independent,rehetobel.ch,50,no_spf; provider_classified -6289,Saas-Balen,independent,gemeinde-saas-balen.ch,50,no_spf; provider_classified -3003,Schönengrund,independent,schoenengrund.ch,50,no_spf; provider_classified -3024,Teufen,independent,teufen.ch,50,no_spf; provider_classified -5935,Villars-Epeney,infomaniak,villars-epeney.ch,50,no_spf; provider_classified -2292,Brünisried,independent,bruenisried.ch,55,multiple_mx; no_spf; provider_classified -3782,Celerina/Schlarigna,independent,gemeinde-celerina.ch,55,multiple_mx; no_spf; provider_classified -6151,Champéry,independent,admin-champery.ch,55,multiple_mx; no_spf; provider_classified -1301,Einsiedeln,independent,einsiedeln.ch,55,multiple_mx; no_spf; provider_classified -948,Forst-Längenbühl,independent,forst-laengenbuehl.ch,55,multiple_mx; no_spf; provider_classified -220,Hagenbuch,independent,hagenbuch.zh.ch,55,multiple_mx; no_spf; provider_classified -4486,Hauptwil-Gottshaus,swiss-isp,hauptwil-gottshaus.ch,55,multiple_mx; no_spf; provider_classified -6421,La Chaux-de-Fonds,swiss-isp,chaux-de-fonds.ch,55,multiple_mx; no_spf; provider_classified -3033,Lutzenberg,independent,lutzenberg.ch,55,multiple_mx; no_spf; provider_classified -5117,Mergoscia,independent,mergoscia.ch,55,multiple_mx; no_spf; provider_classified -89,Niederglatt ZH,independent,niederglatt.zh.ch,55,multiple_mx; no_spf; provider_classified -2893,Reigoldswil,independent,reigoldswil.ch,55,multiple_mx; no_spf; provider_classified -225,Rickenbach ZH,independent,rickenbach.zh.ch,55,multiple_mx; no_spf; provider_classified; provider_via_gateway_spf -6288,Saas-Almagell,swiss-isp,saas-almagell.org,55,multiple_mx; no_spf; provider_classified -2041,Saint-Aubin,independent,st-aubin.ch,55,multiple_mx; no_spf; provider_classified; provider_via_gateway_spf -3787,St. Moritz,independent,gemeinde-stmoritz.ch,55,multiple_mx; no_spf; provider_classified -2230,Villarsel-sur-Marly,independent,villarsel-sur-marly.ch,55,multiple_mx; no_spf; provider_classified -946,Wachseldorn,independent,wachseldorn.ch,55,multiple_mx; no_spf; provider_classified; provider_via_gateway_spf -2792,Wahlen,independent,wahlen.ch,55,multiple_mx; no_spf; provider_classified -120,Wald,swiss-isp,wald.zh.ch,55,multiple_mx; no_spf; provider_classified -990,Walliswil bei Niederbipp,independent,walliswil-bipp.ch,55,multiple_mx; no_spf; provider_classified -602,Arni,aws,arnibe.ch,70,spf_strict; provider_classified -971,Attiswil,aws,attiswil.ch,70,spf_strict; provider_classified -973,Bettenhausen,aws,bettenhausen.ch,70,spf_strict; provider_classified -4132,Birrwil,aws,birrwil.ch,70,spf_strict; provider_classified -4273,Bottenwil,aws,bottenwil.ch,70,spf_strict; provider_classified -2884,Diegten,aws,diegten.ch,70,spf_strict; provider_classified -4231,Dietwil,aws,dietwil.ch,70,spf_strict; provider_classified -4306,Fisibach,aws,fisibach.ch,70,spf_strict; provider_classified -4165,Gipf-Oberfrick,aws,gipf-oberfrick.ch,70,spf_strict; provider_classified -4251,Hellikon,aws,hellikon.ch,70,spf_strict; provider_classified -408,Hellsau,aws,hellsau.ch,70,spf_strict; provider_classified -4136,Holziken,aws,holziken.ch,70,spf_strict; provider_classified -410,Höchstetten,aws,hoechstetten.ch,70,spf_strict; provider_classified -2851,Kilchberg,aws,kilchberg-bl.ch,70,spf_strict; provider_classified -4105,Mandach,aws,mandach.ch,70,spf_strict; provider_classified -617,Niederhünigen,aws,niederhuenigen.ch,70,spf_strict; provider_classified -4257,Olsberg,aws,olsberg.ch,70,spf_strict; provider_classified -701,Perrefitte,independent,perrefitte.ch,70,spf_strict; independent_mx_with_cloud_spf; multi_provider_spf:infomaniak+microsoft; provider_classified -2857,Rickenbach,aws,rickenbach-bl.ch,70,spf_strict; provider_classified -2860,Rünenberg,aws,ruenenberg.ch,70,spf_strict; provider_classified -4142,Schlossrued,aws,schlossrued.ch,70,spf_strict; provider_classified -4239,Sins,aws,sins.ch,70,spf_strict; provider_classified -4262,Wegenstetten,aws,wegenstetten.ch,70,spf_strict; provider_classified -2481,Witterswil,aws,witterswil.ch,70,spf_strict; provider_classified -2868,Zeglingen,aws,zeglingen.ch,70,spf_strict; provider_classified -2869,Zunzgen,aws,zunzgen.ch,70,spf_strict; provider_classified -4264,Zuzgen,aws,zuzgen.ch,70,spf_strict; provider_classified -3640,Sils im Domleschg,microsoft,sils-id.ch,73,spf_softfail; provider_classified; autodiscover_confirms -6239,Icogne,independent,icogne.ch,75,independent_mx_with_cloud_spf; provider_classified -2234,La Brillaz,microsoft,labrillaz.ch,75,spf_strict; independent_mx_with_cloud_spf; multi_provider_spf:infomaniak+microsoft; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5724,Nyon,independent,nyon.ch,75,multiple_mx; spf_strict; independent_mx_with_cloud_spf; multi_provider_spf:infomaniak+microsoft; provider_classified -177,Pfäffikon,microsoft,pfaeffikon.ch,75,spf_strict; provider_classified; autodiscover_confirms -450,Péry-La Heutte,independent,pery-laheutte.ch,75,multiple_mx; spf_strict; independent_mx_with_cloud_spf; multi_provider_spf:infomaniak+microsoft; provider_classified -3506,Vaz/Obervaz,microsoft,vazobervaz.ch,75,spf_strict; provider_classified; autodiscover_confirms -1364,Ingenbohl,independent,ingenbohl.ch,78,spf_softfail; independent_mx_with_cloud_spf; provider_classified -5587,Le Mont-sur-Lausanne,swiss-isp,lemontsurlausanne.ch,78,spf_softfail; independent_mx_with_cloud_spf; provider_classified -5495,Penthalaz,microsoft,penthalaz.ch,78,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -4021,Baden,microsoft,baden.ch,80,spf_strict; mx_spf_match; multi_provider_spf:aws+microsoft; provider_classified -5423,Ballens,microsoft,ballens.ch,80,mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -1501,Beckenried,independent,beckenried.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -353,Bremgarten bei Bern,swiss-isp,3047.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -4095,Brugg,microsoft,brugg.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -5909,Cheseaux-Noréaz,independent,cheseaux-noreaz.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -6614,Choulex,independent,choulex.ch,80,multiple_mx; independent_mx_with_cloud_spf; provider_classified -2325,Châtel-Saint-Denis,microsoft,chatel-st-denis.ch,80,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified -691,Crémines,independent,cremines.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -114,Fischenthal,swiss-isp,fischenthal.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -2196,Freiburg im Üechtland,swiss-isp,ville-fribourg.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -4656,Güttingen,swiss-isp,guettingen.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -6134,Isérables,independent,iserables.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -5806,Jorat-Mézières,swiss-isp,jorat-mezieres.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -1061,Luzern,swiss-isp,stadtluzern.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -5490,Moiry VD,independent,moiry.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -6831,Moutier,swiss-isp,moutier.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -356,Muri bei Bern,swiss-isp,muri-guemligen.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -155,Männedorf,swiss-isp,maennedorf.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -1094,Nottwil,independent,nottwil.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -6076,Obergoms,independent,obergoms.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -5411,Ormont-Dessus,independent,ormont-dessus.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -2773,Reinach,microsoft,reinach-bl.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -2333,Remaufens,independent,remaufens.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -6035,Sembrancher,independent,sembrancher.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -909,Trubschachen,swiss-isp,trubschachen.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -5571,Tévenon,swiss-isp,villars-burquin.ch,80,multiple_mx; independent_mx_with_cloud_spf; provider_classified -593,Unterseen,swiss-isp,unterseen.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -5230,Vernate,swiss-isp,vernate.ch,80,spf_strict; independent_mx_with_cloud_spf; provider_classified -5890,Vevey,microsoft,vevey.ch,80,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified -2761,Aesch,independent,aesch.bl.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -6252,Anniviers,infomaniak,anniviers.org,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -3211,Berg,microsoft,bergsg.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4716,Bettwiesen,microsoft,bettwiesen.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -371,Biel/Bienne,swiss-isp,biel-bienne.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -5882,Chardonne,microsoft,chardonne.ch,83,spf_softfail; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6235,Chippis,infomaniak,chippis.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -431,Corgémont,microsoft,corgemont.ch,83,spf_softfail; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5883,Corseaux,microsoft,corseaux.ch,83,spf_softfail; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2131,Echarlens,microsoft,echarlens.ch,83,spf_softfail; mx_spf_match; multi_provider_spf:google+infomaniak+microsoft; provider_classified; autodiscover_confirms -56,Embrach,microsoft,embrach.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -4646,Ermatingen,swiss-isp,ermatingen.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -3442,Gaiserwald,microsoft,gaiserwald.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6263,Grimisuat,infomaniak,grimisuat.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -5,Hedingen,independent,hedingen.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -5474,La Chaux (Cossonay),microsoft,lachaux.ch,83,spf_softfail; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -35,Marthalen,microsoft,marthalen.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -615,Mirchel,microsoft,mirchel.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6751,Montfaucon,swiss-isp,montfaucon.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -5642,Morges,independent,morges.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -3214,Mörschwil,microsoft,moerschwil.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -3407,Oberuzwil,microsoft,oberuzwil.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -310,Rapperswil,independent,rapperswil-be.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified -6140,Saillon,microsoft,saillon.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6087,Saint-Martin,infomaniak,saint-martin.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -227,Seuzach,microsoft,seuzach.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6266,Sitten,infomaniak,sion.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -3203,St. Gallen,microsoft,stadt.sg.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6293,Stalden,microsoft,stalden.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -228,Turbenthal,microsoft,turbenthal.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3408,Uzwil,microsoft,uzwil.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6298,Visperterminen,microsoft,visperterminen.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -3379,Wattwil,microsoft,wattwil.ch,83,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -4045,Wettingen,microsoft,wettingen.ch,83,spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5048,Acquarossa,microsoft,acquarossa.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6601,Aire-la-Ville,independent,aire-la-ville.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6602,Anières,independent,anieres.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5001,Arbedo-Castione,microsoft,arbedocastione.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5743,Arnex-sur-Orbe,infomaniak,arnex-sur-orbe.ch,85,mx_spf_match; provider_classified -5702,Arzier-Le Muids,microsoft,arzier.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6191,Ausserberg,microsoft,ausserberg.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -2173,Autigny,microsoft,autigny.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6603,Avully,independent,avully.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6604,Avusy,independent,avusy.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6082,Ayent,microsoft,ayent.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -1701,Baar,independent,baar.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6605,Bardonnex,independent,bardonnex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6807,Basse-Allaine,microsoft,basse-allaine.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -297,Bauma,microsoft,bauma.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5002,Bellinzona,microsoft,bellinzona.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6052,Bellwald,microsoft,bellwald.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -4891,Berg,microsoft,berg-tg.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6607,Bernex,independent,bernex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -242,Birmensdorf,microsoft,birmensdorf.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -4901,Birwinken,microsoft,birwinken.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5425,Bière,microsoft,biere-vd.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2238,Bois-d’Amont,microsoft,bois-damont.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6774,Boncourt,independent,boncourt.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5706,Borex,microsoft,borex.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2123,Botterens,microsoft,botterens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6131,Bovernier,microsoft,bovernier.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5515,Bretigny-sur-Morrens,microsoft,bretigny.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6002,Brig-Glis,microsoft,brig-glis.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -2124,Broc,microsoft,broc.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5623,Buchillon,microsoft,buchillon.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -3271,Buchs,microsoft,buchs-sg.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -1502,Buochs,independent,buochs.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5854,Burtigny,microsoft,burtigny.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5003,Cadenazzo,microsoft,cadenazzo.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6608,Carouge,independent,carouge.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6609,Cartigny,independent,cartigny.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1702,Cham,independent,cham.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6611,Chancy,independent,chancy.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5707,Chavannes-de-Bogis,microsoft,chavannes-de-bogis.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5708,Chavannes-des-Bois,microsoft,chavannes-des-bois.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5582,Cheseaux-sur-Lausanne,microsoft,cheseaux.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -3901,Chur,independent,chur.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6612,Chêne-Bougeries,independent,chene-bougeries.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6613,Chêne-Bourg,independent,chene-bourg.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5908,Chêne-Pâquier,infomaniak,chene-paquier.ch,85,mx_spf_match; provider_classified -6615,Collex-Bossy,independent,collex-bossy.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6152,Collombey-Muraz,microsoft,collombey-muraz.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6617,Cologny,independent,cologny.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5884,Corsier-sur-Vevey,microsoft,corsier-sur-vevey.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -433,Cortébert,infomaniak,cortebert.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6706,Courchapoix,infomaniak,courchapoix.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+mailchimp+microsoft; provider_classified; autodiscover_confirms -5714,Crassier,microsoft,crassier.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5911,Cuarny,microsoft,cuarny.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6610,Céligny,independent,celigny.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -25,Dachsen,microsoft,dachsen.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5480,Daillens,microsoft,daillens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6811,Damphreux-Lugnez,microsoft,damphreux-lugnez.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6620,Dardagny,independent,dardagny.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -86,Dielsdorf,microsoft,dielsdorf.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -243,Dietikon,microsoft,dietikon.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -5671,Dompierre,microsoft,dompierre-vd.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5715,Duillier,microsoft,duillier.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2072,Ecublens,microsoft,ecublens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+mailjet+microsoft; provider_classified; autodiscover_confirms -5635,Ecublens,microsoft,ecublens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+mailjet+microsoft; provider_classified; autodiscover_confirms -1504,Emmetten,independent,emmetten.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1206,Erstfeld,independent,erstfeld.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2054,Estavayer,microsoft,estavayer.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6213,Evionnaz,microsoft,evionnaz.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5072,Faido,microsoft,faido.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5458,Faoug,infomaniak,faoug.ch,85,mx_spf_match; provider_classified -1321,Feusisberg,microsoft,feusisberg.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5522,Fey VD,microsoft,fey-vd.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -29,Flurlingen,microsoft,flurlingen.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6790,Fontenais,independent,fontenais.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5717,Founex,microsoft,founex.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -4566,Frauenfeld,swiss-isp,frauenfeld.ch,85,mx_spf_match; provider_classified -4029,Gebenstorf,independent,gebenstorf.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5720,Givrins,microsoft,givrins.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5721,Gland,microsoft,gland.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -3341,Gommiswald,microsoft,gommiswald.ch,85,multiple_mx; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5485,Grancy,infomaniak,grancy.ch,85,mx_spf_match; provider_classified -4006,Gränichen,microsoft,graenichen.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -1209,Gurtnellen,independent,gurtnellen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2901,Gächlingen,independent,gaechlingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1208,Göschenen,independent,goeschenen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5656,Hautemorges,microsoft,hautemorges.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -928,Heimberg,independent,heimberg.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1507,Hergiswil,independent,hergiswil.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -929,Hilterfingen,independent,hilterfingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -4816,Homburg,swiss-isp,homburg.ch,85,mx_spf_match; provider_classified -1058,Horw,microsoft,horw.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1703,Hünenberg,independent,zg.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1211,Isenthal,independent,isenthal.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -3863,Jenaz,independent,jenaz.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -564,Kandergrund,microsoft,kandergrund.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -566,Krattigen,microsoft,krattigen.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4671,Kreuzlingen,swiss-isp,kreuzlingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6810,La Baroche,infomaniak,baroche.ch,85,mx_spf_match; provider_classified -6627,Laconnex,independent,laconnex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6750,Lajoux,microsoft,lajoux.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6628,Lancy,independent,lancy.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5872,Le Chenit,infomaniak,communeduchenit.ch,85,mx_spf_match; provider_classified -6623,Le Grand-Saconnex,independent,grand-saconnex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5731,Le Vaud,microsoft,levaud.ch,85,spf_strict; mx_spf_match; multi_provider_spf:aws+infomaniak+microsoft; provider_classified; autodiscover_confirms -5407,Leysin,microsoft,leysin.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -2903,Löhningen,independent,loehningen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -195,Maur,microsoft,maur.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5488,Mauraz,infomaniak,mauraz.ch,85,mx_spf_match; provider_classified -6629,Meinier,independent,meinier.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5254,Mendrisio,independent,mendrisio.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1704,Menzingen,independent,zg.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2936,Merishausen,independent,merishausen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6630,Meyrin,independent,meyrin.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2272,Misery-Courtion,microsoft,misery-courtion.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2029,Montagny,microsoft,montagny-fr.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5922,Montagny-près-Yverdon,infomaniak,montagny.ch,85,mx_spf_match; provider_classified -5693,Montanaire,microsoft,montanaire.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+mailgun+microsoft; provider_classified; autodiscover_confirms -6153,Monthey,microsoft,monthey.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -5527,Morrens,microsoft,morrens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5678,Moudon,microsoft,moudon.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -4254,Möhlin,microsoft,moehlin.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -196,Mönchaltorf,google,moenchaltorf.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -616,Münsingen,independent,muensingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6007,Naters,microsoft,naters.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1705,Neuheim,independent,neuheim.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -90,Niederhasli,microsoft,niederhasli.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -357,Oberbalm,independent,oberbalm.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1508,Oberdorf NW,independent,nw.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -934,Oberhofen am Thunersee,independent,oberhofen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2771,Oberwil,microsoft,oberwil.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1706,Oberägeri,independent,oberaegeri.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -157,Oetwil am See,microsoft,oetwil.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -2581,Olten,microsoft,olten.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -6631,Onex,independent,onex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5565,Onnens,independent,onnens.ch,85,mx_spf_match; provider_classified -6034,Orsières,independent,orsieres.ch,85,mx_spf_match; provider_classified -6632,Perly-Certoux,independent,perly-certoux.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2216,Pierrafortscha,microsoft,pierrafortscha.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6633,Plan-les-Ouates,independent,plan-les-ouates.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5214,Porza,swiss-isp,ti.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6800,Pruntrut,independent,porrentruy.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6636,Puplinge,independent,puplinge.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5079,Quinto,microsoft,tiquinto.ch,85,mx_spf_match; provider_classified -5760,Rances,microsoft,rances.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -3340,Rapperswil-Jona,microsoft,rapperswil-jona.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -3255,Rebstein,microsoft,rebstein.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -703,Reconvilier,independent,reconvilier.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1345,Reichenburg,independent,reichenburg.ch,85,mx_spf_match; provider_classified; provider_via_gateway_spf -5591,Renens,microsoft,renens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -3235,Rheineck,microsoft,rheineck.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -4258,Rheinfelden,microsoft,rheinfelden.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -1707,Risch,independent,zg.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5645,Romanel-sur-Morges,microsoft,romanel-sur-morges.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2096,Romont,microsoft,romont.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -4282,Rothrist,microsoft,rothrist.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -623,Rubigen,swiss-isp,rubigen.ch,85,mx_spf_match; provider_classified -2097,Rue,microsoft,rue.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6637,Russin,independent,russin.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2938,Rüdlingen,independent,ruedlingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -97,Rümlang,microsoft,ruemlang.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -118,Rüti,microsoft,rueti.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6217,Saint-Maurice,infomaniak,saint-maurice.ch,85,mx_spf_match; provider_classified -5610,Saint-Saphorin,infomaniak,saint-saphorin.ch,85,mx_spf_match; provider_classified -3835,San Vittore,independent,sanvittore.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -3810,Santa Maria in Calanca,independent,santamariaic.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6638,Satigny,independent,satigny.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6722,Saulcy,microsoft,saulcy.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6141,Saxon,independent,saxon.ch,85,mx_spf_match; provider_classified -247,Schlieren,microsoft,schlieren.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -5499,Senarclens,infomaniak,senarclens.ch,85,mx_spf_match; provider_classified -4209,Seon,microsoft,seon.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5799,Servion,microsoft,servion.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -2953,Siblingen,independent,siblingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -444,Sonceboz-Sombeval,microsoft,sonceboz.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6639,Soral,independent,soral.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -2153,Sorens,microsoft,sorens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -768,Spiez,independent,spiez.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -1218,Spiringen,independent,spiringen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5266,Stabio,independent,stabio.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -100,Stadel bei Niederglatt,microsoft,stadel.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1510,Stansstad,independent,stansstad.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -939,Steffisburg,microsoft,steffisburg.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1708,Steinhausen,independent,steinhausen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -101,Steinmaur,microsoft,steinmaur.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -2919,Stetten,independent,stetten.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -4012,Suhr,microsoft,suhr.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -4506,Sulgen,swiss-isp,sulgen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5930,Suscévaz,infomaniak,suscevaz.ch,85,mx_spf_match; provider_classified -5862,Tartegnin,infomaniak,tartegnin.ch,85,mx_spf_match; provider_classified -942,Thun,independent,thun.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6640,Thônex,independent,thonex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -3734,Trin,swiss-isp,trin.ch,85,mx_spf_match; provider_classified -6641,Troinex,independent,troinex.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5730,Trélex,microsoft,trelex.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -3986,Tujetsch,independent,tujetsch.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6201,Unterbäch,microsoft,unterbaech.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -4013,Unterentfelden,microsoft,unterentfelden.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1219,Unterschächen,independent,unterschaechen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -3847,Val Müstair,microsoft,val-muestair.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6643,Vernier,independent,vernier.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6644,Versoix,independent,versoix.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6645,Veyrier,independent,veyrier.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -5651,Villars-Sainte-Croix,microsoft,villars-sainte-croix.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5537,Villars-le-Terroir,microsoft,villars-le-terroir.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -6158,Vionnaz,microsoft,vionnaz.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5692,Vucherens,microsoft,vucherens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5503,Vufflens-la-Ville,microsoft,vufflens-la-ville.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -1220,Wassen,independent,wassen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -886,Wattenwil,infomaniak,wattenwil.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -3427,Wil,microsoft,stadtwil.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf -2974,Wilchingen,independent,wilchingen.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -6202,Wiler,microsoft,wilervs.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -4082,Wohlen,microsoft,wohlen.ch,85,spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5655,Yens,microsoft,yens.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -5415,Yvorne,microsoft,yvorne.ch,85,spf_strict; mx_spf_match; multi_provider_spf:infomaniak+microsoft; provider_classified; autodiscover_confirms -1711,Zug,independent,stadtzug.ch,85,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified -951,Affoltern im Emmental,swiss-isp,affolternimemmental.ch,88,spf_softfail; mx_spf_match; provider_classified -5141,Agno,independent,agno.ch,88,spf_softfail; mx_spf_match; provider_classified -5401,Aigle,microsoft,aigle.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5061,Airolo,independent,comuneairolo.ch,88,spf_softfail; mx_spf_match; provider_classified -6261,Arbaz,microsoft,arbaz.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5091,Ascona,independent,ascona.ch,88,spf_softfail; mx_spf_match; provider_classified -3231,Au,microsoft,au.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2174,Avry,independent,avry.ch,88,spf_softfail; mx_spf_match; provider_classified -3291,Bad Ragaz,microsoft,badragaz.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5063,Bedretto,independent,bedretto.ch,88,spf_softfail; mx_spf_match; provider_classified -2514,Bolken,independent,bolken.ch,88,spf_softfail; mx_spf_match; provider_classified -5304,Bosco/Gurin,independent,bosco-gurin.ch,88,spf_softfail; mx_spf_match; provider_classified -6404,Boudry,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -606,Brenzikofen,independent,brenzikofen.ch,88,spf_softfail; mx_spf_match; provider_classified -6433,Brot-Plamboz,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -2961,Buch,independent,buch-sh.ch,88,spf_softfail; mx_spf_match; provider_classified -404,Burgdorf,swiss-isp,burgdorf.ch,88,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2471,Bättwil,independent,baettwil.ch,88,spf_softfail; mx_spf_match; provider_classified -6451,Cornaux,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6408,Cortaillod,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -5138,Cugnasco-Gerra,independent,cugnasco-gerra.ch,88,spf_softfail; mx_spf_match; provider_classified -5071,Dalpe,independent,dalpe.ch,88,spf_softfail; mx_spf_match; provider_classified -3234,Diepoldsau,microsoft,diepoldsau.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4066,Eggenwil,independent,eggenwil.ch,88,spf_softfail; mx_spf_match; provider_classified -1128,Ettiswil,independent,ettiswil.ch,88,spf_softfail; mx_spf_match; provider_classified -3292,Flums,microsoft,flums.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6133,Fully,independent,fully.ch,88,spf_softfail; mx_spf_match; provider_classified -3862,Furna,independent,furna.ch,88,spf_softfail; mx_spf_match; provider_classified -1055,Gisikon,independent,gisikon.ch,88,spf_softfail; mx_spf_match; provider_classified -2250,Gurwolf,independent,courgevaux-gurwolf.ch,88,spf_softfail; mx_spf_match; provider_classified -409,Hindelbank,independent,hindelbank.ch,88,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -1210,Hospental,independent,hospental.ch,88,spf_softfail; mx_spf_match; provider_classified -954,Huttwil,swiss-isp,huttwil.ch,88,spf_softfail; mx_spf_match; provider_classified -60,Höri ZH,swiss-isp,hoeri.ch,88,spf_softfail; mx_spf_match; provider_classified -2524,Hüniken,independent,hueniken.ch,88,spf_softfail; mx_spf_match; provider_classified -411,Kernenried,independent,kernenried.ch,88,spf_softfail; mx_spf_match; provider_classified -6432,La Brévine,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6435,La Chaux-du-Milieu,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6504,La Côte-aux-Fées,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6417,La Grande Béroche,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -5758,La Praz,independent,lapraz.ch,88,spf_softfail; mx_spf_match; provider_classified -6423,La Sagne,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -902,Langnau im Emmental,swiss-isp,langnau-ie.ch,88,spf_softfail; mx_spf_match; provider_classified -5323,Lavizzara,independent,lavizzara.ch,88,spf_softfail; mx_spf_match; provider_classified -6434,Le Cerneux-Péquignot,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6455,Le Landeron,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6240,Lens,independent,lens.ch,88,spf_softfail; mx_spf_match; provider_classified -6437,Les Ponts-de-Martel,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -6456,Lignières,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -176,Lindau,swiss-isp,lindau.ch,88,spf_softfail; mx_spf_match; provider_classified -5674,Lovatens,independent,lovatens.ch,88,spf_softfail; mx_spf_match; provider_classified -5317,Maggia,independent,maggia.ch,88,spf_softfail; mx_spf_match; provider_classified -2140,Marsens,independent,marsens.ch,88,spf_softfail; mx_spf_match; provider_classified -6416,Milvignes,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -3360,Nesslau,microsoft,nesslau.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6458,Neuenburg,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -3422,Niederbüren,microsoft,niederbueren.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -877,Niedermuhlern,independent,niedermuhlern.ch,88,spf_softfail; mx_spf_match; provider_classified -4035,Niederrohrdorf,independent,niederrohrdorf.ch,88,spf_softfail; mx_spf_match; provider_classified -5564,Novalles,independent,novalles.ch,88,spf_softfail; mx_spf_match; provider_classified -3111,Oberegg,independent,oberegg.ch,88,spf_softfail; mx_spf_match; provider_classified -985,Ochlenberg,swiss-isp,ochlenberg.ch,88,spf_softfail; mx_spf_match; provider_classified -4280,Oftringen,microsoft,oftringen.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5923,Oppens,independent,oppens.ch,88,spf_softfail; mx_spf_match; provider_classified -5805,Oron,independent,oron.ch,88,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2831,Pratteln,independent,pratteln.ch,88,spf_softfail; mx_spf_match; provider_classified -3295,Quarten,microsoft,quarten.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5287,Riviera,swiss-isp,comuneriviera.ch,88,spf_softfail; mx_spf_match; provider_classified -6413,Rochefort,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -337,Roggwil,swiss-isp,roggwil.ch,88,spf_softfail; mx_spf_match; provider_classified -3215,Rorschach,microsoft,rorschach.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3216,Rorschacherberg,microsoft,rorschacherberg.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -421,Rumendingen,independent,rumendingen.ch,88,spf_softfail; mx_spf_match; provider_classified -2859,Rümlingen,independent,ruemlingen.ch,88,spf_softfail; mx_spf_match; provider_classified -843,Saanen,swiss-isp,saanen.ch,88,spf_softfail; mx_spf_match; provider_classified -6218,Salvan,independent,salvan.ch,88,spf_softfail; mx_spf_match; provider_classified -3296,Sargans,microsoft,sargans.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3638,Scharans,independent,scharans.ch,88,spf_softfail; mx_spf_match; provider_classified -3514,Schmitten,independent,schmitten-gr.ch,88,spf_softfail; mx_spf_match; provider_classified -3274,Sennwald,microsoft,sennwald.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6248,Siders,independent,sierre.ch,88,spf_softfail; mx_spf_match; provider_classified -5728,Signy-Avenex,independent,signy-avenex.ch,88,spf_softfail; mx_spf_match; provider_classified -2226,Treyvaux,independent,treyvaux.ch,88,spf_softfail; mx_spf_match; provider_classified -3669,Tschappina,independent,heinzenberg.ch,88,spf_softfail; mx_spf_match; provider_classified -1347,Tuggen,independent,tuggen.ch,88,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -3218,Tübach,microsoft,tuebach.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -159,Uetikon am See,microsoft,uetikonamsee.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4044,Untersiggenthal,swiss-isp,untersiggenthal.ch,88,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -6487,Val-de-Ruz,swiss-isp,ne.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; manual_override -4080,Villmergen,swiss-isp,villmergen.ch,88,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -5863,Vinzel,independent,vinzel.ch,88,spf_softfail; mx_spf_match; provider_classified -3298,Walenstadt,microsoft,walenstadt.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3276,Wartau,microsoft,wartau.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3238,Widnau,microsoft,widnau.ch,88,multiple_mx; spf_softfail; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -298,Wiesendangen,swiss-isp,wiesendangen.ch,88,spf_softfail; mx_spf_match; provider_classified -4001,Aarau,microsoft,aarau.ch,90,spf_strict; mx_spf_match; provider_classified -1201,Altdorf,independent,altdorf.ch,90,spf_strict; mx_spf_match; provider_classified -211,Altikon,swiss-isp,altikon.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -1123,Altishofen,independent,altishofen.ch,90,spf_strict; mx_spf_match; provider_classified -1202,Andermatt,independent,gemeinde-andermatt.ch,90,spf_strict; mx_spf_match; provider_classified -3441,Andwil SG,microsoft,andwil.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6021,Ardon,independent,ardon.ch,90,spf_strict; mx_spf_match; provider_classified -5144,Arogno,microsoft,arogno.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1362,Arth,swiss-isp,arth.ch,90,spf_strict; mx_spf_match; provider_classified -1203,Attinghausen,independent,attinghausen.ch,90,spf_strict; mx_spf_match; provider_classified -3681,Avers,independent,gemeindeavers.ch,90,spf_strict; mx_spf_match; provider_classified -5242,Balerna,independent,balerna.ch,90,spf_strict; mx_spf_match; provider_classified -1023,Ballwil,independent,ballwil.ch,90,spf_strict; mx_spf_match; provider_classified -2931,Bargen,independent,bargen.ch,90,spf_strict; mx_spf_match; provider_classified -4536,Basadingen-Schlattingen,swiss-isp,basadingen-schlattingen.ch,90,spf_strict; mx_spf_match; provider_classified -5745,Baulmes,independent,baulmes.ch,90,spf_strict; mx_spf_match; provider_classified -5148,Bedano,swiss-isp,bedano.ch,90,spf_strict; mx_spf_match; provider_classified -2951,Beggingen,independent,beggingen.ch,90,multiple_mx; mx_spf_match; provider_classified -2612,Beinwil,independent,beinwil-so.ch,90,spf_strict; mx_spf_match; provider_classified -2053,Belmont-Broye,independent,belmont-broye.ch,90,spf_strict; mx_spf_match; provider_classified -3312,Benken,independent,benken.ch,90,multiple_mx; mx_spf_match; provider_classified -351,Bern,microsoft,bern.ch,90,spf_strict; mx_spf_match; provider_classified -3233,Berneck,microsoft,berneck.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5424,Berolle,independent,berolle.ch,90,spf_strict; mx_spf_match; provider_classified -6205,Bettmeralp,microsoft,bettmeralp.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6054,Binn,independent,binn.ch,90,spf_strict; mx_spf_match; provider_classified -2765,Binningen,independent,binningen.ch,90,spf_strict; mx_spf_match; provider_classified -5903,Bioley-Magnoux,infomaniak,bioley-magnoux.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4092,Birr,independent,birr.ch,90,spf_strict; mx_spf_match; provider_classified -5551,Bonvillars,infomaniak,bonvillars.ch,90,spf_strict; mx_spf_match; provider_classified -2323,Bossonnens,independent,bossonnens.ch,90,spf_strict; mx_spf_match; provider_classified -5661,Boulens,independent,boulens.ch,90,spf_strict; mx_spf_match; provider_classified -6703,Bourrignon,independent,bourrignon.ch,90,spf_strict; mx_spf_match; provider_classified -6702,Boécourt,infomaniak,boecourt.ch,90,spf_strict; mx_spf_match; provider_classified -5269,Breggia,independent,comunebreggia.ch,90,spf_strict; mx_spf_match; provider_classified -5748,Bretonnières,independent,1329.ch,90,multiple_mx; mx_spf_match; provider_classified -112,Bubikon,microsoft,bubikon.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -923,Buchholterberg,independent,heimenschwand.ch,90,multiple_mx; mx_spf_match; provider_classified -6778,Bure,independent,bure.ch,90,multiple_mx; mx_spf_match; provider_classified -863,Burgistein,swiss-isp,burgistein.ch,90,spf_strict; mx_spf_match; provider_classified -5852,Bursinel,infomaniak,bursinel.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4921,Bussnang,swiss-isp,bussnang.ch,90,spf_strict; mx_spf_match; provider_classified -1083,Buttisholz,independent,buttisholz.ch,90,spf_strict; mx_spf_match; provider_classified -111,Bäretswil,swiss-isp,baeretswil.ch,90,spf_strict; mx_spf_match; provider_classified -2611,Bärschwil,independent,baerschwil.ch,90,multiple_mx; mx_spf_match; provider_classified -3021,Bühler,independent,buehlerar.ch,90,multiple_mx; mx_spf_match; provider_classified -1205,Bürglen,independent,buerglen.ch,90,spf_strict; mx_spf_match; provider_classified -1082,Büron,swiss-isp,bueron.ch,90,spf_strict; mx_spf_match; provider_classified -5162,Cadempino,independent,cadempino.ch,90,spf_strict; mx_spf_match; provider_classified -5226,Capriasca,independent,capriasca.ch,90,spf_strict; mx_spf_match; provider_classified -5249,Castel San Pietro,independent,castelsanpietro.ch,90,spf_strict; mx_spf_match; provider_classified -5309,Cerentino,independent,cerentino.ch,90,spf_strict; mx_spf_match; provider_classified -5310,Cevio,infomaniak,cevio.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -6022,Chamoson,independent,chamoson.net,90,multiple_mx; mx_spf_match; provider_classified; provider_via_gateway_spf -5475,Chavannes-le-Veyron,infomaniak,chavannes-le-veyron.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5250,Chiasso,independent,chiasso.ch,90,spf_strict; mx_spf_match; provider_classified -2008,Châtillon,independent,chatillon-broye.ch,90,spf_strict; mx_spf_match; provider_classified -6704,Châtillon,infomaniak,chatillon.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5629,Clarmont,infomaniak,clarmont.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5404,Corbeyrier,infomaniak,corbeyrier.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -6783,Courchavon,independent,courchavon-mormont.ch,90,multiple_mx; mx_spf_match; provider_classified -6708,Courrendlin,independent,courrendlin.ch,90,multiple_mx; mx_spf_match; provider_classified -6785,Courtedoux,infomaniak,courtedoux.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5713,Crans,infomaniak,crans.ch,90,spf_strict; mx_spf_match; provider_classified -6253,Crans-Montana,independent,crans-montana.ch,90,spf_strict; mx_spf_match; provider_classified -2257,Cressier,independent,cressier.ch,90,spf_strict; mx_spf_match; provider_classified -6452,Cressier,independent,cressier.ch,90,spf_strict; mx_spf_match; provider_classified -5910,Cronay,infomaniak,cronay.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5752,Croy VD,infomaniak,croy.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5669,Curtilles,infomaniak,curtilles.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -2051,Delley-Portalban,independent,delley-portalban.ch,90,spf_strict; mx_spf_match; provider_classified -762,Diemtigen,microsoft,diemtigen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2785,Duggingen,microsoft,duggingen.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -761,Därstetten,independent,daerstetten.ch,90,spf_strict; mx_spf_match; provider_classified -2915,Dörflingen,independent,doerflingen.ch,90,multiple_mx; mx_spf_match; provider_classified -191,Dübendorf,microsoft,duebendorf.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -113,Dürnten,swiss-isp,duernten.ch,90,spf_strict; mx_spf_match; provider_classified -1054,Ebikon,microsoft,ebikon.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -1024,Emmen,independent,emmen.ch,90,spf_strict; mx_spf_match; provider_classified -4026,Ennetbaden,independent,ennetbaden.ch,90,spf_strict; mx_spf_match; provider_classified -5584,Epalinges,microsoft,epalinges.ch,90,spf_strict; mx_spf_match; provider_classified -2885,Eptingen,independent,eptingen.ch,90,spf_strict; mx_spf_match; provider_classified -4005,Erlinsbach,independent,erlinsbach.ch,90,spf_strict; mx_spf_match; provider_classified -1025,Ermensee,independent,ermensee.ch,90,spf_strict; mx_spf_match; provider_classified -1026,Eschenbach,independent,eschenbach-luzern.ch,90,spf_strict; mx_spf_match; provider_classified -3342,Eschenbach,microsoft,eschenbach.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -692,Eschert,independent,eschert.ch,90,spf_strict; mx_spf_match; provider_classified -6083,Evolène,infomaniak,commune-evolene.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -2194,Ferpicloz,independent,ferpicloz.ch,90,spf_strict; mx_spf_match; provider_classified -5483,Ferreyres,independent,ferreyres.ch,90,spf_strict; mx_spf_match; provider_classified -3402,Flawil,microsoft,flawil.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3662,Flerden,independent,flerden.ch,90,spf_strict; mx_spf_match; provider_classified -1207,Flüelen,independent,fluelen.ch,90,spf_strict; mx_spf_match; provider_classified -5557,Fontaines-sur-Grandson,independent,fontaines-sur-grandson.ch,90,spf_strict; mx_spf_match; provider_classified -5523,Froideville VD,independent,froideville.ch,90,spf_strict; mx_spf_match; provider_classified -193,Fällanden,swiss-isp,faellanden.ch,90,spf_strict; mx_spf_match; provider_classified -5427,Féchy,infomaniak,fechy.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -3633,Fürstenau,independent,fuerstenau.ch,90,spf_strict; mx_spf_match; provider_classified -3022,Gais,independent,gais.ch,90,multiple_mx; mx_spf_match; provider_classified -5398,Gambarogno,independent,gambarogno.ch,90,spf_strict; mx_spf_match; provider_classified -1085,Geuensee,independent,geuensee.ch,90,spf_strict; mx_spf_match; provider_classified -2236,Gibloux,independent,commune-gibloux.ch,90,spf_strict; mx_spf_match; provider_classified -5559,Giez,microsoft,giez.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5073,Giornico,independent,giornico.ch,90,spf_strict; mx_spf_match; provider_classified -58,Glattfelden,microsoft,glattfelden.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -3213,Goldach SG,microsoft,goldach.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4651,Gottlieben,swiss-isp,gottlieben.ch,90,spf_strict; mx_spf_match; provider_classified -5541,Goumoëns,infomaniak,goumoens.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5186,Grancia,independent,grancia.ch,90,multiple_mx; mx_spf_match; provider_classified -5561,Grandson,independent,grandson.ch,90,spf_strict; mx_spf_match; provider_classified -2328,Granges,independent,granges-veveyse.ch,90,spf_strict; mx_spf_match; provider_classified -2198,Granges-Paccot,microsoft,granges-paccot.ch,90,spf_strict; mx_spf_match; provider_classified -194,Greifensee,swiss-isp,greifensee.ch,90,spf_strict; mx_spf_match; provider_classified -576,Grindelwald,independent,grindelwald.com,90,spf_strict; mx_spf_match; provider_classified -1086,Grosswangen,independent,grosswangen.ch,90,spf_strict; mx_spf_match; provider_classified -852,Guggisberg,independent,guggisberg.ch,90,multiple_mx; mx_spf_match; provider_classified -867,Gurzelen,swiss-isp,gurzelen.ch,90,spf_strict; mx_spf_match; provider_classified -782,Guttannen,independent,guttannen.ch,90,spf_strict; mx_spf_match; provider_classified -6624,Gy GE,infomaniak,mairie-gy.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4,Hausen am Albis,microsoft,hausen.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -2962,Hemishofen,independent,hemishofen.ch,90,spf_strict; mx_spf_match; provider_classified -2848,Hemmiken,independent,hemmiken.ch,90,spf_strict; mx_spf_match; provider_classified -1132,Hergiswil bei Willisau,independent,hergiswil-lu.ch,90,spf_strict; mx_spf_match; provider_classified -1031,Hochdorf,independent,hochdorf.ch,90,spf_strict; mx_spf_match; provider_classified -59,Hochfelden ZH,swiss-isp,hochfelden.ch,90,spf_strict; mx_spf_match; provider_classified -295,Horgen,microsoft,horgen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -1033,Inwil,independent,inwil.ch,90,spf_strict; mx_spf_match; provider_classified -362,Ittigen,swiss-isp,ittigen.ch,90,spf_strict; mx_spf_match; provider_classified -5804,Jorat-Menthue,infomaniak,jorat-menthue.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5754,Juriens,infomaniak,juriens.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4252,Kaiseraugst,microsoft,kaiseraugst.ch,90,multiple_mx; spf_strict; mx_spf_match; multi_provider_spf:aws+microsoft; provider_classified; autodiscover_confirms -869,Kaufdorf,swiss-isp,kaufdorf.ch,90,spf_strict; mx_spf_match; provider_classified -2492,Kienberg,independent,kienberg.ch,90,spf_strict; mx_spf_match; provider_classified -611,Kiesen,microsoft,kiesen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -872,Kirchdorf,swiss-isp,kirchdorf-be.ch,90,spf_strict; mx_spf_match; provider_classified -62,Kloten,microsoft,kloten.ch,90,spf_strict; mx_spf_match; provider_classified -1089,Knutwil,independent,knutwil.ch,90,spf_strict; mx_spf_match; provider_classified -1059,Kriens,independent,kriens.ch,90,spf_strict; mx_spf_match; provider_classified -355,Köniz,swiss-isp,koeniz.ch,90,spf_strict; mx_spf_match; provider_classified -4008,Küttigen,independent,kuettigen.ch,90,spf_strict; mx_spf_match; provider_classified -5189,Lamone,independent,lamone.ch,90,spf_strict; mx_spf_match; provider_classified -2887,Lampenberg,independent,lampenberg.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -3513,Lantsch/Lenz,independent,lantsch-lenz.ch,90,multiple_mx; mx_spf_match; provider_classified -6513,Laténa,independent,latena.ch,90,spf_strict; mx_spf_match; provider_classified -667,Laupen,independent,laupen.ch,90,spf_strict; mx_spf_match; provider_classified -5586,Lausanne,independent,lausanne.ch,90,spf_strict; mx_spf_match; provider_classified -6741,Le Bémont,infomaniak,lebemont.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4201,Lenzburg,microsoft,lenzburg.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6745,Les Enfers,independent,lesenfers.ch,90,spf_strict; mx_spf_match; provider_classified -6511,Les Verrières,infomaniak,lesverrieres.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4138,Leutwil,microsoft,leutwil.ch,90,spf_strict; mx_spf_match; provider_classified -3374,Lichtensteig,microsoft,lichtensteig.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2829,Liestal,independent,liestal.ch,90,spf_strict; mx_spf_match; provider_classified -5755,Lignerolle,independent,lignerolle.ch,90,spf_strict; mx_spf_match; provider_classified -5315,Linescio,independent,linescio.ch,90,spf_strict; mx_spf_match; provider_classified -2917,Lohn SH,independent,lohn.ch,90,spf_strict; mx_spf_match; provider_classified -696,Loveresse,infomaniak,loveresse.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5487,Lussery-Villars,infomaniak,lussery-villars.ch,90,spf_strict; mx_spf_match; provider_classified -3393,Lütisburg,microsoft,luetisburg.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5194,Manno,microsoft,manno.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6136,Martigny,infomaniak,martigny.ch,90,spf_strict; mx_spf_match; provider_classified -3663,Masein,independent,masein.ch,90,spf_strict; mx_spf_match; provider_classified -5196,Massagno,independent,massagno.ch,90,spf_strict; mx_spf_match; provider_classified -2086,Massonnens,infomaniak,massonnens.ch,90,spf_strict; mx_spf_match; provider_classified -5562,Mauborget,independent,mauborget.ch,90,spf_strict; mx_spf_match; provider_classified -1064,Meierskappel,swiss-isp,meierskappel.ch,90,spf_strict; mx_spf_match; provider_classified -307,Meikirch,swiss-isp,meikirch.ch,90,multiple_mx; mx_spf_match; provider_classified -390,Meinisberg,independent,meinisberg.ch,90,spf_strict; mx_spf_match; provider_classified -4033,Mellingen,independent,mellingen.ch,90,spf_strict; mx_spf_match; provider_classified -3293,Mels,microsoft,mels.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -6715,Mervelier,infomaniak,mervelier.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5489,Mex,infomaniak,mex.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5118,Minusio,independent,minusio.ch,90,spf_strict; mx_spf_match; provider_classified -5821,Missy VD,infomaniak,missy.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -437,Mont-Tramelan,independent,mont-tramelan.ch,90,multiple_mx; mx_spf_match; provider_classified -2089,Montet,independent,montet.ch,90,spf_strict; mx_spf_match; provider_classified -5540,Montilliez,independent,montilliez.ch,90,spf_strict; mx_spf_match; provider_classified -3715,Muntogna da Schons,independent,mdschons.ch,90,multiple_mx; mx_spf_match; provider_classified -3202,Muolen,microsoft,muolen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5563,Mutrux,independent,mutrux.ch,90,spf_strict; mx_spf_match; provider_classified -4831,Müllheim,swiss-isp,muellheim.ch,90,spf_strict; mx_spf_match; provider_classified -2769,Münchenstein,independent,muenchenstein.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -5206,Neggio,independent,neggio.ch,90,spf_strict; mx_spf_match; provider_classified -4034,Neuenhof,swiss-isp,neuenhof.ch,90,spf_strict; mx_spf_match; provider_classified -3424,Oberbüren,microsoft,oberbueren.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -137,Oberrieden,microsoft,oberrieden.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -4237,Oberrüti,microsoft,oberrueti.ch,90,spf_strict; mx_spf_match; provider_classified -2407,Oensingen,microsoft,oensingen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -246,Oetwil an der Limmat,swiss-isp,oetwil-limmat.ch,90,spf_strict; mx_spf_match; provider_classified -5680,Ogens,infomaniak,ogens.ch,90,spf_strict; mx_spf_match; provider_classified -5409,Ollon,microsoft,ollon.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -11,Ottenbach,microsoft,ottenbach.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5529,Oulens-sous-Echallens,infomaniak,oulens.ch,90,spf_strict; mx_spf_match; provider_classified -5210,Paradiso,swiss-isp,paradiso.ch,90,multiple_mx; mx_spf_match; provider_classified -5588,Paudex,independent,paudex.ch,90,spf_strict; mx_spf_match; provider_classified -224,Pfungen,microsoft,pfungen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -6719,Pleigne,infomaniak,pleigne.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5533,Poliez-Pittet,infomaniak,poliez-pittet.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5077,Pollegio,independent,pollegio.ch,90,spf_strict; mx_spf_match; provider_classified -5566,Provence,infomaniak,provence.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -2038,Prévondavaux,infomaniak,prevondavaux.ch,90,spf_strict; mx_spf_match; provider_classified -2832,Ramlinsburg,independent,ramlinsburg.ch,90,multiple_mx; mx_spf_match; provider_classified -1369,Riemenstalden,independent,riemenstalden.ch,90,spf_strict; mx_spf_match; provider_classified -5263,Riva San Vitale,independent,rivasanvitale.ch,90,spf_strict; mx_spf_match; provider_classified -5861,Rolle,microsoft,rolle.ch,90,spf_strict; mx_spf_match; provider_classified -5761,Romainmôtier-Envy,infomaniak,romainmotier.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5684,Rossenges,infomaniak,rossenges.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -3637,Rothenbrunnen,independent,rothenbrunnen.ch,90,spf_strict; mx_spf_match; provider_classified -1040,Rothenburg,independent,rothenburg.ch,90,spf_strict; mx_spf_match; provider_classified -5534,Rueyres,independent,rueyres.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4206,Rupperswil,independent,rupperswil.ch,90,spf_strict; mx_spf_match; provider_classified -1098,Ruswil,independent,ruswil.ch,90,spf_strict; mx_spf_match; provider_classified -420,Rüdtligen-Alchenflüh,independent,hgra.ch,90,spf_strict; mx_spf_match; provider_classified -3256,Rüthi,microsoft,ruethi.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -340,Rütschelen,microsoft,ruetschelen.ch,90,spf_strict; mx_spf_match; provider_classified -5535,Saint-Barthélemy,microsoft,st-barthelemy.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -6155,Saint-Gingolph,infomaniak,st-gingolph.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -443,Saint-Imier,independent,saint-imier.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -6246,Saint-Léonard,infomaniak,st-leonard.ch,90,spf_strict; mx_spf_match; provider_classified -5436,Saint-Oyens,infomaniak,saint-oyens.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -3786,Samedan,independent,samedan.ch,90,spf_strict; mx_spf_match; provider_classified -3752,Samnaun,microsoft,samnaun.swiss,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5017,Sant’Antonino TI,independent,santonino.ch,90,spf_strict; mx_spf_match; provider_classified -5437,Saubraz,infomaniak,saubraz.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -707,Saules,infomaniak,saules-be.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -1213,Schattdorf,independent,schattdorf.ch,90,spf_strict; mx_spf_match; provider_classified -786,Schattenhalb,microsoft,schattenhalb.ch,90,spf_strict; mx_spf_match; provider_classified -3104,Schlatt-Haslen,independent,schlatt-haslen.ch,90,spf_strict; mx_spf_match; provider_classified -1100,Schlierbach,swiss-isp,schlierbach.ch,90,spf_strict; mx_spf_match; provider_classified -748,Schwadernau,independent,schwadernau.ch,90,spf_strict; mx_spf_match; provider_classified -592,Schwanden bei Brienz,microsoft,schwandenbrienz.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -1214,Seedorf,independent,seedorf-uri.ch,90,spf_strict; mx_spf_match; provider_classified -2336,Semsales,independent,semsales.ch,90,spf_strict; mx_spf_match; provider_classified -5762,Sergey,infomaniak,sergey.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -3275,Sevelen SG,microsoft,sevelen.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -938,Sigriswil,swiss-isp,sigriswil.ch,90,spf_strict; mx_spf_match; provider_classified -3790,Silvaplana,independent,gemeinde-silvaplana.ch,90,spf_strict; mx_spf_match; provider_classified -1217,Sisikon,independent,sisikon.ch,90,spf_strict; mx_spf_match; provider_classified -711,Sorvilier,independent,sorvilier.ch,90,spf_strict; mx_spf_match; provider_classified -6724,Soyhières,independent,soyhieres.ch,90,spf_strict; mx_spf_match; provider_classified -3217,Steinach SG,microsoft,steinach.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4606,Stettfurt,microsoft,stettfurt.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -770,Stocken-Höfen,swiss-isp,stocken-hoefen.ch,90,spf_strict; mx_spf_match; provider_classified -5929,Suchy,infomaniak,suchy.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5501,Sullens,independent,sullens.ch,90,spf_strict; mx_spf_match; provider_classified -957,Sumiswald,swiss-isp,sumiswald.ch,90,spf_strict; mx_spf_match; provider_classified -3543,Surses,microsoft,surses.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5688,Syens,infomaniak,syens.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5131,Tenero-Contra,microsoft,tenero-contra.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -5396,Terre di Pedemonte,microsoft,pedemonte.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -940,Teuffenthal,independent,teuffenthal.ch,90,multiple_mx; mx_spf_match; provider_classified -3237,Thal,microsoft,thal.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -141,Thalwil,microsoft,thalwil.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; autodiscover_confirms -2115,Torny,independent,torny.ch,90,spf_strict; mx_spf_match; provider_classified -2973,Trasadingen,independent,trasadingen.ch,90,spf_strict; mx_spf_match; provider_classified -5827,Trey,infomaniak,trey.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -5828,Treytorrens,independent,treytorrens.ch,90,spf_strict; mx_spf_match; provider_classified -1104,Triengen,independent,triengen.ch,90,spf_strict; mx_spf_match; provider_classified -6142,Trient,independent,trient.ch,90,spf_strict; mx_spf_match; provider_classified -3945,Trimmis,independent,trimmis.ch,90,multiple_mx; mx_spf_match; provider_classified -3025,Trogen,independent,trogen.ch,90,spf_strict; mx_spf_match; provider_classified -6156,Troistorrents,independent,troistorrents.ch,90,spf_strict; mx_spf_match; provider_classified -943,Uebeschi,swiss-isp,uebeschi.ch,90,spf_strict; mx_spf_match; provider_classified -944,Uetendorf,swiss-isp,uetendorf.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -1145,Ufhusen,independent,ufhusen.ch,90,spf_strict; mx_spf_match; provider_classified -248,Uitikon,independent,uitikon.ch,90,spf_strict; mx_spf_match; provider_classified -2463,Unterramsern,independent,unterramsern.ch,90,spf_strict; mx_spf_match; provider_classified -3670,Urmein,independent,urmein.ch,90,spf_strict; mx_spf_match; provider_classified -3006,Urnäsch,independent,urnaesch.ch,90,multiple_mx; mx_spf_match; provider_classified -5932,Ursins,infomaniak,ursins.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -198,Uster,microsoft,uster.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5268,Vacallo,independent,vacallo.ch,90,spf_strict; mx_spf_match; provider_classified -6512,Val-de-Travers,independent,val-de-travers.ch,90,spf_strict; mx_spf_match; provider_classified -6157,Val-d’Illiez,independent,illiez.ch,90,spf_strict; mx_spf_match; provider_classified -5934,Valeyres-sous-Ursins,independent,bluemail.ch,90,multiple_mx; mx_spf_match; provider_classified -2045,Vallon,infomaniak,vallon.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -6219,Vernayaz,independent,vernayaz.ch,90,spf_strict; mx_spf_match; provider_classified -6089,Vex,independent,vex.ch,90,spf_strict; mx_spf_match; provider_classified -5690,Villars-le-Comte,independent,villars-le-comte.ch,90,spf_strict; mx_spf_match; provider_classified -2117,Villaz,independent,communevillaz.ch,90,spf_strict; mx_spf_match; provider_classified -5414,Villeneuve,independent,villeneuve.ch,90,spf_strict; mx_spf_match; provider_classified -5539,Vuarrens,infomaniak,vuarrens.ch,90,mx_spf_match; provider_classified; autodiscover_confirms -4871,Wagenhausen,swiss-isp,wagenhausen.ch,90,spf_strict; mx_spf_match; provider_classified -888,Wald,swiss-isp,wald-be.ch,90,spf_strict; mx_spf_match; provider_classified -69,Wallisellen,microsoft,wallisellen.ch,90,spf_strict; mx_spf_match; provider_classified -3037,Walzenhausen,independent,walzenhausen.ch,90,spf_strict; mx_spf_match; provider_classified -1349,Wangen,independent,wangensz.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -180,Weisslingen,swiss-isp,weisslingen.ch,90,spf_strict; mx_spf_match; provider_classified -1147,Wikon,independent,wikon.ch,90,spf_strict; mx_spf_match; provider_classified -71,Wil ZH,microsoft,wil-zh.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4288,Wiliberg,swiss-isp,wiliberg.ch,90,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -2502,Wisen,independent,wisen.ch,90,spf_strict; mx_spf_match; provider_classified -345,Wynau,independent,wynau.ch,90,spf_strict; mx_spf_match; provider_classified -5939,Yvonand,independent,yvonand.ch,90,spf_strict; mx_spf_match; provider_classified -1150,Zell,independent,zell-lu.ch,90,spf_strict; mx_spf_match; provider_classified -6300,Zermatt,independent,gemeinde.zermatt.ch,90,spf_strict; mx_spf_match; provider_classified -161,Zollikon,microsoft,zollikon.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3426,Zuzwil,microsoft,zuzwil.ch,90,multiple_mx; spf_strict; independent_mx_with_cloud_spf; provider_classified; provider_via_gateway_spf; autodiscover_confirms -794,Zweisimmen,swiss-isp,zweisimmen.ch,90,spf_strict; mx_spf_match; provider_classified -261,Zürich,independent,zuerich.ch,90,multiple_mx; mx_spf_match; provider_classified -2421,Aedermannsdorf,independent,aedermannsdorf.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -731,Aegerten,independent,aegerten.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -562,Aeschi bei Spiez,microsoft,aeschi.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3251,Altstätten,independent,altstaetten.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -291,Andelfingen,independent,andelfingen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -3101,Appenzell,independent,appenzell.org,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4401,Arbon,swiss-isp,arbon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -381,Arch,independent,arch-be.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5701,Arnex-sur-Nyon,independent,arnex-sur-nyon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5422,Aubonne,microsoft,aubonne.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3232,Balgach,independent,balgach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -302,Bargen,swiss-isp,bargen-be.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -52,Bassersdorf,independent,bassersdorf.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -732,Bellmund,independent,bellmund.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2702,Bettingen,swiss-isp,bettingen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2543,Bettlach,independent,bettlach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2513,Biberist,independent,biberist.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2764,Biel-Benken,independent,biel-benken.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2445,Biezwil,independent,biezwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5613,Bourg-en-Lavaux,independent,b-e-l.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5096,Brione sopra Minusio,microsoft,brione.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -24,Buch am Irchel,independent,buchamirchel.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -5624,Bussigny,microsoft,bussigny.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -403,Bäriswil,independent,baeriswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -533,Bätterkinden,microsoft,baetterkinden.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2842,Böckten,independent,boeckten.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -383,Büren an der Aare,independent,bueren.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3395,Bütschwil-Ganterschwil,independent,buetschwil-ganterschwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -5397,Centovalli,independent,intragna.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -6232,Chalais,independent,chalais.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -5749,Chavornay,microsoft,chavornay.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -5841,Château-d’Oex,independent,chateaudoex-admin.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2177,Chénens,microsoft,chenens.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -6211,Collonges,independent,collonges.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -6709,Courroux,independent,courroux.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6710,Courtételle,independent,courtetelle.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1125,Dagmersellen,microsoft,dagmersellen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -535,Deisswil bei Münchenbuchsee,microsoft,deisswil.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2517,Derendingen,microsoft,derendingen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3722,Domat/Ems,independent,domat-ems.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -1001,Doppleschwand,microsoft,doppleschwand.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -26,Dorf ZH,independent,dorf.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2473,Dornach,independent,dornach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6212,Dorénaz,independent,dorenaz.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2535,Drei Höfe,microsoft,dreihoefe.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2572,Däniken,microsoft,daeniken.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -215,Dättlikon,independent,daettlikon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -952,Dürrenroth,independent,duerrenroth.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3352,Ebnat-Kappel,microsoft,ebnat-kappel.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -6713,Ederswiler,infomaniak,ederswiler.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3212,Eggersriet,independent,eggersriet.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -901,Eggiwil,independent,eggiwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -55,Eglisau,independent,eglisau.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1127,Egolzwil,microsoft,egolzwil.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3252,Eichberg SG,independent,eichberg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -218,Ellikon an der Thur,microsoft,ellikonanderthur.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -924,Eriz,independent,eriz.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -763,Erlenbach im Simmental,independent,erlenbach-be.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2503,Erlinsbach,independent,erlinsbach-so.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2615,Erschwil,independent,erschwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1010,Escholzmatt-Marbach,microsoft,escholzmatt-marbach.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -5636,Etoy,microsoft,etoy.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -172,Fehraltorf,microsoft,fehraltorf.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -662,Ferenbalm,independent,ferenbalm.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -493,Finsterhennen,microsoft,finsterhennen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4027,Fislisbach,independent,fislisbach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -538,Fraubrunnen,independent,fraubrunnen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -57,Freienstein-Teufen,microsoft,freienstein-teufen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -494,Gals,swiss-isp,gals.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2846,Gelterkinden,independent,gelterkinden.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6621,Genf,microsoft,geneve.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3273,Grabs,independent,grabs.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -303,Grossaffoltern,independent,grossaffoltern.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1131,Grossdietwil,swiss-isp,grossdietwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -608,Grosshöchstetten,independent,grosshoechstetten.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1005,Hasle,microsoft,hasle-lu.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4100,Hausen,swiss-isp,hausen.swiss,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6809,Haute-Ajoie,independent,hauteajoie.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3032,Heiden,independent,heiden.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -927,Heiligenschwendi,independent,heiligenschwendi.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3001,Herisau,swiss-isp,herisau.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -173,Hittnau,independent,hittnau.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2475,Hochwald,microsoft,hochwald.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -580,Hofstetten bei Brienz,independent,hofstetten-ballenberg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1032,Hohenrain,swiss-isp,hohenrain.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4495,Hohentannen,swiss-isp,hohentannen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -153,Hombrechtikon,independent,hombrechtikon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -4200,Hunzenschwil,independent,hunzenschwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3201,Häggenschwil,independent,haeggenschwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -87,Hüttikon,independent,huettikon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -496,Ins,independent,ins.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -738,Jens,independent,jens.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -304,Kallnach,independent,kallnach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -412,Kirchberg,independent,kirchberg-be.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2266,Kleinbösingen,microsoft,kleinboesingen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4501,Kradolf-Schönenberg,independent,kradolf-schoenenberg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4276,Kölliken,independent,koelliken.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5889,La Tour-de-Peilz,independent,la-tour-de-peilz.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -136,Langnau am Albis,microsoft,langnau.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -34,Laufen-Uhwiesen,independent,laufen-uhwiesen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -4170,Laufenburg,microsoft,laufenburg.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2426,Laupersdorf,independent,laupersdorf.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5637,Lavigny,google,lavigny.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6436,Le Locle,swiss-isp,lelocle.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6754,Le Noirmont,independent,noirmont.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6742,Les Bois,independent,lesbois.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6743,Les Breuleux,independent,breuleux.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6422,Les Planchettes,independent,les-planchettes.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -372,Leubringen,independent,evilard.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6033,Liddes,independent,liddes.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2890,Liedertswil,independent,liedertswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -614,Linden,independent,linden.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -331,Lotzwil,independent,lotzwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2025,Lully FR,microsoft,lully-fr.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -5606,Lutry,independent,lutry.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -955,Lützelflüh,independent,luetzelflueh.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -332,Madiswil,independent,madiswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3953,Maienfeld,independent,maienfeld.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3253,Marbach,independent,marbach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -2208,Matran,microsoft,matran.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -1063,Meggen,microsoft,meggen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -5886,Montreux,independent,montreux.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -669,Münchenwiler,independent,muenchenwiler.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1093,Neuenkirch,microsoft,neuenkirch.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -64,Nürensdorf,microsoft,nuerensdorf.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -418,Oberburg,independent,oberburg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -619,Oberdiessbach,independent,oberdiessbach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -245,Oberengstringen,microsoft,oberengstringen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4038,Obersiggenthal,independent,obersiggenthal.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -620,Oberthal,independent,oberthal.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5822,Payerne,independent,payerne.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -936,Pohlern,microsoft,pohlern.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -5589,Prilly,independent,prilly.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5683,Prévonloup,google,prevonloup.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -567,Reichenbach im Kandertal,microsoft,reichenbach.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4281,Reitnau,independent,reitnau.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -38,Rheinau,independent,rheinau.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -138,Richterswil,microsoft,richterswil.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2276,Ried bei Kerzers,microsoft,ried.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2554,Riedholz,independent,riedholz.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2703,Riehen,swiss-isp,riehen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4111,Riniken,swiss-isp,riniken.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4431,Roggwil,independent,roggwil-tg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1007,Romoos,microsoft,romoos.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -68,Rorbas,microsoft,rorbas.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -6721,Rossemaison,infomaniak,rossemaison.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -1039,Römerswil,swiss-isp,roemerswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -139,Rüschlikon,microsoft,rueschlikon.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4283,Safenwil,independent,safenwil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -746,Safnern,independent,safnern.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6757,Saignelégier,independent,saignelegier.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6265,Savièse,independent,saviese.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -226,Schlatt,independent,schlatt-zh.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -1066,Schwarzenberg,google,schwarzenberg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -855,Schwarzenburg,independent,schwarzenburg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3315,Schänis,independent,schaenis.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -4756,Schönholzerswilen,swiss-isp,schoenholzerswilen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1143,Schötz,independent,schoetz.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -311,Schüpfen,independent,schuepfen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -1008,Schüpfheim,microsoft,schuepfheim.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -883,Seftigen,independent,seftigen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -499,Siselen,microsoft,siselen.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -793,St. Stephan,microsoft,ststephan.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -13,Stallikon,independent,stallikon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -292,Stammheim,independent,stammheim.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -1509,Stans,independent,stans.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4864,Steckborn,swiss-isp,steckborn.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3005,Stein,microsoft,gemeinde-stein.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4260,Stein,microsoft,gemeinde-stein.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -4285,Strengelbach,independent,strengelbach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3733,Tamins,microsoft,tamins.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -713,Tavannes,microsoft,tavannes.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -2894,Titterten,independent,titterten.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -958,Trachselwald,microsoft,trachselwald.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -41,Truttikon,swiss-isp,truttikon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4696,Tägerwilen,swiss-isp,taegerwilen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3219,Untereggen,independent,untereggen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -4146,Unterkulm,microsoft,unterkulm.ch,93,spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -551,Urtenen-Schönbühl,independent,urtenen-schoenbuehl.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -552,Utzenstorf,independent,utzenstorf.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6730,Val Terbi,independent,val-terbi.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -6037,Val de Bagnes,independent,valdebagnes.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -6267,Veysonnaz,independent,veysonnaz.org,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -43,Volken,swiss-isp,volken.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4287,Vordemwald,independent,vordemwald.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2895,Waldenburg,independent,waldenburg.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -754,Walperswil,independent,walperswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2585,Walterswil,independent,walterswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -992,Wangen an der Aare,independent,wangen-a-a.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -2586,Wangen bei Olten,microsoft,wangenbo.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -1146,Wauwil,microsoft,wauwil.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3316,Weesen,independent,weesen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -102,Weiach,independent,weiach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -14,Wettswil am Albis,independent,wettswil.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -4951,Wigoltingen,swiss-isp,wigoltingen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -3359,Wildhaus-Alt St. Johann,independent,wildhaus-altstjohann.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -1511,Wolfenschiessen,independent,wolfenschiessen.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -4791,Wuppenau,swiss-isp,wuppenau.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -5938,Yverdon-les-Bains,independent,yverdon-les-bains.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -231,Zell ZH,microsoft,zell.ch,93,spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -556,Zielebach,independent,zielebach.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified -160,Zumikon,independent,zumikon.ch,93,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf -4551,Aadorf,microsoft,aadorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -301,Aarberg,independent,aarberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4271,Aarburg,microsoft,aarburg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -321,Aarwangen,microsoft,aarwangen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4221,Abtwil,microsoft,abtwilag.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5621,Aclens,microsoft,aclens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -561,Adelboden,microsoft,3715.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1051,Adligenswil,microsoft,adligenswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -131,Adliswil,microsoft,adliswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -401,Aefligen,microsoft,aefligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -241,Aesch,swiss-isp,aesch-zh.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1021,Aesch,microsoft,aesch-lu.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2511,Aeschi,microsoft,aeschi-so.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1,Aeugst am Albis,swiss-isp,aeugst-albis.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4711,Affeltrangen,swiss-isp,affeltrangen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2,Affoltern am Albis,microsoft,stadtaffoltern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6101,Agarn,microsoft,agarn.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5742,Agiez,infomaniak,agiez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1121,Alberswil,microsoft,alberswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6102,Albinen,microsoft,albinen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3542,Albula/Alvra,swiss-isp,albula-alvra.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -402,Alchenstorf,microsoft,alchenstorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5851,Allaman,microsoft,allaman.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6771,Alle,microsoft,alle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -630,Allmendingen bei Bern,microsoft,allmendingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1401,Alpnach,independent,alpnach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1361,Alpthal,independent,alpthal.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1122,Altbüron,microsoft,altbueron.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1341,Altendorf,swiss-isp,altendorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4641,Altnau,swiss-isp,altnau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5237,Alto Malcantone,microsoft,altomalcantone.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4881,Amlikon-Bissegg,swiss-isp,amlikon-bissegg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4191,Ammerswil,microsoft,ammerswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4461,Amriswil,microsoft,amriswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -921,Amsoldingen,microsoft,amsoldingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3701,Andeer,microsoft,andeer.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2841,Anwil,microsoft,anwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5143,Aranno,microsoft,aranno.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2881,Arboldswil,microsoft,arboldswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2821,Arisdorf,microsoft,arisdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4222,Aristau,microsoft,aristau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4061,Arni,microsoft,arni-ag.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3921,Arosa,independent,gemeindearosa.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5511,Assens,microsoft,assens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2321,Attalens,microsoft,attalens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2061,Auboranges,microsoft,auboranges.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4091,Auenstein,microsoft,auenstein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2822,Augst,microsoft,augst.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -322,Auswil,microsoft,auswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4223,Auw,microsoft,auw.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5451,Avenches,microsoft,avenches.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -51,Bachenbülach,microsoft,bachenbuelach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -81,Bachs,microsoft,bachs.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5744,Ballaigues,microsoft,ballaigues.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2541,Balm bei Günsberg,independent,balm-balmberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2422,Balsthal,independent,balsthal.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6281,Baltschieder,microsoft,baltschieder.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -323,Bannwil,microsoft,bannwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2162,Bas-Intyamon,microsoft,bas-intyamon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2701,Basel,swiss-isp,bs.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6812,Basse-Vendline,microsoft,basse-vendline.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5703,Bassins,microsoft,bassins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5746,Bavois,microsoft,bavois.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -571,Beatenberg,microsoft,beatenberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5704,Begnins,microsoft,begnins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4224,Beinwil (Freiamt),microsoft,beinwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4131,Beinwil am See,microsoft,beinwilamsee.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2175,Belfaux,microsoft,belfaux.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2542,Bellach,microsoft,bellach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6606,Bellevue,independent,mairie-bellevue.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4022,Bellikon,microsoft,bellikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5581,Belmont-sur-Lausanne,independent,belmont.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5902,Belmont-sur-Yverdon,microsoft,belmont-sur-yverdon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -861,Belp,independent,belp.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -681,Belprahon,microsoft,belprahon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -22,Benken,independent,benken-zh.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -2882,Bennwil,microsoft,bennwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5512,Bercher,microsoft,bercher-vd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -23,Berg am Irchel,swiss-isp,berg-am-irchel.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4023,Bergdietikon,microsoft,bergdietikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3544,Bergün Filisur,swiss-isp,berguenfilisur.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4062,Berikon,microsoft,berikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2932,Beringen,swiss-isp,beringen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -972,Berken,independent,berken.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4801,Berlingen,swiss-isp,berlingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1081,Beromünster,microsoft,beromuenster.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4226,Besenbüren,microsoft,besenbueren.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4227,Bettwil,microsoft,bettwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3781,Bever,microsoft,gemeinde-bever.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5402,Bex,microsoft,bex.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5281,Biasca,microsoft,biasca.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4002,Biberstein,microsoft,biberstein-ag.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4721,Bichelsee-Balterswil,swiss-isp,bichelsee-balterswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -603,Biglen,independent,biglen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2063,Billens-Hennens,infomaniak,billens-hennens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5151,Bioggio,microsoft,bioggio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4024,Birmenstorf,microsoft,birmenstorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4093,Birrhard,microsoft,birrhard.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2766,Birsfelden,independent,birsfelden.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4471,Bischofszell,microsoft,bischofszell.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5154,Bissone,microsoft,bissone.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6173,Bitsch,microsoft,bitsch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6192,Blatten,microsoft,blatten-vs.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2781,Blauen,microsoft,blauen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -324,Bleienbach,microsoft,bleienbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5049,Blenio,microsoft,comuneblenio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5892,Blonay – Saint-Légier,infomaniak,blonay-saint-legier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -922,Blumenstein,microsoft,blumenstein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5747,Bofflens,microsoft,bofflens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5705,Bogis-Bossey,microsoft,bogis-bossey.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -352,Bolligen,independent,bolligen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -791,Boltigen,microsoft,boltigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3721,Bonaduz,independent,bonaduz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2571,Boningen,microsoft,boningen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4192,Boniswil,microsoft,boniswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3,Bonstetten ZH,microsoft,bonstetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -82,Boppelsen,microsoft,boppelsen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4228,Boswil,microsoft,boswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5514,Bottens,microsoft,bottens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4643,Bottighofen,swiss-isp,bottighofen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2767,Bottmingen,microsoft,bottmingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5426,Bougy-Villars,microsoft,bougy-villars.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6032,Bourg-Saint-Pierre,infomaniak,bourg-saint-pierre.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5472,Bournens,microsoft,bournens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5473,Boussens VD,microsoft,boussens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4723,Braunau,microsoft,braunau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3792,Bregaglia,independent,bregaglia.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3981,Breil/Brigels,microsoft,breil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2613,Breitenbach,swiss-isp,breitenbach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5622,Bremblens,infomaniak,bremblens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4063,Bremgarten,microsoft,bremgarten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2883,Bretzwil,independent,bretzwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -573,Brienz,microsoft,brienz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -574,Brienzwiler,microsoft,brienzwiler.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2782,Brislach,microsoft,brislach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5097,Brissago,microsoft,brissago.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4274,Brittnau,independent,brittnau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4193,Brunegg,microsoft,brunegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5160,Brusino Arsizio,microsoft,brusinoarsizio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3551,Brusio,microsoft,brusio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -733,Brügg,microsoft,bruegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -491,Brüttelen,microsoft,bruettelen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -213,Brütten,microsoft,bruetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2823,Bubendorf,microsoft,bubendorf.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2933,Buchberg,microsoft,buchberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2465,Buchegg,microsoft,buchegg-so.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1052,Buchrain,microsoft,buchrain.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4003,Buchs,independent,buchs-aargau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -83,Buchs ZH,microsoft,buchs-zh.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2843,Buckten,microsoft,buckten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2125,Bulle,microsoft,bulle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5552,Bullet,microsoft,bullet.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2783,Burg im Leimental,independent,burg-il.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5853,Bursins,microsoft,bursins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3804,Buseno,microsoft,buseno.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -325,Busswil bei Melchnau,microsoft,busswil-bm.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5663,Bussy-sur-Moudon,infomaniak,bussy-sur-moudon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4230,Buttwil,swiss-isp,buttwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2844,Buus,microsoft,buus.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -572,Bönigen,microsoft,boenigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2295,Bösingen,microsoft,boesingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4303,Böttstein,microsoft,boettstein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4124,Bözberg,microsoft,boezberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4185,Böztal,microsoft,boeztal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -382,Büetigen,swiss-isp,bueetigen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -734,Bühl,independent,buehl.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4229,Bünzen,microsoft,buenzen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6193,Bürchen,microsoft,buerchen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2472,Büren,microsoft,bueren-so.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4911,Bürglen,swiss-isp,buerglen-tg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2614,Büsserach,independent,buesserach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2914,Büttenhardt,microsoft,buettenhardt.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4064,Büttikon,microsoft,buettikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5161,Cademario,microsoft,cademario.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3837,Calanca,microsoft,comunedicalanca.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5307,Campo (Vallemaggia),microsoft,campo-vallemaggia.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5167,Canobbio,microsoft,canobbio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5171,Caslano,microsoft,caslano.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3805,Castaneda,microsoft,castaneda.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3661,Cazis,microsoft,cazis.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5904,Chamblon,microsoft,chamblon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5553,Champagne,microsoft,champagne.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -683,Champoz,infomaniak,champoz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5812,Champtauroz,microsoft,champtauroz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5905,Champvent,microsoft,champvent.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2066,Chapelle,microsoft,chapelle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5907,Chavannes-le-Chêne,independent,chavannes-le-chene.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -5627,Chavannes-près-Renens,microsoft,chavannes.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5665,Chavannes-sur-Moudon,infomaniak,chavannes-sur-moudon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5403,Chessel,microsoft,chessel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5476,Chevilly,infomaniak,chevilly.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5813,Chevroux,microsoft,chevroux.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5601,Chexbres,microsoft,chexbres.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2055,Cheyres-Châbles,microsoft,cheyres-chables.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5628,Chigny VD,infomaniak,chigny.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3911,Churwalden,microsoft,churwalden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2128,Châtel-sur-Montsalvens,microsoft,chatel-montsalvens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2068,Châtonnaye,microsoft,chatonnaye.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5709,Chéserex,microsoft,cheserex.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6808,Clos du Doubs,infomaniak,closdudoubs.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6781,Coeuve,microsoft,coeuve.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5710,Coinsins,microsoft,coinsins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5251,Coldrerio,microsoft,coldrerio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5236,Collina d’Oro,microsoft,collinadoro.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6616,Collonge-Bellerive,independent,collonge-bellerive.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5176,Comano,microsoft,comano.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5711,Commugny,microsoft,commugny.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5554,Concise,infomaniak,concise.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6618,Confignon,independent,confignon.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3881,Conters im Prättigau,swiss-isp,conters.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6023,Conthey,microsoft,conthey.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5712,Coppet,microsoft,coppet.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2129,Corbières,microsoft,corbieres.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -687,Corcelles,microsoft,corcelles-be.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5785,Corcelles-le-Jorat,microsoft,corcelles-le-jorat.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5555,Corcelles-près-Concise,microsoft,corcelles-concise.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5816,Corcelles-près-Payerne,microsoft,corcelles.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2183,Corminboeuf,microsoft,corminboeuf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -432,Cormoret,microsoft,cormoret.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6782,Cornol,microsoft,cornol.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6619,Corsier,independent,corsier.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5477,Cossonay,microsoft,cossonay.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2186,Cottens,microsoft,cottens-fr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6784,Courgenay,microsoft,courgenay.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -690,Court,microsoft,court.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -434,Courtelary,microsoft,courtelary.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2254,Courtepin,microsoft,courtepin.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5583,Crissier,microsoft,crissier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2130,Crésuz,microsoft,cresuz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5479,Cuarnens,microsoft,cuarnens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5456,Cudrefin,microsoft,cudrefin.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2011,Cugy,independent,cugy-fr.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -5516,Cugy,microsoft,cugy-vd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5180,Cureglia,microsoft,cureglia.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1503,Dallenwil,microsoft,dallenwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3851,Davos,microsoft,davos.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2516,Deitingen,microsoft,deitingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6711,Delsberg,independent,delemont.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -5631,Denens,microsoft,denens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5632,Denges,microsoft,denges.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4004,Densbüren,microsoft,densbueren.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6712,Develier,microsoft,develier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2845,Diepflingen,microsoft,diepflingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1053,Dierikon,microsoft,dierikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -385,Diessbach bei Büren,microsoft,diessbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4545,Diessenhofen,microsoft,diessenhofen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -54,Dietlikon,microsoft,dietlikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -216,Dinhard,swiss-isp,dinhard.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4194,Dintikon,microsoft,dintikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3982,Disentis/Mustér,microsoft,disentis.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2784,Dittingen,microsoft,dittingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5481,Dizy VD,microsoft,dizy.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3673,Domleschg,microsoft,tomils.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5913,Donneloye,microsoft,donneloye.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4065,Dottikon,microsoft,dottikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -386,Dotzigen,microsoft,dotzigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4406,Dozwil,swiss-isp,dozwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2573,Dulliken,microsoft,dulliken.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5855,Dully,microsoft,dully.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -214,Dägerlen,microsoft,daegerlen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -84,Dällikon,swiss-isp,daellikon.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -85,Dänikon,swiss-isp,daenikon.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -575,Därligen,microsoft,daerligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5912,Démoret,infomaniak,demoret.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4304,Döttingen,microsoft,doettingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2293,Düdingen,microsoft,duedingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4134,Dürrenäsch,microsoft,duerrenaesch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5518,Echallens,independent,echallens.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5633,Echandens,independent,echandens.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5634,Echichens,microsoft,echichens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5482,Eclépens,microsoft,eclepens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2401,Egerkingen,microsoft,egerkingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -192,Egg,microsoft,egg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6004,Eggerberg,microsoft,eggerberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4195,Egliswil,microsoft,egliswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4411,Egnach,swiss-isp,egnach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4049,Ehrendingen,microsoft,ehrendingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1084,Eich,microsoft,eich.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4161,Eiken,microsoft,eiken.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6194,Eischoll,microsoft,eischoll.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6282,Eisten,microsoft,eisten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -294,Elgg,swiss-isp,elgg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -219,Elsau,microsoft,elsau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6283,Embd,microsoft,embd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4305,Endingen,microsoft,endingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1402,Engelberg,microsoft,gde-engelberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1505,Ennetbürgen,independent,ennetbuergen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1506,Ennetmoos,independent,ennetmoos.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1002,Entlebuch,microsoft,entlebuch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5914,Ependes,microsoft,ependesvd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2574,Eppenberg-Wöschnau,microsoft,eppenberg-woeschnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6104,Ergisch,microsoft,ergisch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -953,Eriswil,microsoft,eriswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -492,Erlach,independent,erlach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4476,Erlen,microsoft,erlen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -151,Erlenbach,microsoft,erlenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6056,Ernen,microsoft,ernen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -405,Ersigen,microsoft,ersigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4806,Eschenz,swiss-isp,eschenz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4724,Eschlikon,microsoft,eschlikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5856,Essertines-sur-Rolle,microsoft,essertines-sur-rolle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5520,Essertines-sur-Yverdon,microsoft,essertines-sur-yverdon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5521,Etagnières,microsoft,etagnieres.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2768,Ettingen,microsoft,ettingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2518,Etziken,swiss-isp,etziken.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5716,Eysins,microsoft,eysins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -925,Fahrni,independent,gemeinde-fahrni.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4196,Fahrwangen,microsoft,fahrwangen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6789,Fahy,microsoft,fahy.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3572,Falera,swiss-isp,falera.net,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -975,Farnern,microsoft,farnern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2616,Fehren,microsoft,fehren.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4561,Felben-Wellhausen,swiss-isp,felben-wellhausen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2544,Feldbrunnen-St. Niklaus,microsoft,feldbrunnen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3731,Felsberg,microsoft,felsberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6195,Ferden,microsoft,ferden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3713,Ferrera,microsoft,ferrera.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -27,Feuerthalen,microsoft,feuerthalen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3861,Fideris,swiss-isp,fideris.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6057,Fiesch,microsoft,gemeinde-fiesch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6058,Fieschertal,microsoft,fieschertal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5556,Fiez,infomaniak,fiez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6214,Finhaut,microsoft,finhaut.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1129,Fischbach,microsoft,fischbach-lu.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4067,Fischbach-Göslikon,microsoft,fischbach-goeslikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4726,Fischingen,swiss-isp,fischingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -28,Flaach,swiss-isp,flaach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3732,Flims,independent,gemeindeflims.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2545,Flumenthal,microsoft,flumenthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3951,Fläsch,swiss-isp,flaesch.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1004,Flühli,microsoft,fluehli.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5604,Forel,microsoft,forel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -663,Frauenkappelen,independent,frauenkappelen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1322,Freienbach,independent,freienbach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4028,Freienwil,microsoft,freienwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -607,Freimettigen,microsoft,freimettigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2824,Frenkendorf,microsoft,frenkendorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4163,Frick,swiss-isp,frick.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -563,Frutigen,microsoft,frutigen.ch,95,multiple_mx; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2258,Fräschels,microsoft,fraeschels.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2575,Fulenbach,microsoft,fulenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4307,Full-Reuenthal,swiss-isp,full-reuenthal.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2825,Füllinsdorf,microsoft,fuellinsdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4571,Gachnang,microsoft,gachnang.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1342,Galgenen,independent,galgenen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6118,Gampel-Bratsch,microsoft,gampel-bratsch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -495,Gampelen,microsoft,gampelen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3272,Gams,microsoft,gams.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4164,Gansingen,microsoft,gansingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4232,Geltwil,microsoft,geltwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2474,Gempen,microsoft,gempen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5718,Genolier,microsoft,genolier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6622,Genthod,independent,genthod.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2519,Gerlafingen,microsoft,gerlafingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1311,Gersau,microsoft,gersau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -866,Gerzensee,microsoft,gerzensee.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2826,Giebenach,microsoft,giebenach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2294,Giffers,microsoft,giffers.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5857,Gilly,microsoft,gilly.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5428,Gimel VD,microsoft,gimel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5719,Gingins,microsoft,gingins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1403,Giswil,independent,giswil.ow.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2197,Givisiez,microsoft,givisiez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1632,Glarus,swiss-isp,glarus.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1630,Glarus Nord,swiss-isp,glarus-nord.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1631,Glarus Süd,swiss-isp,glarus-sued.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2022,Gletterens,microsoft,gletterens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5484,Gollion,infomaniak,gollion.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6077,Goms,microsoft,gemeinde-goms.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -326,Gondiswil,microsoft,gondiswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3102,Gonten,swiss-isp,gonten.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4135,Gontenschwil,microsoft,gontenschwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5108,Gordola,microsoft,gordola.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -115,Gossau,microsoft,gossau-zh.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -976,Graben,microsoft,graben.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5817,Grandcour,microsoft,grandcour.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5560,Grandevent,microsoft,grandevent.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6792,Grandfontaine JU,microsoft,grandfontaine.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -694,Grandval,microsoft,grandval.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2134,Grandvillard,microsoft,grandvillard.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2079,Grangettes,infomaniak,grangettes-pres-romont.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5187,Gravesano,microsoft,gravesano.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2786,Grellingen,microsoft,grellingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2546,Grenchen,microsoft,grenchen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2261,Greng,microsoft,greng.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6177,Grengiols,microsoft,grengiols.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5722,Grens,microsoft,grens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1056,Greppen,microsoft,greppen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2576,Gretzenbach,microsoft,gretzenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2135,Greyerz,microsoft,gruyeres.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2617,Grindel,microsoft,grindel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2239,Grolley-Ponthaux,microsoft,grolley-ponthaux.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3832,Grono,microsoft,grono.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3031,Grub,independent,grub.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5405,Gryon,microsoft,gryon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6238,Grône,microsoft,grone.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -116,Grüningen,swiss-isp,grueningen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3961,Grüsch,swiss-isp,gruesch.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -841,Gsteig bei Gstaad,microsoft,gsteig.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -577,Gsteigwiler,microsoft,gsteigwiler.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2578,Gunzgen,microsoft,gunzgen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -665,Gurbrü,microsoft,gurbrue.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2262,Gurmels,microsoft,gurmels.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6117,Guttet-Feschel,microsoft,guttet-feschel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -578,Gündlischwand,microsoft,guendlischwand.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2547,Günsberg,microsoft,guensberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -579,Habkern,microsoft,habkern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4099,Habsburg,microsoft,habsburg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -736,Hagneck,swiss-isp,hagneck.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2971,Hallau,microsoft,hallau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4197,Hallwil,microsoft,hallwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -406,Hasle bei Burgdorf,microsoft,hasle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -783,Hasliberg,swiss-isp,hasliberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2491,Hauenstein-Ifenthal,microsoft,hauenstein-ifenthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2121,Haut-Intyamon,microsoft,haut-intyamon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6729,Haute-Sorne,independent,haute-sorne.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2233,Hauterive,microsoft,hauterivefr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2137,Hauteville,infomaniak,hauteville.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4416,Hefenhofen,swiss-isp,hefenhofen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -977,Heimenhausen,microsoft,heimenhausen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -407,Heimiswil,independent,heimiswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2296,Heitenried,swiss-isp,heitenried.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4198,Hendschiken,microsoft,hendschiken.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -31,Henggart,microsoft,henggart.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5819,Henniez VD,infomaniak,commune-henniez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2424,Herbetswil,microsoft,herbetswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -610,Herbligen,microsoft,herbligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4811,Herdern,swiss-isp,herdern.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6625,Hermance,independent,hermance.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5673,Hermenches,microsoft,hermenches.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -737,Hermrigen,microsoft,hermrigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -152,Herrliberg,independent,herrliberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2827,Hersberg,microsoft,hersberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4186,Herznach-Ueken,microsoft,herznach-ueken.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -979,Herzogenbuchsee,microsoft,herzogenbuchsee.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -221,Hettlingen,swiss-isp,hettlingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1088,Hildisrieden,microsoft,hildisrieden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2618,Himmelried,microsoft,himmelried.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -117,Hinwil,microsoft,hinwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4007,Hirschthal AG,microsoft,hirschthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1030,Hitzkirch,microsoft,hitzkirch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2425,Holderbank,microsoft,holderbank-so.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4199,Holderbank,swiss-isp,holderbank.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -931,Homberg,microsoft,homberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4421,Horn,swiss-isp,horn.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -932,Horrenbach-Buchen,microsoft,horrenbach-buchen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2523,Horriwil,swiss-isp,horriwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2548,Hubersdorf,microsoft,hubersdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3002,Hundwil,independent,hundwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2847,Häfelfingen,microsoft,haefelfingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2579,Hägendorf,microsoft,haegendorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4068,Hägglingen,microsoft,haegglingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2402,Härkingen,microsoft,haerkingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -609,Häutligen,microsoft,haeutligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6084,Hérémence,independent,heremence.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2886,Hölstein,microsoft,hoelstein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -61,Hüntwangen,microsoft,huentwangen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4590,Hüttlingen,swiss-isp,huettlingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4821,Hüttwilen,swiss-isp,huettwilen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -541,Iffwil,microsoft,iffwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3619,Ilanz/Glion,independent,ilanz-glion.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1363,Illgau,independent,illgau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -296,Illnau-Effretikon,microsoft,ilef.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6109,Inden,microsoft,inden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -980,Inkwil,microsoft,inkwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1343,Innerthal,independent,innerthal.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -784,Innertkirchen,microsoft,innertkirchen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -581,Interlaken,independent,interlaken.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -739,Ipsach,microsoft,ipsach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -582,Iseltwald,microsoft,iseltwald.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4084,Islisberg,microsoft,islisberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5009,Isone,microsoft,isone.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -868,Jaberg,microsoft,jaberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2138,Jaun,swiss-isp,jaun.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -540,Jegenstorf,independent,jegenstorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3952,Jenins,microsoft,jenins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4071,Jonen,microsoft,jonen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5885,Jongny,microsoft,jongny.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3405,Jonschwil,microsoft,jonschwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5585,Jouxtens-Mézery,microsoft,jouxtens-mezery.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6626,Jussy,independent,jussy.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4169,Kaisten,swiss-isp,kaisten.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4233,Kallern,microsoft,kallern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2549,Kammersrohr,swiss-isp,kammersrohr.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2580,Kappel,microsoft,kappel-so.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6,Kappel am Albis,swiss-isp,kappel-am-albis.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -305,Kappelen,microsoft,kappelen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -870,Kehrsatz,swiss-isp,kehrsatz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4666,Kemmental,swiss-isp,kemmental.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2265,Kerzers,swiss-isp,kerzers.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4426,Kesswil,swiss-isp,kesswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2403,Kestenholz,microsoft,kestenholz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -135,Kilchberg,independent,kilchberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4030,Killwangen,microsoft,killwangen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6197,Kippel,microsoft,kippel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4275,Kirchleerau,microsoft,kirchleerau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -354,Kirchlindach,microsoft,kirchlindach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -33,Kleinandelfingen,independent,kleinandelfingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -2619,Kleinlützel,microsoft,kleinluetzel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4309,Klingnau,microsoft,klingnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3871,Klosters,swiss-isp,gemeindeklosters.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -7,Knonau,microsoft,knonau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4310,Koblenz AG,microsoft,koblenz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -612,Konolfingen,microsoft,konolfingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -413,Koppigen,microsoft,koppigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -414,Krauchthal,microsoft,krauchthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -666,Kriechenwil,microsoft,kriechenwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2525,Kriegstetten,microsoft,kriegstetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2850,Känerkinden,microsoft,kaenerkinden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3882,Küblis,independent,kueblis.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4031,Künten,microsoft,kuenten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -154,Küsnacht,independent,kuesnacht.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -1331,Küssnacht,microsoft,kuessnacht.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -435,La Ferrière,microsoft,laferriere.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3785,La Punt Chamues-ch,swiss-isp,lapunt.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5726,La Rippe,microsoft,larippe.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2149,La Roche,microsoft,la-roche.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5498,La Sarraz,microsoft,lasarraz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2235,La Sonnaz,microsoft,lasonnaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2338,La Verrerie,microsoft,laverrerie.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3575,Laax,microsoft,laax-gr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1344,Lachen,independent,lachen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6286,Lalden,microsoft,lalden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -613,Landiswil,microsoft,landiswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3955,Landquart,microsoft,landquart.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2888,Langenbruck,microsoft,langenbruck.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2550,Langendorf,microsoft,langendorf-so.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -329,Langenthal,microsoft,langenthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4681,Langrickenbach,microsoft,langrickenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -842,Lauenen,microsoft,lauenen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1365,Lauerz,independent,lauerz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2787,Laufen,microsoft,laufen-bl.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -903,Lauperswil,independent,lauperswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2828,Lausen,microsoft,lausen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -584,Lauterbrunnen,microsoft,lauterbrunnen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2889,Lauwil,microsoft,lauwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5112,Lavertezzo,microsoft,lavertezzo.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5406,Lavey-Morcles,microsoft,lavey.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6061,Lax,microsoft,lax.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2067,Le Châtelard FR,microsoft,le-chatelard.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2337,Le Flon,microsoft,leflon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5873,Le Lieu,microsoft,lelieu.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2220,Le Mouret,microsoft,le-mouret.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2145,Le Pâquier FR,microsoft,lepaquier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4311,Leibstadt,swiss-isp,leibstadt.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4137,Leimbach,microsoft,leimbach.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -585,Leissigen,microsoft,leissigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5395,Lema,microsoft,lema.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -387,Lengnau,microsoft,lengnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4312,Lengnau,microsoft,lengnau-ag.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4683,Lengwil,swiss-isp,lengwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -792,Lenk,independent,lenkgemeinde.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5750,Les Clées,infomaniak,lesclees.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6748,Les Genevez,infomaniak,lesgenevez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2050,Les Montets,independent,les-montets.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4313,Leuggern,microsoft,leuggern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6110,Leuk,microsoft,leuk.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6111,Leukerbad,microsoft,leukerbad.org,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -388,Leuzigen,microsoft,leuzigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6135,Leytron,microsoft,leytron.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2788,Liesberg,microsoft,liesberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -740,Ligerz,swiss-isp,ligerz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5113,Locarno,swiss-isp,locarno.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2526,Lohn-Ammannsegg,microsoft,lohn-ammannsegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4741,Lommis,swiss-isp,lommis.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2551,Lommiswil,microsoft,lommiswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5638,Lonay,microsoft,lonay.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5429,Longirod,microsoft,longirod.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5115,Losone,microsoft,losone.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3821,Lostallo,independent,lostallo.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2493,Lostorf,microsoft,lostorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5675,Lucens,microsoft,lucens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -63,Lufingen,microsoft,lufingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5192,Lugano,independent,lugano.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5858,Luins,microsoft,luins.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5639,Lully VD,microsoft,lully.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5010,Lumino TI,microsoft,lumino.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3618,Lumnezia,swiss-isp,lumnezia.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1405,Lungern,independent,lungern.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4104,Lupfig,microsoft,lupfig.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2830,Lupsingen,microsoft,lupsingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5640,Lussy-sur-Morges,microsoft,lussy-sur-morges.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2527,Luterbach,microsoft,luterbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1135,Luthern,microsoft,luthern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3891,Luzein,microsoft,luzein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -306,Lyss,independent,lyss.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -415,Lyssach,microsoft,lyssach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2852,Läufelfingen,microsoft,laeufelfingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -497,Lüscherz,swiss-isp,luescherz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2464,Lüsslingen-Nennigkofen,microsoft,luesslingen-nennigkofen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2455,Lüterkofen-Ichertswil,microsoft,lueterkofen-ichertswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -586,Lütschental,microsoft,luetschental.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5871,L’Abbaye,microsoft,labbaye.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5741,L’Abergement VD,microsoft,labergement.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5486,L’Isle,microsoft,lisle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3783,Madulain,microsoft,madulain.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4253,Magden,microsoft,magden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5193,Magliaso,microsoft,magliaso.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2853,Maisprach,microsoft,maisprach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3954,Malans,swiss-isp,malans.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1062,Malters,swiss-isp,malters.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4826,Mammern,swiss-isp,mammern.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5790,Maracon,microsoft,maracon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5430,Marchissy,infomaniak,marchissy.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6137,Martigny-Combe,microsoft,martigny-combe.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -8,Maschwanden,swiss-isp,maschwanden.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6215,Massongex,infomaniak,massongex.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5919,Mathod,microsoft,mathod.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -587,Matten bei Interlaken,microsoft,matten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -543,Mattstetten,microsoft,mattstetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2427,Matzendorf,microsoft,matzendorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4591,Matzingen,swiss-isp,matzingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1091,Mauensee,microsoft,mauensee.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3983,Medel,microsoft,medel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -389,Meienried,microsoft,meienried.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -156,Meilen,microsoft,meilen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -785,Meiringen,microsoft,meiringen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4202,Meisterschwanden,microsoft,meisterschwanden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -333,Melchnau,microsoft,melchnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5198,Melide,microsoft,melide.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4314,Mellikon,microsoft,mellikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2620,Meltingen,microsoft,meltingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4139,Menziken,microsoft,menziken.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1136,Menznau,microsoft,menznau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4234,Merenschwand,microsoft,merenschwand.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2271,Merlach,swiss-isp,merlach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -741,Merzligen,microsoft,merzligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3822,Mesocco,microsoft,mesocco.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2457,Messen,microsoft,messen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4184,Mettauertal,microsoft,mettauertal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6716,Mettembert,infomaniak,mettembert.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -9,Mettmenstetten,swiss-isp,mettmenstetten.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2477,Metzerlen-Mariastein,microsoft,metzerlen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5199,Mezzovico-Vira,microsoft,mezzovico-vira.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5723,Mies VD,microsoft,mies.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5431,Mollens,microsoft,mollensvd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5921,Molondin,microsoft,molondin.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6090,Mont-Noble,independent,mont-noble.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -5491,Mont-la-Ville,infomaniak,mont-la-ville.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5859,Mont-sur-Rolle,microsoft,mont-sur-rolle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5756,Montcherand,infomaniak,montcherand.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5238,Monteceneri,microsoft,monteceneri.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5792,Montpreveyres,infomaniak,montpreveyres.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5492,Montricher,infomaniak,montricher.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4277,Moosleerau,microsoft,moosleerau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -544,Moosseedorf,independent,moosseedorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5257,Morbio Inferiore,microsoft,morbioinf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5203,Morcote,microsoft,morcote.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2143,Morlon,microsoft,morlon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1366,Morschach,independent,morschach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3394,Mosnang,microsoft,mosnang.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6718,Movelier,infomaniak,movelier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4009,Muhen,microsoft,muhen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4255,Mumpf,microsoft,mumpf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2274,Muntelier,microsoft,muntelier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1367,Muotathal,independent,muotathal.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5120,Muralto,microsoft,muralto.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4279,Murgenthal,microsoft,murgenthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4236,Muri,swiss-isp,muri.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6753,Muriaux,infomaniak,muriaux.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2275,Murten,swiss-isp,murten-morat.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2770,Muttenz,independent,muttenz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5205,Muzzano,microsoft,muzzano.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4032,Mägenwil,microsoft,maegenwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4941,Märstetten,microsoft,maerstetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2087,Mézières,microsoft,mezieres-fr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4106,Mönthal,microsoft,moenthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6203,Mörel-Filet,microsoft,moerel-filet.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -742,Mörigen,swiss-isp,moerigen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4203,Möriken-Wildegg,microsoft,moeriken-wildegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4235,Mühlau,microsoft,muehlau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -668,Mühleberg,swiss-isp,muehleberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4107,Mülligen,microsoft,muelligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2428,Mümliswil-Ramiswil,microsoft,muemliswil-ramiswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -546,Münchenbuchsee,independent,muenchenbuchsee.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4172,Münchwilen,swiss-isp,muenchwilen-ag.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4746,Münchwilen,swiss-isp,muenchwilen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4691,Münsterlingen,microsoft,muensterlingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -498,Müntschemier,microsoft,muentschemier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1137,Nebikon,microsoft,nebikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -88,Neerach,microsoft,neerach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -223,Neftenbach,swiss-isp,neftenbach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6024,Nendaz,microsoft,nendaz.org,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2789,Nenzlingen,microsoft,nenzlingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2404,Neuendorf,microsoft,neuendorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -670,Neuenegg,microsoft,neuenegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2937,Neuhausen am Rheinfall,independent,neuhausen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4601,Neunforn,swiss-isp,neunforn.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2904,Neunkirch,independent,neunkirch.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2211,Neyruz,microsoft,neyruz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -743,Nidau,independent,nidau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -981,Niederbipp,microsoft,niederbipp.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2405,Niederbuchsiten,independent,niederbuchsiten.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2891,Niederdorf,microsoft,niederdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6198,Niedergesteln,microsoft,niedergesteln.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2495,Niedergösgen,microsoft,niedergoesgen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4204,Niederlenz,microsoft,niederlenz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -588,Niederried bei Interlaken,microsoft,niederried-be.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -91,Niederweningen,swiss-isp,niederweningen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4072,Niederwil,microsoft,niederwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -982,Niederönz,microsoft,niederoenz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6254,Noble-Contrée,microsoft,noble-contree.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -724,Nods,microsoft,nods.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5260,Novazzano,microsoft,novazzano.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5408,Noville,microsoft,noville.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2478,Nuglar-St. Pantaleon,swiss-isp,nuglar.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2621,Nunningen,microsoft,nunningen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2854,Nusshof,microsoft,nusshof.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2035,Nuvilly,microsoft,nuvilly.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -983,Oberbipp,microsoft,oberbipp.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2406,Oberbuchsiten,microsoft,oberbuchsiten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2553,Oberdorf,microsoft,oberdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2892,Oberdorf,microsoft,oberdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -65,Oberembrach,microsoft,oberembrach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6112,Oberems,microsoft,oberems.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4010,Oberentfelden,microsoft,oberentfelden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2528,Obergerlafingen,microsoft,obergerlafingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -92,Oberglatt ZH,swiss-isp,oberglatt.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2497,Obergösgen,microsoft,obergoesgen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2972,Oberhallau,microsoft,oberhallau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4173,Oberhof AG,microsoft,oberhof.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -629,Oberhünigen,independent,oberhuenigen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1368,Oberiberg,independent,oberiberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1095,Oberkirch,swiss-isp,oberkirch.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4140,Oberkulm,microsoft,oberkulm.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -935,Oberlangenegg,microsoft,oberlangenegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4073,Oberlunkhofen,microsoft,oberlunkhofen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4256,Obermumpf,microsoft,obermumpf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4037,Oberrohrdorf,independent,oberrohrdorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3988,Obersaxen Mundaun,microsoft,obersaxenmundaun.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -93,Oberweningen,swiss-isp,oberweningen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -391,Oberwil bei Büren,microsoft,oberwil-bueren.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -766,Oberwil im Simmental,microsoft,oberwil-im-simmental.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4074,Oberwil-Lieli,microsoft,oberwil-lieli.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -10,Obfelden,microsoft,obfelden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -335,Oeschenbach,microsoft,oeschenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4175,Oeschgen,microsoft,oeschgen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2855,Oltingen,microsoft,oltingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5136,Onsernone,microsoft,onsernone.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -66,Opfikon,microsoft,opfikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -622,Oppligen,microsoft,oppligen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5757,Orbe,microsoft,orbe.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5924,Orges VD,microsoft,orges.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5208,Origlio,microsoft,origlio.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2856,Ormalingen,microsoft,ormalingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5410,Ormont-Dessous,microsoft,ormont-dessous.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5493,Orny,microsoft,orny.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -744,Orpund,independent,orpund.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5121,Orselina,microsoft,orselina.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -438,Orvin,independent,orvin.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -5925,Orzens,infomaniak,orzens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -37,Ossingen,swiss-isp,ossingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -363,Ostermundigen,microsoft,ostermundigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -94,Otelfingen,microsoft,otelfingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4205,Othmarsingen,microsoft,othmarsingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5530,Pailly,microsoft,pailly.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5496,Penthaz,microsoft,penthaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5531,Penthéréaz,microsoft,penthereaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5860,Perroy,microsoft,perroy.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5076,Personico,microsoft,personico.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -716,Petit-Val,infomaniak,petit-val.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1139,Pfaffnau,microsoft,pfaffnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2772,Pfeffingen,microsoft,pfeffingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4841,Pfyn,swiss-isp,pfyn.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -392,Pieterlen,independent,pieterlen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2299,Plaffeien,microsoft,plaffeien.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2300,Plasselb,swiss-isp,plasselb.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -726,Plateau de Diesse,microsoft,leplateaudediesse.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5497,Pompaples,microsoft,pompaples.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5926,Pomy VD,infomaniak,pomy.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2122,Pont-en-Ogoz,microsoft,pont-en-ogoz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2147,Pont-la-Ville FR,infomaniak,pont-la-ville.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3784,Pontresina,independent,gemeinde-pontresina.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -745,Port,microsoft,port.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6154,Port-Valais,microsoft,port-valais.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3561,Poschiavo,microsoft,poschiavo.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6634,Pregny-Chambésy,independent,pregny-chambesy.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5759,Premier VD,infomaniak,premier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6635,Presinge,independent,presinge.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2237,Prez,microsoft,prez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5643,Préverenges,infomaniak,preverenges.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5607,Puidoux,microsoft,puidoux.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5590,Pully,independent,pully.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5216,Pura,microsoft,pura.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -309,Radelfingen,swiss-isp,radelfingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -67,Rafz,microsoft,rafz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1037,Rain,microsoft,rain.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2963,Ramsen,microsoft,ramsen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6287,Randa,microsoft,randa.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4846,Raperswilen,swiss-isp,raperswilen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6199,Raron,microsoft,raron.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1212,Realp,microsoft,realp.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2530,Recherswil,microsoft,recherswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2301,Rechthalten,microsoft,rechthalten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -95,Regensberg,microsoft,regensberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -96,Regensdorf,microsoft,regensdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1140,Reiden,swiss-isp,reiden.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4141,Reinach,microsoft,reinach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -336,Reisiswil,microsoft,reisiswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4039,Remetschwil,microsoft,remetschwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4110,Remigen,microsoft,remigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -441,Renan,microsoft,renan.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5412,Rennaz,microsoft,rennaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3035,Reute,independent,reute.ar.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3714,Rheinwald,swiss-isp,rheinwald.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3723,Rhäzüns,microsoft,rhaezuens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2148,Riaz,microsoft,riaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1097,Rickenbach,microsoft,rickenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2582,Rickenbach,independent,rickenbachso.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4751,Rickenbach,swiss-isp,rickenbach-tg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6139,Riddes,microsoft,riddes.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6008,Ried-Brig,microsoft,ried-brig.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6181,Riederalp,microsoft,gemeinde-riederalp.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -12,Rifferswil,independent,rifferswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -879,Riggisberg,independent,riggisberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -590,Ringgenberg,microsoft,ringgenberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5609,Rivaz,microsoft,rivaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5413,Roche,microsoft,roche-vd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -704,Roches,infomaniak,roches.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2479,Rodersdorf,swiss-isp,rodersdorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2790,Roggenburg,microsoft,roggenburg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1142,Roggliswil,microsoft,roggliswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -338,Rohrbach,independent,rohrbach-be.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -339,Rohrbachgraben,microsoft,rohrbachgraben.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5592,Romanel-sur-Lausanne,microsoft,romanel-sur-lausanne.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4436,Romanshorn,swiss-isp,romanshorn.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -442,Romont,infomaniak,romont-jb.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5125,Ronco sopra Ascona,microsoft,ronco-s-ascona.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3711,Rongellen,microsoft,rongellen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1065,Root,microsoft,gemeinde-root.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5798,Ropraz,independent,ropraz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3808,Rossa,microsoft,rossa.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5842,Rossinière,microsoft,rossiniere.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2858,Rothenfluh,microsoft,rothenfluh.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1370,Rothenthurm,independent,rothenthurm.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4238,Rottenschwil,microsoft,rottenschwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5843,Rougemont,microsoft,rougemont.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3834,Roveredo,microsoft,roveredo.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5928,Rovray,infomaniak,rovray.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4075,Rudolfstetten-Friedlisberg,microsoft,rudolfstetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -987,Rumisberg,swiss-isp,rumisberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -178,Russikon,swiss-isp,russikon.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2791,Röschenz,microsoft,roeschenz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -904,Röthenbach im Emmental,microsoft,roethenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -905,Rüderswil,independent,ruederswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -880,Rüeggisberg,independent,rueggisberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -956,Rüegsau,microsoft,ruegsau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4112,Rüfenach,microsoft,ruefenach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -853,Rüschegg,microsoft,rueschegg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -393,Rüti bei Büren,microsoft,ruetibeibueren.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2555,Rüttenen,microsoft,ruettenen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3788,S-chanf,microsoft,s-chanf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6290,Saas-Fee,microsoft,3906.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6291,Saas-Grund,microsoft,saas-grund.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1406,Sachseln,independent,sachseln.ow.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3672,Safiental,independent,safiental.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3581,Sagogn,independent,sagogn.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -706,Saicourt,infomaniak,saicourt.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6758,Saint-Brais,infomaniak,saint-brais.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5727,Saint-Cergue,microsoft,st-cergue.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5434,Saint-George,infomaniak,stgeorge.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5435,Saint-Livres,microsoft,st-livres.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2335,Saint-Martin FR,microsoft,saint-martin-fr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5646,Saint-Prex,microsoft,saint-prex.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5568,Sainte-Croix,independent,sainte-croix.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4851,Salenstein,swiss-isp,salenstein.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6113,Salgesch,microsoft,salgesch.ch,95,multiple_mx; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4441,Salmsach,microsoft,salmsach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4076,Sarmenstorf,microsoft,sarmenstorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1407,Sarnen,independent,sarnen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1371,Sattel,independent,sattel.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -449,Sauge,infomaniak,sauge-jb.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5611,Savigny VD,microsoft,savigny.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5221,Savosa,microsoft,savosa.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -591,Saxeten,microsoft,saxeten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2939,Schaffhausen,independent,stadt-schaffhausen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4207,Schafisheim,microsoft,schafisheim.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -906,Schangnau,microsoft,schangnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -708,Schelten,microsoft,gemeinde-schelten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1099,Schenkon,swiss-isp,schenkon.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -747,Scheuren,microsoft,gemeinde-scheuren.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3962,Schiers,microsoft,schiers.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4125,Schinznach,swiss-isp,schinznach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4546,Schlatt,swiss-isp,schlatt.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -98,Schleinikon,microsoft,schleinikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2952,Schleitheim,independent,schleitheim.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3582,Schluein,microsoft,schluein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3338,Schmerikon,independent,schmerikon.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4143,Schmiedrued,microsoft,schmiedrued-walde.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2305,Schmitten,microsoft,schmitten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4318,Schneisingen,microsoft,schneisingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2461,Schnottwil,swiss-isp,schnottwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1041,Schongau,independent,schongau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4259,Schupfart,microsoft,schupfart.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4176,Schwaderloch,microsoft,schwaderloch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -341,Schwarzhäusern,microsoft,schwarzhaeusern.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3004,Schwellbrunn,independent,schwellbrunn.ar.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -197,Schwerzenbach,microsoft,schwerzenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1372,Schwyz,independent,gemeindeschwyz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -99,Schöfflisdorf,swiss-isp,schoefflisdorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4144,Schöftland,swiss-isp,schoeftland.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2774,Schönenbuch,microsoft,schoenenbuch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2583,Schönenwerd,microsoft,schoenenwerd.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1346,Schübelbach,microsoft,schuebelbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3762,Scuol,microsoft,scuol.net,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -988,Seeberg,microsoft,seeberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -312,Seedorf,independent,seedorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -119,Seegräben,swiss-isp,seegraeben.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1215,Seelisberg,microsoft,seelisberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4208,Seengen,microsoft,seengen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2480,Seewen,microsoft,seewen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3972,Seewis im Prättigau,swiss-isp,seewis.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2833,Seltisberg,microsoft,seltisberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2556,Selzach,microsoft,selzach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1102,Sempach,microsoft,sempach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5050,Serravalle,infomaniak,serravalle.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4319,Siglistorf,microsoft,siglistorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -907,Signau,independent,signau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1216,Silenen,microsoft,silenen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3789,Sils im Engadin/Segl,microsoft,sils-segl.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6009,Simplon,microsoft,gemeinde-simplon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4761,Sirnach,independent,sirnach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -2861,Sissach,independent,sissach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4177,Sisseln,microsoft,sisseln.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2099,Siviriez,microsoft,siviriez.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3823,Soazza,microsoft,soazza.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2601,Solothurn,microsoft,solothurn.ch,95,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -4446,Sommeri,swiss-isp,sommeri.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -445,Sonvilier,microsoft,sonvilier.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5225,Sorengo,microsoft,sorengo.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6759,Soubey,infomaniak,soubey.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3023,Speicher,independent,speicher.ar.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4040,Spreitenbach,microsoft,spreitenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6292,St. Niklaus,microsoft,st-niklaus.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2303,St. Silvester FR,microsoft,stsilvester.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2304,St. Ursen,microsoft,stursen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4284,Staffelbach,microsoft,staffelbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6294,Staldenried,microsoft,staldenried.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2584,Starrkirch-Wil,microsoft,starrkirch-wil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4210,Staufen,swiss-isp,staufen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6204,Steg-Hohtenn,microsoft,steg-hohtenn.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2964,Stein am Rhein,microsoft,steinamrhein.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1373,Steinen,independent,steinen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1374,Steinerberg,independent,steinerberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4041,Stetten,microsoft,stetten-ag.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -358,Stettlen,independent,stettlen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -749,Studen,microsoft,studen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -158,Stäfa,microsoft,staefa.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2499,Stüsslingen,microsoft,stuesslingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2532,Subingen,swiss-isp,subingen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3695,Sufers,microsoft,sufers.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3985,Sumvitg,microsoft,sumvitg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2044,Surpierre,microsoft,surpierre-fr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1103,Sursee,microsoft,stadtsursee.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -750,Sutz-Lattrigen,independent,sutz-lattrigen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2152,Sâles,microsoft,sales.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2043,Sévaz,independent,sevaz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -2306,Tafers,microsoft,tafers.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5729,Tannay VD,microsoft,tannay.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2862,Tecknau,microsoft,tecknau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4320,Tegerfelden,microsoft,tegerfelden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2863,Tenniken,microsoft,tenniken.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2307,Tentlingen,microsoft,tentlingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6010,Termen,microsoft,termen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4145,Teufenthal,microsoft,teufenthal.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4117,Thalheim,microsoft,gemeinde-thalheim.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -39,Thalheim an der Thur,microsoft,thalheim.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2920,Thayngen,independent,thayngen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2775,Therwil,microsoft,therwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -941,Thierachern,independent,thierachern.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4611,Thundorf,swiss-isp,thundorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -342,Thunstetten,microsoft,thunstetten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -889,Thurnen,independent,thurnen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3668,Thusis,microsoft,thusis.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -989,Thörigen,microsoft,thoerigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2864,Thürnen,microsoft,thuernen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4776,Tobel-Tägerschen,swiss-isp,tobel-taegerschen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -884,Toffen,swiss-isp,toffen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5649,Tolochenaz,microsoft,tolochenaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5227,Torricella-Taverne,microsoft,torricella-taverne.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -446,Tramelan,independent,tramelan.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -500,Treiten,microsoft,treiten.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5239,Tresa,microsoft,tresa.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5931,Treycovagnes,microsoft,treycovagnes.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2500,Trimbach,microsoft,trimbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -908,Trub,microsoft,trub.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3987,Trun,microsoft,trun.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -40,Trüllikon,microsoft,truellikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -501,Tschugg,swiss-isp,tschugg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6119,Turtmann-Unterems,microsoft,turtmann-unterems.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -756,Twann-Tüscherz,microsoft,twann-tuescherz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4077,Tägerig,microsoft,taegerig.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6295,Täsch,microsoft,gemeinde-taesch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -751,Täuffelen,microsoft,taeuffelen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6296,Törbel,microsoft,toerbel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1067,Udligenswil,microsoft,udligenswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2308,Ueberstorf,microsoft,ueberstorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4286,Uerkheim,swiss-isp,uerkheim.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4616,Uesslingen-Buch,microsoft,uesslingen-buch.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4078,Uezwil,microsoft,uezwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -249,Unterengstringen,swiss-isp,unterengstringen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1375,Unteriberg,independent,unteriberg.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4079,Unterlunkhofen,microsoft,unterlunkhofen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3946,Untervaz,microsoft,untervaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1709,Unterägeri,independent,unteraegeri.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -250,Urdorf,microsoft,urdorf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -344,Ursenbach,microsoft,ursenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2102,Ursy,microsoft,ursy.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -885,Uttigen,independent,uttigen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4451,Uttwil,swiss-isp,uttwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5240,Val Mara,microsoft,valmara.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -717,Valbirse,independent,valbirse.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -5831,Valbroye,microsoft,valbroye.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5933,Valeyres-sous-Montagny,microsoft,valeyres-sous-montagny.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5763,Valeyres-sous-Rances,microsoft,valeyres-sous-rances.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5764,Vallorbe,microsoft,vallorbe.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3603,Vals,microsoft,vals.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3764,Valsot,microsoft,valsot.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6642,Vandœuvres,independent,vandoeuvres.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6116,Varen VS,microsoft,varen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5765,Vaulion,microsoft,vaulion.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2155,Vaulruz,microsoft,vaulruz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -359,Vechigen,swiss-isp,vechigen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4120,Veltheim,microsoft,veltheim.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6806,Vendlincourt,microsoft,vendlincourt.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5399,Verzasca,microsoft,verzasca.swiss,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5891,Veytaux,microsoft,veytaux.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5231,Vezia,microsoft,vezia.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5732,Vich VD,microsoft,vich.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5233,Vico Morcote,microsoft,vicomorcote.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5652,Villars-sous-Yens,microsoft,villars-sous-yens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2228,Villars-sur-Glâne,microsoft,villars-sur-glane.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5830,Villarzel,microsoft,villarzel.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -448,Villeret,microsoft,villeret.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4121,Villigen,microsoft,villigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2114,Villorsonnens,microsoft,villorsonnens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -502,Vinelz,swiss-isp,vinelz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6297,Visp,microsoft,visp.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1068,Vitznau,microsoft,vitznau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -199,Volketswil,independent,volketswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1348,Vorderthal,independent,vorderthal.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -6159,Vouvry,microsoft,vouvry.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2160,Vuadens,microsoft,vuadens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5653,Vufflens-le-Château,microsoft,vufflens-le-chateau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5937,Vugelles-La Mothe,infomaniak,vugelleslamothe.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2113,Vuisternens-devant-Romont,microsoft,vuisternens-devant-romont.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5766,Vuiteboeuf,microsoft,vuiteboeuf.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5803,Vulliens,infomaniak,vulliens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5654,Vullierens,microsoft,vullierens.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5464,Vully-les-Lacs,microsoft,vully-les-lacs.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6220,Vérossaz,microsoft,verossaz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6025,Vétroz,independent,vetroz.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1710,Walchwil,independent,walchwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3036,Wald,independent,wald.ar.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3444,Waldkirch,independent,waldkirch.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -3007,Waldstatt,independent,waldstatt.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -626,Walkringen,independent,walkringen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4261,Wallbach,microsoft,wallbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -991,Walliswil bei Wangen,microsoft,walliswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4240,Waltenschwil,microsoft,waltenschwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -959,Walterswil,microsoft,walterswil-be.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -200,Wangen-Brüttisellen,microsoft,wangen-bruettisellen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4621,Warth-Weiningen,swiss-isp,warth-weiningen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -70,Wasterkingen,microsoft,wasterkingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1069,Weggis,microsoft,weggis.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4946,Weinfelden,microsoft,weinfelden.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -251,Weiningen,microsoft,weiningen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2430,Welschenrohr-Gänsbrunnen,microsoft,welschenrohr.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -394,Wengi,microsoft,wengi-be.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2865,Wenslingen,microsoft,wenslingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1009,Werthenstein,swiss-isp,werthenstein.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -121,Wetzikon,microsoft,wetzikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -632,Wichtrach,independent,wichtrach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4081,Widen,microsoft,widen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -995,Wiedlisbach,swiss-isp,wiedlisbach.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -553,Wiggiswil,microsoft,wiggiswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -181,Wila,swiss-isp,wila.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -182,Wildberg,microsoft,wildberg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -594,Wilderswil,microsoft,wilderswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4752,Wilen,swiss-isp,wilen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4786,Wilen,swiss-isp,wilen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -554,Wiler bei Utzenstorf,microsoft,wiler.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -671,Wileroltigen,microsoft,wileroltigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -423,Willadingen,microsoft,willadingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1151,Willisau,swiss-isp,willisau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -769,Wimmis,microsoft,wimmis.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4123,Windisch,microsoft,windisch.ch,95,spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -72,Winkel,independent,winkel.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -2866,Wintersingen,microsoft,wintersingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -230,Winterthur,swiss-isp,win.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2501,Winznau,microsoft,winznau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3204,Wittenbach,microsoft,wittenbach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2867,Wittinsburg,microsoft,wittinsburg.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4181,Wittnau,microsoft,wittnau.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -360,Wohlen bei Bern,independent,wohlen-be.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -4046,Wohlenschwil,microsoft,wohlenschwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3038,Wolfhalden,independent,wolfhalden.ar.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -2408,Wolfwil,microsoft,wolfwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -1107,Wolhusen,swiss-isp,wolhusen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -1323,Wollerau,independent,wollerau.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf -627,Worb,independent,worb.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -755,Worben,microsoft,worben.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -424,Wynigen,microsoft,wynigen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -960,Wyssachen,swiss-isp,wyssachen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -293,Wädenswil,swiss-isp,waedenswil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4701,Wäldi,swiss-isp,waeldi.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4781,Wängi,swiss-isp,waengi.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4182,Wölflinswil,microsoft,woelflinswil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2309,Wünnewil-Flamatt,microsoft,wuennewil-flamatt.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4047,Würenlingen,microsoft,wuerenlingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4048,Würenlos,microsoft,wuerenlos.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4183,Zeihen,swiss-isp,zeihen.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4263,Zeiningen,microsoft,zeiningen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6299,Zeneggen,microsoft,zeneggen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4147,Zetzwil,microsoft,zetzwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2834,Ziefen,microsoft,ziefen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4511,Zihlschlacht-Sitterdorf,swiss-isp,zihlschlacht-sitterdorf.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3712,Zillis-Reischen,microsoft,zillis-reischen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3947,Zizers,microsoft,zizers.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4289,Zofingen,microsoft,zofingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -361,Zollikofen,microsoft,zollikofen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2534,Zuchwil,independent,zuchwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -4083,Zufikon,microsoft,zufikon.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2622,Zullwil,microsoft,zullwil.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3791,Zuoz,microsoft,zuoz.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -4324,Zurzach,microsoft,zurzach.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -557,Zuzwil,microsoft,zuzwil-be.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -2793,Zwingen,microsoft,zwingen.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -6011,Zwischbergen,microsoft,gondo.ch,95,spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -628,Zäziwil,independent,zaeziwil.ch,95,multiple_mx; spf_strict; mx_spf_match; provider_classified -3311,Amden,microsoft,amden.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3401,Degersheim,microsoft,degersheim.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -244,Geroldswil,microsoft,geroldswil.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3313,Kaltbrunn,microsoft,kaltbrunn.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3392,Kirchberg,microsoft,kirchberg.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2284,Mont-Vully,microsoft,mont-vully.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3396,Neckertal,microsoft,neckertal.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3423,Niederhelfenschwil,microsoft,niederhelfenschwil.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3254,Oberriet,microsoft,oberriet.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3294,Pfäfers,microsoft,pfaefers.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5725,Prangins,microsoft,prangins.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5648,Saint-Sulpice,microsoft,st-sulpice.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3112,Schwende-Rüte,microsoft,schwende-ruete.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; autodiscover_confirms -3236,St. Margrethen,microsoft,stmargrethen.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2163,Val-de-Charmey,microsoft,val-de-charmey.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3297,Vilters-Wangs,microsoft,vilters-wangs.ch,98,multiple_mx; spf_softfail; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2763,Arlesheim,microsoft,arlesheim.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5324,Avegno Gordevio,microsoft,avegnogordevio.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -605,Bowil,microsoft,bowil.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -53,Bülach,microsoft,buelach.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3443,Gossau,microsoft,stadtgossau.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2849,Itingen,microsoft,itingen.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -565,Kandersteg,microsoft,gemeindekandersteg.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -2206,Marly,microsoft,marly.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -5212,Ponte Capriasca,microsoft,pontecapriasca.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -767,Reutigen,microsoft,reutigen.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -945,Unterlangenegg,microsoft,unterlangenegg.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -3339,Uznach,microsoft,uznach.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms -5650,Vaux-sur-Morges,microsoft,vaux-sur-morges.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; autodiscover_confirms -3746,Zernez,microsoft,zernez.ch,100,multiple_mx; spf_strict; mx_spf_match; provider_classified; provider_via_gateway_spf; autodiscover_confirms diff --git a/validation_report.json b/validation_report.json deleted file mode 100644 index 44bb6ab..0000000 --- a/validation_report.json +++ /dev/null @@ -1,25278 +0,0 @@ -{ - "total": 2115, - "average_score": 91.1, - "high_confidence_pct": 96.4, - "quality_passed": true, - "entries": { - "1": { - "name": "Aeugst am Albis", - "provider": "swiss-isp", - "domain": "aeugst-albis.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2": { - "name": "Affoltern am Albis", - "provider": "microsoft", - "domain": "stadtaffoltern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3": { - "name": "Bonstetten ZH", - "provider": "microsoft", - "domain": "bonstetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4": { - "name": "Hausen am Albis", - "provider": "microsoft", - "domain": "hausen.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5": { - "name": "Hedingen", - "provider": "independent", - "domain": "hedingen.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6": { - "name": "Kappel am Albis", - "provider": "swiss-isp", - "domain": "kappel-am-albis.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "7": { - "name": "Knonau", - "provider": "microsoft", - "domain": "knonau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "8": { - "name": "Maschwanden", - "provider": "swiss-isp", - "domain": "maschwanden.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "9": { - "name": "Mettmenstetten", - "provider": "swiss-isp", - "domain": "mettmenstetten.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "10": { - "name": "Obfelden", - "provider": "microsoft", - "domain": "obfelden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "11": { - "name": "Ottenbach", - "provider": "microsoft", - "domain": "ottenbach.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "12": { - "name": "Rifferswil", - "provider": "independent", - "domain": "rifferswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "13": { - "name": "Stallikon", - "provider": "independent", - "domain": "stallikon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "14": { - "name": "Wettswil am Albis", - "provider": "independent", - "domain": "wettswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "22": { - "name": "Benken", - "provider": "independent", - "domain": "benken-zh.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "23": { - "name": "Berg am Irchel", - "provider": "swiss-isp", - "domain": "berg-am-irchel.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "24": { - "name": "Buch am Irchel", - "provider": "independent", - "domain": "buchamirchel.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "25": { - "name": "Dachsen", - "provider": "microsoft", - "domain": "dachsen.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "26": { - "name": "Dorf ZH", - "provider": "independent", - "domain": "dorf.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "27": { - "name": "Feuerthalen", - "provider": "microsoft", - "domain": "feuerthalen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "28": { - "name": "Flaach", - "provider": "swiss-isp", - "domain": "flaach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "29": { - "name": "Flurlingen", - "provider": "microsoft", - "domain": "flurlingen.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "31": { - "name": "Henggart", - "provider": "microsoft", - "domain": "henggart.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "33": { - "name": "Kleinandelfingen", - "provider": "independent", - "domain": "kleinandelfingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "34": { - "name": "Laufen-Uhwiesen", - "provider": "independent", - "domain": "laufen-uhwiesen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "35": { - "name": "Marthalen", - "provider": "microsoft", - "domain": "marthalen.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "37": { - "name": "Ossingen", - "provider": "swiss-isp", - "domain": "ossingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "38": { - "name": "Rheinau", - "provider": "independent", - "domain": "rheinau.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "39": { - "name": "Thalheim an der Thur", - "provider": "microsoft", - "domain": "thalheim.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "40": { - "name": "Trüllikon", - "provider": "microsoft", - "domain": "truellikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "41": { - "name": "Truttikon", - "provider": "swiss-isp", - "domain": "truttikon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "43": { - "name": "Volken", - "provider": "swiss-isp", - "domain": "volken.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "51": { - "name": "Bachenbülach", - "provider": "microsoft", - "domain": "bachenbuelach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "52": { - "name": "Bassersdorf", - "provider": "independent", - "domain": "bassersdorf.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "53": { - "name": "Bülach", - "provider": "microsoft", - "domain": "buelach.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "54": { - "name": "Dietlikon", - "provider": "microsoft", - "domain": "dietlikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "55": { - "name": "Eglisau", - "provider": "independent", - "domain": "eglisau.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "56": { - "name": "Embrach", - "provider": "microsoft", - "domain": "embrach.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "57": { - "name": "Freienstein-Teufen", - "provider": "microsoft", - "domain": "freienstein-teufen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "58": { - "name": "Glattfelden", - "provider": "microsoft", - "domain": "glattfelden.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "59": { - "name": "Hochfelden ZH", - "provider": "swiss-isp", - "domain": "hochfelden.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "60": { - "name": "Höri ZH", - "provider": "swiss-isp", - "domain": "hoeri.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "61": { - "name": "Hüntwangen", - "provider": "microsoft", - "domain": "huentwangen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "62": { - "name": "Kloten", - "provider": "microsoft", - "domain": "kloten.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "63": { - "name": "Lufingen", - "provider": "microsoft", - "domain": "lufingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "64": { - "name": "Nürensdorf", - "provider": "microsoft", - "domain": "nuerensdorf.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "65": { - "name": "Oberembrach", - "provider": "microsoft", - "domain": "oberembrach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "66": { - "name": "Opfikon", - "provider": "microsoft", - "domain": "opfikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "67": { - "name": "Rafz", - "provider": "microsoft", - "domain": "rafz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "68": { - "name": "Rorbas", - "provider": "microsoft", - "domain": "rorbas.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "69": { - "name": "Wallisellen", - "provider": "microsoft", - "domain": "wallisellen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "70": { - "name": "Wasterkingen", - "provider": "microsoft", - "domain": "wasterkingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "71": { - "name": "Wil ZH", - "provider": "microsoft", - "domain": "wil-zh.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "72": { - "name": "Winkel", - "provider": "independent", - "domain": "winkel.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "81": { - "name": "Bachs", - "provider": "microsoft", - "domain": "bachs.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "82": { - "name": "Boppelsen", - "provider": "microsoft", - "domain": "boppelsen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "83": { - "name": "Buchs ZH", - "provider": "microsoft", - "domain": "buchs-zh.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "84": { - "name": "Dällikon", - "provider": "swiss-isp", - "domain": "daellikon.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "85": { - "name": "Dänikon", - "provider": "swiss-isp", - "domain": "daenikon.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "86": { - "name": "Dielsdorf", - "provider": "microsoft", - "domain": "dielsdorf.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "87": { - "name": "Hüttikon", - "provider": "independent", - "domain": "huettikon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "88": { - "name": "Neerach", - "provider": "microsoft", - "domain": "neerach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "89": { - "name": "Niederglatt ZH", - "provider": "independent", - "domain": "niederglatt.zh.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "90": { - "name": "Niederhasli", - "provider": "microsoft", - "domain": "niederhasli.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "91": { - "name": "Niederweningen", - "provider": "swiss-isp", - "domain": "niederweningen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "92": { - "name": "Oberglatt ZH", - "provider": "swiss-isp", - "domain": "oberglatt.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "93": { - "name": "Oberweningen", - "provider": "swiss-isp", - "domain": "oberweningen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "94": { - "name": "Otelfingen", - "provider": "microsoft", - "domain": "otelfingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "95": { - "name": "Regensberg", - "provider": "microsoft", - "domain": "regensberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "96": { - "name": "Regensdorf", - "provider": "microsoft", - "domain": "regensdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "97": { - "name": "Rümlang", - "provider": "microsoft", - "domain": "ruemlang.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "98": { - "name": "Schleinikon", - "provider": "microsoft", - "domain": "schleinikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "99": { - "name": "Schöfflisdorf", - "provider": "swiss-isp", - "domain": "schoefflisdorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "100": { - "name": "Stadel bei Niederglatt", - "provider": "microsoft", - "domain": "stadel.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "101": { - "name": "Steinmaur", - "provider": "microsoft", - "domain": "steinmaur.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "102": { - "name": "Weiach", - "provider": "independent", - "domain": "weiach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "111": { - "name": "Bäretswil", - "provider": "swiss-isp", - "domain": "baeretswil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "112": { - "name": "Bubikon", - "provider": "microsoft", - "domain": "bubikon.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "113": { - "name": "Dürnten", - "provider": "swiss-isp", - "domain": "duernten.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "114": { - "name": "Fischenthal", - "provider": "swiss-isp", - "domain": "fischenthal.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "115": { - "name": "Gossau", - "provider": "microsoft", - "domain": "gossau-zh.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "116": { - "name": "Grüningen", - "provider": "swiss-isp", - "domain": "grueningen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "117": { - "name": "Hinwil", - "provider": "microsoft", - "domain": "hinwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "118": { - "name": "Rüti", - "provider": "microsoft", - "domain": "rueti.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "119": { - "name": "Seegräben", - "provider": "swiss-isp", - "domain": "seegraeben.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "120": { - "name": "Wald", - "provider": "swiss-isp", - "domain": "wald.zh.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "121": { - "name": "Wetzikon", - "provider": "microsoft", - "domain": "wetzikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "131": { - "name": "Adliswil", - "provider": "microsoft", - "domain": "adliswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "135": { - "name": "Kilchberg", - "provider": "independent", - "domain": "kilchberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "136": { - "name": "Langnau am Albis", - "provider": "microsoft", - "domain": "langnau.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "137": { - "name": "Oberrieden", - "provider": "microsoft", - "domain": "oberrieden.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "138": { - "name": "Richterswil", - "provider": "microsoft", - "domain": "richterswil.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "139": { - "name": "Rüschlikon", - "provider": "microsoft", - "domain": "rueschlikon.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "141": { - "name": "Thalwil", - "provider": "microsoft", - "domain": "thalwil.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "151": { - "name": "Erlenbach", - "provider": "microsoft", - "domain": "erlenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "152": { - "name": "Herrliberg", - "provider": "independent", - "domain": "herrliberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "153": { - "name": "Hombrechtikon", - "provider": "independent", - "domain": "hombrechtikon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "154": { - "name": "Küsnacht", - "provider": "independent", - "domain": "kuesnacht.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "155": { - "name": "Männedorf", - "provider": "swiss-isp", - "domain": "maennedorf.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "156": { - "name": "Meilen", - "provider": "microsoft", - "domain": "meilen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "157": { - "name": "Oetwil am See", - "provider": "microsoft", - "domain": "oetwil.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "158": { - "name": "Stäfa", - "provider": "microsoft", - "domain": "staefa.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "159": { - "name": "Uetikon am See", - "provider": "microsoft", - "domain": "uetikonamsee.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "160": { - "name": "Zumikon", - "provider": "independent", - "domain": "zumikon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "161": { - "name": "Zollikon", - "provider": "microsoft", - "domain": "zollikon.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "172": { - "name": "Fehraltorf", - "provider": "microsoft", - "domain": "fehraltorf.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "173": { - "name": "Hittnau", - "provider": "independent", - "domain": "hittnau.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "176": { - "name": "Lindau", - "provider": "swiss-isp", - "domain": "lindau.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "177": { - "name": "Pfäffikon", - "provider": "microsoft", - "domain": "pfaeffikon.ch", - "confidence": 75, - "flags": [ - "spf_strict", - "provider_classified", - "autodiscover_confirms" - ] - }, - "178": { - "name": "Russikon", - "provider": "swiss-isp", - "domain": "russikon.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "180": { - "name": "Weisslingen", - "provider": "swiss-isp", - "domain": "weisslingen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "181": { - "name": "Wila", - "provider": "swiss-isp", - "domain": "wila.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "182": { - "name": "Wildberg", - "provider": "microsoft", - "domain": "wildberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "191": { - "name": "Dübendorf", - "provider": "microsoft", - "domain": "duebendorf.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "192": { - "name": "Egg", - "provider": "microsoft", - "domain": "egg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "193": { - "name": "Fällanden", - "provider": "swiss-isp", - "domain": "faellanden.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "194": { - "name": "Greifensee", - "provider": "swiss-isp", - "domain": "greifensee.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "195": { - "name": "Maur", - "provider": "microsoft", - "domain": "maur.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "196": { - "name": "Mönchaltorf", - "provider": "google", - "domain": "moenchaltorf.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "197": { - "name": "Schwerzenbach", - "provider": "microsoft", - "domain": "schwerzenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "198": { - "name": "Uster", - "provider": "microsoft", - "domain": "uster.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "199": { - "name": "Volketswil", - "provider": "independent", - "domain": "volketswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "200": { - "name": "Wangen-Brüttisellen", - "provider": "microsoft", - "domain": "wangen-bruettisellen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "211": { - "name": "Altikon", - "provider": "swiss-isp", - "domain": "altikon.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "213": { - "name": "Brütten", - "provider": "microsoft", - "domain": "bruetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "214": { - "name": "Dägerlen", - "provider": "microsoft", - "domain": "daegerlen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "215": { - "name": "Dättlikon", - "provider": "independent", - "domain": "daettlikon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "216": { - "name": "Dinhard", - "provider": "swiss-isp", - "domain": "dinhard.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "218": { - "name": "Ellikon an der Thur", - "provider": "microsoft", - "domain": "ellikonanderthur.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "219": { - "name": "Elsau", - "provider": "microsoft", - "domain": "elsau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "220": { - "name": "Hagenbuch", - "provider": "independent", - "domain": "hagenbuch.zh.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "221": { - "name": "Hettlingen", - "provider": "swiss-isp", - "domain": "hettlingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "223": { - "name": "Neftenbach", - "provider": "swiss-isp", - "domain": "neftenbach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "224": { - "name": "Pfungen", - "provider": "microsoft", - "domain": "pfungen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "225": { - "name": "Rickenbach ZH", - "provider": "independent", - "domain": "rickenbach.zh.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "226": { - "name": "Schlatt", - "provider": "independent", - "domain": "schlatt-zh.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "227": { - "name": "Seuzach", - "provider": "microsoft", - "domain": "seuzach.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "228": { - "name": "Turbenthal", - "provider": "microsoft", - "domain": "turbenthal.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "230": { - "name": "Winterthur", - "provider": "swiss-isp", - "domain": "win.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "231": { - "name": "Zell ZH", - "provider": "microsoft", - "domain": "zell.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "241": { - "name": "Aesch", - "provider": "swiss-isp", - "domain": "aesch-zh.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "242": { - "name": "Birmensdorf", - "provider": "microsoft", - "domain": "birmensdorf.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "243": { - "name": "Dietikon", - "provider": "microsoft", - "domain": "dietikon.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "244": { - "name": "Geroldswil", - "provider": "microsoft", - "domain": "geroldswil.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "245": { - "name": "Oberengstringen", - "provider": "microsoft", - "domain": "oberengstringen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "246": { - "name": "Oetwil an der Limmat", - "provider": "swiss-isp", - "domain": "oetwil-limmat.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "247": { - "name": "Schlieren", - "provider": "microsoft", - "domain": "schlieren.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "248": { - "name": "Uitikon", - "provider": "independent", - "domain": "uitikon.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "249": { - "name": "Unterengstringen", - "provider": "swiss-isp", - "domain": "unterengstringen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "250": { - "name": "Urdorf", - "provider": "microsoft", - "domain": "urdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "251": { - "name": "Weiningen", - "provider": "microsoft", - "domain": "weiningen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "261": { - "name": "Zürich", - "provider": "independent", - "domain": "zuerich.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "291": { - "name": "Andelfingen", - "provider": "independent", - "domain": "andelfingen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "292": { - "name": "Stammheim", - "provider": "independent", - "domain": "stammheim.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "293": { - "name": "Wädenswil", - "provider": "swiss-isp", - "domain": "waedenswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "294": { - "name": "Elgg", - "provider": "swiss-isp", - "domain": "elgg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "295": { - "name": "Horgen", - "provider": "microsoft", - "domain": "horgen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "296": { - "name": "Illnau-Effretikon", - "provider": "microsoft", - "domain": "ilef.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "297": { - "name": "Bauma", - "provider": "microsoft", - "domain": "bauma.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "298": { - "name": "Wiesendangen", - "provider": "swiss-isp", - "domain": "wiesendangen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "301": { - "name": "Aarberg", - "provider": "independent", - "domain": "aarberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "302": { - "name": "Bargen", - "provider": "swiss-isp", - "domain": "bargen-be.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "303": { - "name": "Grossaffoltern", - "provider": "independent", - "domain": "grossaffoltern.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "304": { - "name": "Kallnach", - "provider": "independent", - "domain": "kallnach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "305": { - "name": "Kappelen", - "provider": "microsoft", - "domain": "kappelen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "306": { - "name": "Lyss", - "provider": "independent", - "domain": "lyss.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "307": { - "name": "Meikirch", - "provider": "swiss-isp", - "domain": "meikirch.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "309": { - "name": "Radelfingen", - "provider": "swiss-isp", - "domain": "radelfingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "310": { - "name": "Rapperswil", - "provider": "independent", - "domain": "rapperswil-be.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "311": { - "name": "Schüpfen", - "provider": "independent", - "domain": "schuepfen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "312": { - "name": "Seedorf", - "provider": "independent", - "domain": "seedorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "321": { - "name": "Aarwangen", - "provider": "microsoft", - "domain": "aarwangen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "322": { - "name": "Auswil", - "provider": "microsoft", - "domain": "auswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "323": { - "name": "Bannwil", - "provider": "microsoft", - "domain": "bannwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "324": { - "name": "Bleienbach", - "provider": "microsoft", - "domain": "bleienbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "325": { - "name": "Busswil bei Melchnau", - "provider": "microsoft", - "domain": "busswil-bm.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "326": { - "name": "Gondiswil", - "provider": "microsoft", - "domain": "gondiswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "329": { - "name": "Langenthal", - "provider": "microsoft", - "domain": "langenthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "331": { - "name": "Lotzwil", - "provider": "independent", - "domain": "lotzwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "332": { - "name": "Madiswil", - "provider": "independent", - "domain": "madiswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "333": { - "name": "Melchnau", - "provider": "microsoft", - "domain": "melchnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "335": { - "name": "Oeschenbach", - "provider": "microsoft", - "domain": "oeschenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "336": { - "name": "Reisiswil", - "provider": "microsoft", - "domain": "reisiswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "337": { - "name": "Roggwil", - "provider": "swiss-isp", - "domain": "roggwil.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "338": { - "name": "Rohrbach", - "provider": "independent", - "domain": "rohrbach-be.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "339": { - "name": "Rohrbachgraben", - "provider": "microsoft", - "domain": "rohrbachgraben.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "340": { - "name": "Rütschelen", - "provider": "microsoft", - "domain": "ruetschelen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "341": { - "name": "Schwarzhäusern", - "provider": "microsoft", - "domain": "schwarzhaeusern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "342": { - "name": "Thunstetten", - "provider": "microsoft", - "domain": "thunstetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "344": { - "name": "Ursenbach", - "provider": "microsoft", - "domain": "ursenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "345": { - "name": "Wynau", - "provider": "independent", - "domain": "wynau.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "351": { - "name": "Bern", - "provider": "microsoft", - "domain": "bern.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "352": { - "name": "Bolligen", - "provider": "independent", - "domain": "bolligen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "353": { - "name": "Bremgarten bei Bern", - "provider": "swiss-isp", - "domain": "3047.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "354": { - "name": "Kirchlindach", - "provider": "microsoft", - "domain": "kirchlindach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "355": { - "name": "Köniz", - "provider": "swiss-isp", - "domain": "koeniz.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "356": { - "name": "Muri bei Bern", - "provider": "swiss-isp", - "domain": "muri-guemligen.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "357": { - "name": "Oberbalm", - "provider": "independent", - "domain": "oberbalm.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "358": { - "name": "Stettlen", - "provider": "independent", - "domain": "stettlen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "359": { - "name": "Vechigen", - "provider": "swiss-isp", - "domain": "vechigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "360": { - "name": "Wohlen bei Bern", - "provider": "independent", - "domain": "wohlen-be.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "361": { - "name": "Zollikofen", - "provider": "microsoft", - "domain": "zollikofen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "362": { - "name": "Ittigen", - "provider": "swiss-isp", - "domain": "ittigen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "363": { - "name": "Ostermundigen", - "provider": "microsoft", - "domain": "ostermundigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "371": { - "name": "Biel/Bienne", - "provider": "swiss-isp", - "domain": "biel-bienne.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "372": { - "name": "Leubringen", - "provider": "independent", - "domain": "evilard.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "381": { - "name": "Arch", - "provider": "independent", - "domain": "arch-be.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "382": { - "name": "Büetigen", - "provider": "swiss-isp", - "domain": "bueetigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "383": { - "name": "Büren an der Aare", - "provider": "independent", - "domain": "bueren.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "385": { - "name": "Diessbach bei Büren", - "provider": "microsoft", - "domain": "diessbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "386": { - "name": "Dotzigen", - "provider": "microsoft", - "domain": "dotzigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "387": { - "name": "Lengnau", - "provider": "microsoft", - "domain": "lengnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "388": { - "name": "Leuzigen", - "provider": "microsoft", - "domain": "leuzigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "389": { - "name": "Meienried", - "provider": "microsoft", - "domain": "meienried.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "390": { - "name": "Meinisberg", - "provider": "independent", - "domain": "meinisberg.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "391": { - "name": "Oberwil bei Büren", - "provider": "microsoft", - "domain": "oberwil-bueren.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "392": { - "name": "Pieterlen", - "provider": "independent", - "domain": "pieterlen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "393": { - "name": "Rüti bei Büren", - "provider": "microsoft", - "domain": "ruetibeibueren.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "394": { - "name": "Wengi", - "provider": "microsoft", - "domain": "wengi-be.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "401": { - "name": "Aefligen", - "provider": "microsoft", - "domain": "aefligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "402": { - "name": "Alchenstorf", - "provider": "microsoft", - "domain": "alchenstorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "403": { - "name": "Bäriswil", - "provider": "independent", - "domain": "baeriswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "404": { - "name": "Burgdorf", - "provider": "swiss-isp", - "domain": "burgdorf.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "405": { - "name": "Ersigen", - "provider": "microsoft", - "domain": "ersigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "406": { - "name": "Hasle bei Burgdorf", - "provider": "microsoft", - "domain": "hasle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "407": { - "name": "Heimiswil", - "provider": "independent", - "domain": "heimiswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "408": { - "name": "Hellsau", - "provider": "aws", - "domain": "hellsau.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "409": { - "name": "Hindelbank", - "provider": "independent", - "domain": "hindelbank.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "410": { - "name": "Höchstetten", - "provider": "aws", - "domain": "hoechstetten.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "411": { - "name": "Kernenried", - "provider": "independent", - "domain": "kernenried.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "412": { - "name": "Kirchberg", - "provider": "independent", - "domain": "kirchberg-be.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "413": { - "name": "Koppigen", - "provider": "microsoft", - "domain": "koppigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "414": { - "name": "Krauchthal", - "provider": "microsoft", - "domain": "krauchthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "415": { - "name": "Lyssach", - "provider": "microsoft", - "domain": "lyssach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "418": { - "name": "Oberburg", - "provider": "independent", - "domain": "oberburg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "420": { - "name": "Rüdtligen-Alchenflüh", - "provider": "independent", - "domain": "hgra.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "421": { - "name": "Rumendingen", - "provider": "independent", - "domain": "rumendingen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "422": { - "name": "Rüti bei Lyssach", - "provider": "infomaniak", - "domain": "ruetibeilyssach.ch", - "confidence": 30, - "flags": [ - "no_mx", - "no_spf", - "provider_classified", - "manual_override" - ] - }, - "423": { - "name": "Willadingen", - "provider": "microsoft", - "domain": "willadingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "424": { - "name": "Wynigen", - "provider": "microsoft", - "domain": "wynigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "431": { - "name": "Corgémont", - "provider": "microsoft", - "domain": "corgemont.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "432": { - "name": "Cormoret", - "provider": "microsoft", - "domain": "cormoret.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "433": { - "name": "Cortébert", - "provider": "infomaniak", - "domain": "cortebert.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "434": { - "name": "Courtelary", - "provider": "microsoft", - "domain": "courtelary.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "435": { - "name": "La Ferrière", - "provider": "microsoft", - "domain": "laferriere.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "437": { - "name": "Mont-Tramelan", - "provider": "independent", - "domain": "mont-tramelan.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "438": { - "name": "Orvin", - "provider": "independent", - "domain": "orvin.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "441": { - "name": "Renan", - "provider": "microsoft", - "domain": "renan.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "442": { - "name": "Romont", - "provider": "infomaniak", - "domain": "romont-jb.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "443": { - "name": "Saint-Imier", - "provider": "independent", - "domain": "saint-imier.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "444": { - "name": "Sonceboz-Sombeval", - "provider": "microsoft", - "domain": "sonceboz.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "445": { - "name": "Sonvilier", - "provider": "microsoft", - "domain": "sonvilier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "446": { - "name": "Tramelan", - "provider": "independent", - "domain": "tramelan.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "448": { - "name": "Villeret", - "provider": "microsoft", - "domain": "villeret.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "449": { - "name": "Sauge", - "provider": "infomaniak", - "domain": "sauge-jb.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "450": { - "name": "Péry-La Heutte", - "provider": "independent", - "domain": "pery-laheutte.ch", - "confidence": 75, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified" - ] - }, - "491": { - "name": "Brüttelen", - "provider": "microsoft", - "domain": "bruettelen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "492": { - "name": "Erlach", - "provider": "independent", - "domain": "erlach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "493": { - "name": "Finsterhennen", - "provider": "microsoft", - "domain": "finsterhennen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "494": { - "name": "Gals", - "provider": "swiss-isp", - "domain": "gals.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "495": { - "name": "Gampelen", - "provider": "microsoft", - "domain": "gampelen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "496": { - "name": "Ins", - "provider": "independent", - "domain": "ins.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "497": { - "name": "Lüscherz", - "provider": "swiss-isp", - "domain": "luescherz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "498": { - "name": "Müntschemier", - "provider": "microsoft", - "domain": "muentschemier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "499": { - "name": "Siselen", - "provider": "microsoft", - "domain": "siselen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "500": { - "name": "Treiten", - "provider": "microsoft", - "domain": "treiten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "501": { - "name": "Tschugg", - "provider": "swiss-isp", - "domain": "tschugg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "502": { - "name": "Vinelz", - "provider": "swiss-isp", - "domain": "vinelz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "533": { - "name": "Bätterkinden", - "provider": "microsoft", - "domain": "baetterkinden.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "535": { - "name": "Deisswil bei Münchenbuchsee", - "provider": "microsoft", - "domain": "deisswil.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "538": { - "name": "Fraubrunnen", - "provider": "independent", - "domain": "fraubrunnen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "540": { - "name": "Jegenstorf", - "provider": "independent", - "domain": "jegenstorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "541": { - "name": "Iffwil", - "provider": "microsoft", - "domain": "iffwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "543": { - "name": "Mattstetten", - "provider": "microsoft", - "domain": "mattstetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "544": { - "name": "Moosseedorf", - "provider": "independent", - "domain": "moosseedorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "546": { - "name": "Münchenbuchsee", - "provider": "independent", - "domain": "muenchenbuchsee.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "551": { - "name": "Urtenen-Schönbühl", - "provider": "independent", - "domain": "urtenen-schoenbuehl.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "552": { - "name": "Utzenstorf", - "provider": "independent", - "domain": "utzenstorf.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "553": { - "name": "Wiggiswil", - "provider": "microsoft", - "domain": "wiggiswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "554": { - "name": "Wiler bei Utzenstorf", - "provider": "microsoft", - "domain": "wiler.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "556": { - "name": "Zielebach", - "provider": "independent", - "domain": "zielebach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "557": { - "name": "Zuzwil", - "provider": "microsoft", - "domain": "zuzwil-be.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "561": { - "name": "Adelboden", - "provider": "microsoft", - "domain": "3715.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "562": { - "name": "Aeschi bei Spiez", - "provider": "microsoft", - "domain": "aeschi.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "563": { - "name": "Frutigen", - "provider": "microsoft", - "domain": "frutigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "564": { - "name": "Kandergrund", - "provider": "microsoft", - "domain": "kandergrund.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "565": { - "name": "Kandersteg", - "provider": "microsoft", - "domain": "gemeindekandersteg.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "566": { - "name": "Krattigen", - "provider": "microsoft", - "domain": "krattigen.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "567": { - "name": "Reichenbach im Kandertal", - "provider": "microsoft", - "domain": "reichenbach.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "571": { - "name": "Beatenberg", - "provider": "microsoft", - "domain": "beatenberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "572": { - "name": "Bönigen", - "provider": "microsoft", - "domain": "boenigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "573": { - "name": "Brienz", - "provider": "microsoft", - "domain": "brienz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "574": { - "name": "Brienzwiler", - "provider": "microsoft", - "domain": "brienzwiler.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "575": { - "name": "Därligen", - "provider": "microsoft", - "domain": "daerligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "576": { - "name": "Grindelwald", - "provider": "independent", - "domain": "grindelwald.com", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "577": { - "name": "Gsteigwiler", - "provider": "microsoft", - "domain": "gsteigwiler.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "578": { - "name": "Gündlischwand", - "provider": "microsoft", - "domain": "guendlischwand.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "579": { - "name": "Habkern", - "provider": "microsoft", - "domain": "habkern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "580": { - "name": "Hofstetten bei Brienz", - "provider": "independent", - "domain": "hofstetten-ballenberg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "581": { - "name": "Interlaken", - "provider": "independent", - "domain": "interlaken.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "582": { - "name": "Iseltwald", - "provider": "microsoft", - "domain": "iseltwald.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "584": { - "name": "Lauterbrunnen", - "provider": "microsoft", - "domain": "lauterbrunnen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "585": { - "name": "Leissigen", - "provider": "microsoft", - "domain": "leissigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "586": { - "name": "Lütschental", - "provider": "microsoft", - "domain": "luetschental.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "587": { - "name": "Matten bei Interlaken", - "provider": "microsoft", - "domain": "matten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "588": { - "name": "Niederried bei Interlaken", - "provider": "microsoft", - "domain": "niederried-be.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "589": { - "name": "Oberried am Brienzersee", - "provider": "independent", - "domain": "oberried.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "590": { - "name": "Ringgenberg", - "provider": "microsoft", - "domain": "ringgenberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "591": { - "name": "Saxeten", - "provider": "microsoft", - "domain": "saxeten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "592": { - "name": "Schwanden bei Brienz", - "provider": "microsoft", - "domain": "schwandenbrienz.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "593": { - "name": "Unterseen", - "provider": "swiss-isp", - "domain": "unterseen.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "594": { - "name": "Wilderswil", - "provider": "microsoft", - "domain": "wilderswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "602": { - "name": "Arni", - "provider": "aws", - "domain": "arnibe.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "603": { - "name": "Biglen", - "provider": "independent", - "domain": "biglen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "605": { - "name": "Bowil", - "provider": "microsoft", - "domain": "bowil.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "606": { - "name": "Brenzikofen", - "provider": "independent", - "domain": "brenzikofen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "607": { - "name": "Freimettigen", - "provider": "microsoft", - "domain": "freimettigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "608": { - "name": "Grosshöchstetten", - "provider": "independent", - "domain": "grosshoechstetten.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "609": { - "name": "Häutligen", - "provider": "microsoft", - "domain": "haeutligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "610": { - "name": "Herbligen", - "provider": "microsoft", - "domain": "herbligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "611": { - "name": "Kiesen", - "provider": "microsoft", - "domain": "kiesen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "612": { - "name": "Konolfingen", - "provider": "microsoft", - "domain": "konolfingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "613": { - "name": "Landiswil", - "provider": "microsoft", - "domain": "landiswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "614": { - "name": "Linden", - "provider": "independent", - "domain": "linden.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "615": { - "name": "Mirchel", - "provider": "microsoft", - "domain": "mirchel.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "616": { - "name": "Münsingen", - "provider": "independent", - "domain": "muensingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "617": { - "name": "Niederhünigen", - "provider": "aws", - "domain": "niederhuenigen.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "619": { - "name": "Oberdiessbach", - "provider": "independent", - "domain": "oberdiessbach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "620": { - "name": "Oberthal", - "provider": "independent", - "domain": "oberthal.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "622": { - "name": "Oppligen", - "provider": "microsoft", - "domain": "oppligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "623": { - "name": "Rubigen", - "provider": "swiss-isp", - "domain": "rubigen.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "626": { - "name": "Walkringen", - "provider": "independent", - "domain": "walkringen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "627": { - "name": "Worb", - "provider": "independent", - "domain": "worb.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "628": { - "name": "Zäziwil", - "provider": "independent", - "domain": "zaeziwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "629": { - "name": "Oberhünigen", - "provider": "independent", - "domain": "oberhuenigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "630": { - "name": "Allmendingen bei Bern", - "provider": "microsoft", - "domain": "allmendingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "632": { - "name": "Wichtrach", - "provider": "independent", - "domain": "wichtrach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "662": { - "name": "Ferenbalm", - "provider": "independent", - "domain": "ferenbalm.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "663": { - "name": "Frauenkappelen", - "provider": "independent", - "domain": "frauenkappelen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "665": { - "name": "Gurbrü", - "provider": "microsoft", - "domain": "gurbrue.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "666": { - "name": "Kriechenwil", - "provider": "microsoft", - "domain": "kriechenwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "667": { - "name": "Laupen", - "provider": "independent", - "domain": "laupen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "668": { - "name": "Mühleberg", - "provider": "swiss-isp", - "domain": "muehleberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "669": { - "name": "Münchenwiler", - "provider": "independent", - "domain": "muenchenwiler.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "670": { - "name": "Neuenegg", - "provider": "microsoft", - "domain": "neuenegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "671": { - "name": "Wileroltigen", - "provider": "microsoft", - "domain": "wileroltigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "681": { - "name": "Belprahon", - "provider": "microsoft", - "domain": "belprahon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "683": { - "name": "Champoz", - "provider": "infomaniak", - "domain": "champoz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "687": { - "name": "Corcelles", - "provider": "microsoft", - "domain": "corcelles-be.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "690": { - "name": "Court", - "provider": "microsoft", - "domain": "court.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "691": { - "name": "Crémines", - "provider": "independent", - "domain": "cremines.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "692": { - "name": "Eschert", - "provider": "independent", - "domain": "eschert.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "694": { - "name": "Grandval", - "provider": "microsoft", - "domain": "grandval.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "696": { - "name": "Loveresse", - "provider": "infomaniak", - "domain": "loveresse.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "701": { - "name": "Perrefitte", - "provider": "independent", - "domain": "perrefitte.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified" - ] - }, - "703": { - "name": "Reconvilier", - "provider": "independent", - "domain": "reconvilier.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "704": { - "name": "Roches", - "provider": "infomaniak", - "domain": "roches.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "706": { - "name": "Saicourt", - "provider": "infomaniak", - "domain": "saicourt.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "707": { - "name": "Saules", - "provider": "infomaniak", - "domain": "saules-be.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "708": { - "name": "Schelten", - "provider": "microsoft", - "domain": "gemeinde-schelten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "709": { - "name": "Seehof BE", - "provider": "unknown", - "domain": "", - "confidence": 0, - "flags": [ - "no_domain", - "no_mx", - "no_spf", - "provider_unknown" - ] - }, - "711": { - "name": "Sorvilier", - "provider": "independent", - "domain": "sorvilier.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "713": { - "name": "Tavannes", - "provider": "microsoft", - "domain": "tavannes.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "715": { - "name": "Rebévelier", - "provider": "unknown", - "domain": "", - "confidence": 0, - "flags": [ - "no_domain", - "no_mx", - "no_spf", - "provider_unknown" - ] - }, - "716": { - "name": "Petit-Val", - "provider": "infomaniak", - "domain": "petit-val.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "717": { - "name": "Valbirse", - "provider": "independent", - "domain": "valbirse.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "723": { - "name": "La Neuveville", - "provider": "independent", - "domain": "laneuveville.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "724": { - "name": "Nods", - "provider": "microsoft", - "domain": "nods.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "726": { - "name": "Plateau de Diesse", - "provider": "microsoft", - "domain": "leplateaudediesse.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "731": { - "name": "Aegerten", - "provider": "independent", - "domain": "aegerten.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "732": { - "name": "Bellmund", - "provider": "independent", - "domain": "bellmund.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "733": { - "name": "Brügg", - "provider": "microsoft", - "domain": "bruegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "734": { - "name": "Bühl", - "provider": "independent", - "domain": "buehl.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "735": { - "name": "Epsach", - "provider": "independent", - "domain": "epsach.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "736": { - "name": "Hagneck", - "provider": "swiss-isp", - "domain": "hagneck.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "737": { - "name": "Hermrigen", - "provider": "microsoft", - "domain": "hermrigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "738": { - "name": "Jens", - "provider": "independent", - "domain": "jens.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "739": { - "name": "Ipsach", - "provider": "microsoft", - "domain": "ipsach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "740": { - "name": "Ligerz", - "provider": "swiss-isp", - "domain": "ligerz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "741": { - "name": "Merzligen", - "provider": "microsoft", - "domain": "merzligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "742": { - "name": "Mörigen", - "provider": "swiss-isp", - "domain": "moerigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "743": { - "name": "Nidau", - "provider": "independent", - "domain": "nidau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "744": { - "name": "Orpund", - "provider": "independent", - "domain": "orpund.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "745": { - "name": "Port", - "provider": "microsoft", - "domain": "port.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "746": { - "name": "Safnern", - "provider": "independent", - "domain": "safnern.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "747": { - "name": "Scheuren", - "provider": "microsoft", - "domain": "gemeinde-scheuren.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "748": { - "name": "Schwadernau", - "provider": "independent", - "domain": "schwadernau.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "749": { - "name": "Studen", - "provider": "microsoft", - "domain": "studen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "750": { - "name": "Sutz-Lattrigen", - "provider": "independent", - "domain": "sutz-lattrigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "751": { - "name": "Täuffelen", - "provider": "microsoft", - "domain": "taeuffelen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "754": { - "name": "Walperswil", - "provider": "independent", - "domain": "walperswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "755": { - "name": "Worben", - "provider": "microsoft", - "domain": "worben.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "756": { - "name": "Twann-Tüscherz", - "provider": "microsoft", - "domain": "twann-tuescherz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "761": { - "name": "Därstetten", - "provider": "independent", - "domain": "daerstetten.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "762": { - "name": "Diemtigen", - "provider": "microsoft", - "domain": "diemtigen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "763": { - "name": "Erlenbach im Simmental", - "provider": "independent", - "domain": "erlenbach-be.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "766": { - "name": "Oberwil im Simmental", - "provider": "microsoft", - "domain": "oberwil-im-simmental.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "767": { - "name": "Reutigen", - "provider": "microsoft", - "domain": "reutigen.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "768": { - "name": "Spiez", - "provider": "independent", - "domain": "spiez.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "769": { - "name": "Wimmis", - "provider": "microsoft", - "domain": "wimmis.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "770": { - "name": "Stocken-Höfen", - "provider": "swiss-isp", - "domain": "stocken-hoefen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "782": { - "name": "Guttannen", - "provider": "independent", - "domain": "guttannen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "783": { - "name": "Hasliberg", - "provider": "swiss-isp", - "domain": "hasliberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "784": { - "name": "Innertkirchen", - "provider": "microsoft", - "domain": "innertkirchen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "785": { - "name": "Meiringen", - "provider": "microsoft", - "domain": "meiringen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "786": { - "name": "Schattenhalb", - "provider": "microsoft", - "domain": "schattenhalb.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "791": { - "name": "Boltigen", - "provider": "microsoft", - "domain": "boltigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "792": { - "name": "Lenk", - "provider": "independent", - "domain": "lenkgemeinde.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "793": { - "name": "St. Stephan", - "provider": "microsoft", - "domain": "ststephan.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "794": { - "name": "Zweisimmen", - "provider": "swiss-isp", - "domain": "zweisimmen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "841": { - "name": "Gsteig bei Gstaad", - "provider": "microsoft", - "domain": "gsteig.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "842": { - "name": "Lauenen", - "provider": "microsoft", - "domain": "lauenen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "843": { - "name": "Saanen", - "provider": "swiss-isp", - "domain": "saanen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "852": { - "name": "Guggisberg", - "provider": "independent", - "domain": "guggisberg.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "853": { - "name": "Rüschegg", - "provider": "microsoft", - "domain": "rueschegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "855": { - "name": "Schwarzenburg", - "provider": "independent", - "domain": "schwarzenburg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "861": { - "name": "Belp", - "provider": "independent", - "domain": "belp.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "863": { - "name": "Burgistein", - "provider": "swiss-isp", - "domain": "burgistein.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "866": { - "name": "Gerzensee", - "provider": "microsoft", - "domain": "gerzensee.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "867": { - "name": "Gurzelen", - "provider": "swiss-isp", - "domain": "gurzelen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "868": { - "name": "Jaberg", - "provider": "microsoft", - "domain": "jaberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "869": { - "name": "Kaufdorf", - "provider": "swiss-isp", - "domain": "kaufdorf.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "870": { - "name": "Kehrsatz", - "provider": "swiss-isp", - "domain": "kehrsatz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "872": { - "name": "Kirchdorf", - "provider": "swiss-isp", - "domain": "kirchdorf-be.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "877": { - "name": "Niedermuhlern", - "provider": "independent", - "domain": "niedermuhlern.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "879": { - "name": "Riggisberg", - "provider": "independent", - "domain": "riggisberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "880": { - "name": "Rüeggisberg", - "provider": "independent", - "domain": "rueggisberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "883": { - "name": "Seftigen", - "provider": "independent", - "domain": "seftigen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "884": { - "name": "Toffen", - "provider": "swiss-isp", - "domain": "toffen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "885": { - "name": "Uttigen", - "provider": "independent", - "domain": "uttigen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "886": { - "name": "Wattenwil", - "provider": "infomaniak", - "domain": "wattenwil.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "888": { - "name": "Wald", - "provider": "swiss-isp", - "domain": "wald-be.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "889": { - "name": "Thurnen", - "provider": "independent", - "domain": "thurnen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "901": { - "name": "Eggiwil", - "provider": "independent", - "domain": "eggiwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "902": { - "name": "Langnau im Emmental", - "provider": "swiss-isp", - "domain": "langnau-ie.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "903": { - "name": "Lauperswil", - "provider": "independent", - "domain": "lauperswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "904": { - "name": "Röthenbach im Emmental", - "provider": "microsoft", - "domain": "roethenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "905": { - "name": "Rüderswil", - "provider": "independent", - "domain": "ruederswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "906": { - "name": "Schangnau", - "provider": "microsoft", - "domain": "schangnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "907": { - "name": "Signau", - "provider": "independent", - "domain": "signau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "908": { - "name": "Trub", - "provider": "microsoft", - "domain": "trub.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "909": { - "name": "Trubschachen", - "provider": "swiss-isp", - "domain": "trubschachen.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "921": { - "name": "Amsoldingen", - "provider": "microsoft", - "domain": "amsoldingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "922": { - "name": "Blumenstein", - "provider": "microsoft", - "domain": "blumenstein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "923": { - "name": "Buchholterberg", - "provider": "independent", - "domain": "heimenschwand.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "924": { - "name": "Eriz", - "provider": "independent", - "domain": "eriz.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "925": { - "name": "Fahrni", - "provider": "independent", - "domain": "gemeinde-fahrni.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "927": { - "name": "Heiligenschwendi", - "provider": "independent", - "domain": "heiligenschwendi.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "928": { - "name": "Heimberg", - "provider": "independent", - "domain": "heimberg.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "929": { - "name": "Hilterfingen", - "provider": "independent", - "domain": "hilterfingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "931": { - "name": "Homberg", - "provider": "microsoft", - "domain": "homberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "932": { - "name": "Horrenbach-Buchen", - "provider": "microsoft", - "domain": "horrenbach-buchen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "934": { - "name": "Oberhofen am Thunersee", - "provider": "independent", - "domain": "oberhofen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "935": { - "name": "Oberlangenegg", - "provider": "microsoft", - "domain": "oberlangenegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "936": { - "name": "Pohlern", - "provider": "microsoft", - "domain": "pohlern.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "938": { - "name": "Sigriswil", - "provider": "swiss-isp", - "domain": "sigriswil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "939": { - "name": "Steffisburg", - "provider": "microsoft", - "domain": "steffisburg.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "940": { - "name": "Teuffenthal", - "provider": "independent", - "domain": "teuffenthal.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "941": { - "name": "Thierachern", - "provider": "independent", - "domain": "thierachern.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "942": { - "name": "Thun", - "provider": "independent", - "domain": "thun.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "943": { - "name": "Uebeschi", - "provider": "swiss-isp", - "domain": "uebeschi.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "944": { - "name": "Uetendorf", - "provider": "swiss-isp", - "domain": "uetendorf.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "945": { - "name": "Unterlangenegg", - "provider": "microsoft", - "domain": "unterlangenegg.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "946": { - "name": "Wachseldorn", - "provider": "independent", - "domain": "wachseldorn.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "948": { - "name": "Forst-Längenbühl", - "provider": "independent", - "domain": "forst-laengenbuehl.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "951": { - "name": "Affoltern im Emmental", - "provider": "swiss-isp", - "domain": "affolternimemmental.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "952": { - "name": "Dürrenroth", - "provider": "independent", - "domain": "duerrenroth.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "953": { - "name": "Eriswil", - "provider": "microsoft", - "domain": "eriswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "954": { - "name": "Huttwil", - "provider": "swiss-isp", - "domain": "huttwil.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "955": { - "name": "Lützelflüh", - "provider": "independent", - "domain": "luetzelflueh.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "956": { - "name": "Rüegsau", - "provider": "microsoft", - "domain": "ruegsau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "957": { - "name": "Sumiswald", - "provider": "swiss-isp", - "domain": "sumiswald.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "958": { - "name": "Trachselwald", - "provider": "microsoft", - "domain": "trachselwald.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "959": { - "name": "Walterswil", - "provider": "microsoft", - "domain": "walterswil-be.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "960": { - "name": "Wyssachen", - "provider": "swiss-isp", - "domain": "wyssachen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "971": { - "name": "Attiswil", - "provider": "aws", - "domain": "attiswil.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "972": { - "name": "Berken", - "provider": "independent", - "domain": "berken.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "973": { - "name": "Bettenhausen", - "provider": "aws", - "domain": "bettenhausen.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "975": { - "name": "Farnern", - "provider": "microsoft", - "domain": "farnern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "976": { - "name": "Graben", - "provider": "microsoft", - "domain": "graben.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "977": { - "name": "Heimenhausen", - "provider": "microsoft", - "domain": "heimenhausen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "979": { - "name": "Herzogenbuchsee", - "provider": "microsoft", - "domain": "herzogenbuchsee.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "980": { - "name": "Inkwil", - "provider": "microsoft", - "domain": "inkwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "981": { - "name": "Niederbipp", - "provider": "microsoft", - "domain": "niederbipp.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "982": { - "name": "Niederönz", - "provider": "microsoft", - "domain": "niederoenz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "983": { - "name": "Oberbipp", - "provider": "microsoft", - "domain": "oberbipp.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "985": { - "name": "Ochlenberg", - "provider": "swiss-isp", - "domain": "ochlenberg.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "987": { - "name": "Rumisberg", - "provider": "swiss-isp", - "domain": "rumisberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "988": { - "name": "Seeberg", - "provider": "microsoft", - "domain": "seeberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "989": { - "name": "Thörigen", - "provider": "microsoft", - "domain": "thoerigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "990": { - "name": "Walliswil bei Niederbipp", - "provider": "independent", - "domain": "walliswil-bipp.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "991": { - "name": "Walliswil bei Wangen", - "provider": "microsoft", - "domain": "walliswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "992": { - "name": "Wangen an der Aare", - "provider": "independent", - "domain": "wangen-a-a.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "995": { - "name": "Wiedlisbach", - "provider": "swiss-isp", - "domain": "wiedlisbach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1001": { - "name": "Doppleschwand", - "provider": "microsoft", - "domain": "doppleschwand.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1002": { - "name": "Entlebuch", - "provider": "microsoft", - "domain": "entlebuch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1004": { - "name": "Flühli", - "provider": "microsoft", - "domain": "fluehli.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1005": { - "name": "Hasle", - "provider": "microsoft", - "domain": "hasle-lu.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1007": { - "name": "Romoos", - "provider": "microsoft", - "domain": "romoos.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1008": { - "name": "Schüpfheim", - "provider": "microsoft", - "domain": "schuepfheim.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1009": { - "name": "Werthenstein", - "provider": "swiss-isp", - "domain": "werthenstein.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1010": { - "name": "Escholzmatt-Marbach", - "provider": "microsoft", - "domain": "escholzmatt-marbach.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1021": { - "name": "Aesch", - "provider": "microsoft", - "domain": "aesch-lu.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1023": { - "name": "Ballwil", - "provider": "independent", - "domain": "ballwil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1024": { - "name": "Emmen", - "provider": "independent", - "domain": "emmen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1025": { - "name": "Ermensee", - "provider": "independent", - "domain": "ermensee.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1026": { - "name": "Eschenbach", - "provider": "independent", - "domain": "eschenbach-luzern.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1030": { - "name": "Hitzkirch", - "provider": "microsoft", - "domain": "hitzkirch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1031": { - "name": "Hochdorf", - "provider": "independent", - "domain": "hochdorf.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1032": { - "name": "Hohenrain", - "provider": "swiss-isp", - "domain": "hohenrain.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1033": { - "name": "Inwil", - "provider": "independent", - "domain": "inwil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1037": { - "name": "Rain", - "provider": "microsoft", - "domain": "rain.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1039": { - "name": "Römerswil", - "provider": "swiss-isp", - "domain": "roemerswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1040": { - "name": "Rothenburg", - "provider": "independent", - "domain": "rothenburg.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1041": { - "name": "Schongau", - "provider": "independent", - "domain": "schongau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1051": { - "name": "Adligenswil", - "provider": "microsoft", - "domain": "adligenswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1052": { - "name": "Buchrain", - "provider": "microsoft", - "domain": "buchrain.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1053": { - "name": "Dierikon", - "provider": "microsoft", - "domain": "dierikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1054": { - "name": "Ebikon", - "provider": "microsoft", - "domain": "ebikon.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1055": { - "name": "Gisikon", - "provider": "independent", - "domain": "gisikon.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1056": { - "name": "Greppen", - "provider": "microsoft", - "domain": "greppen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1058": { - "name": "Horw", - "provider": "microsoft", - "domain": "horw.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1059": { - "name": "Kriens", - "provider": "independent", - "domain": "kriens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1061": { - "name": "Luzern", - "provider": "swiss-isp", - "domain": "stadtluzern.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1062": { - "name": "Malters", - "provider": "swiss-isp", - "domain": "malters.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1063": { - "name": "Meggen", - "provider": "microsoft", - "domain": "meggen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1064": { - "name": "Meierskappel", - "provider": "swiss-isp", - "domain": "meierskappel.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1065": { - "name": "Root", - "provider": "microsoft", - "domain": "gemeinde-root.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1066": { - "name": "Schwarzenberg", - "provider": "google", - "domain": "schwarzenberg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1067": { - "name": "Udligenswil", - "provider": "microsoft", - "domain": "udligenswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1068": { - "name": "Vitznau", - "provider": "microsoft", - "domain": "vitznau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1069": { - "name": "Weggis", - "provider": "microsoft", - "domain": "weggis.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1081": { - "name": "Beromünster", - "provider": "microsoft", - "domain": "beromuenster.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1082": { - "name": "Büron", - "provider": "swiss-isp", - "domain": "bueron.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1083": { - "name": "Buttisholz", - "provider": "independent", - "domain": "buttisholz.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1084": { - "name": "Eich", - "provider": "microsoft", - "domain": "eich.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1085": { - "name": "Geuensee", - "provider": "independent", - "domain": "geuensee.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1086": { - "name": "Grosswangen", - "provider": "independent", - "domain": "grosswangen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1088": { - "name": "Hildisrieden", - "provider": "microsoft", - "domain": "hildisrieden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1089": { - "name": "Knutwil", - "provider": "independent", - "domain": "knutwil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1091": { - "name": "Mauensee", - "provider": "microsoft", - "domain": "mauensee.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1093": { - "name": "Neuenkirch", - "provider": "microsoft", - "domain": "neuenkirch.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1094": { - "name": "Nottwil", - "provider": "independent", - "domain": "nottwil.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1095": { - "name": "Oberkirch", - "provider": "swiss-isp", - "domain": "oberkirch.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1097": { - "name": "Rickenbach", - "provider": "microsoft", - "domain": "rickenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1098": { - "name": "Ruswil", - "provider": "independent", - "domain": "ruswil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1099": { - "name": "Schenkon", - "provider": "swiss-isp", - "domain": "schenkon.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1100": { - "name": "Schlierbach", - "provider": "swiss-isp", - "domain": "schlierbach.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1102": { - "name": "Sempach", - "provider": "microsoft", - "domain": "sempach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1103": { - "name": "Sursee", - "provider": "microsoft", - "domain": "stadtsursee.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1104": { - "name": "Triengen", - "provider": "independent", - "domain": "triengen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1107": { - "name": "Wolhusen", - "provider": "swiss-isp", - "domain": "wolhusen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1121": { - "name": "Alberswil", - "provider": "microsoft", - "domain": "alberswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1122": { - "name": "Altbüron", - "provider": "microsoft", - "domain": "altbueron.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1123": { - "name": "Altishofen", - "provider": "independent", - "domain": "altishofen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1125": { - "name": "Dagmersellen", - "provider": "microsoft", - "domain": "dagmersellen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1127": { - "name": "Egolzwil", - "provider": "microsoft", - "domain": "egolzwil.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1128": { - "name": "Ettiswil", - "provider": "independent", - "domain": "ettiswil.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1129": { - "name": "Fischbach", - "provider": "microsoft", - "domain": "fischbach-lu.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1131": { - "name": "Grossdietwil", - "provider": "swiss-isp", - "domain": "grossdietwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1132": { - "name": "Hergiswil bei Willisau", - "provider": "independent", - "domain": "hergiswil-lu.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1135": { - "name": "Luthern", - "provider": "microsoft", - "domain": "luthern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1136": { - "name": "Menznau", - "provider": "microsoft", - "domain": "menznau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1137": { - "name": "Nebikon", - "provider": "microsoft", - "domain": "nebikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1139": { - "name": "Pfaffnau", - "provider": "microsoft", - "domain": "pfaffnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1140": { - "name": "Reiden", - "provider": "swiss-isp", - "domain": "reiden.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1142": { - "name": "Roggliswil", - "provider": "microsoft", - "domain": "roggliswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1143": { - "name": "Schötz", - "provider": "independent", - "domain": "schoetz.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1145": { - "name": "Ufhusen", - "provider": "independent", - "domain": "ufhusen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1146": { - "name": "Wauwil", - "provider": "microsoft", - "domain": "wauwil.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1147": { - "name": "Wikon", - "provider": "independent", - "domain": "wikon.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1150": { - "name": "Zell", - "provider": "independent", - "domain": "zell-lu.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1151": { - "name": "Willisau", - "provider": "swiss-isp", - "domain": "willisau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1201": { - "name": "Altdorf", - "provider": "independent", - "domain": "altdorf.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1202": { - "name": "Andermatt", - "provider": "independent", - "domain": "gemeinde-andermatt.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1203": { - "name": "Attinghausen", - "provider": "independent", - "domain": "attinghausen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1205": { - "name": "Bürglen", - "provider": "independent", - "domain": "buerglen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1206": { - "name": "Erstfeld", - "provider": "independent", - "domain": "erstfeld.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1207": { - "name": "Flüelen", - "provider": "independent", - "domain": "fluelen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1208": { - "name": "Göschenen", - "provider": "independent", - "domain": "goeschenen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1209": { - "name": "Gurtnellen", - "provider": "independent", - "domain": "gurtnellen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1210": { - "name": "Hospental", - "provider": "independent", - "domain": "hospental.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1211": { - "name": "Isenthal", - "provider": "independent", - "domain": "isenthal.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1212": { - "name": "Realp", - "provider": "microsoft", - "domain": "realp.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1213": { - "name": "Schattdorf", - "provider": "independent", - "domain": "schattdorf.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1214": { - "name": "Seedorf", - "provider": "independent", - "domain": "seedorf-uri.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1215": { - "name": "Seelisberg", - "provider": "microsoft", - "domain": "seelisberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1216": { - "name": "Silenen", - "provider": "microsoft", - "domain": "silenen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1217": { - "name": "Sisikon", - "provider": "independent", - "domain": "sisikon.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1218": { - "name": "Spiringen", - "provider": "independent", - "domain": "spiringen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1219": { - "name": "Unterschächen", - "provider": "independent", - "domain": "unterschaechen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1220": { - "name": "Wassen", - "provider": "independent", - "domain": "wassen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1301": { - "name": "Einsiedeln", - "provider": "independent", - "domain": "einsiedeln.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "1311": { - "name": "Gersau", - "provider": "microsoft", - "domain": "gersau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1321": { - "name": "Feusisberg", - "provider": "microsoft", - "domain": "feusisberg.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1322": { - "name": "Freienbach", - "provider": "independent", - "domain": "freienbach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "1323": { - "name": "Wollerau", - "provider": "independent", - "domain": "wollerau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "1331": { - "name": "Küssnacht", - "provider": "microsoft", - "domain": "kuessnacht.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1341": { - "name": "Altendorf", - "provider": "swiss-isp", - "domain": "altendorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1342": { - "name": "Galgenen", - "provider": "independent", - "domain": "galgenen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1343": { - "name": "Innerthal", - "provider": "independent", - "domain": "innerthal.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1344": { - "name": "Lachen", - "provider": "independent", - "domain": "lachen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1345": { - "name": "Reichenburg", - "provider": "independent", - "domain": "reichenburg.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "1346": { - "name": "Schübelbach", - "provider": "microsoft", - "domain": "schuebelbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1347": { - "name": "Tuggen", - "provider": "independent", - "domain": "tuggen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "1348": { - "name": "Vorderthal", - "provider": "independent", - "domain": "vorderthal.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1349": { - "name": "Wangen", - "provider": "independent", - "domain": "wangensz.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "1361": { - "name": "Alpthal", - "provider": "independent", - "domain": "alpthal.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1362": { - "name": "Arth", - "provider": "swiss-isp", - "domain": "arth.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1363": { - "name": "Illgau", - "provider": "independent", - "domain": "illgau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1364": { - "name": "Ingenbohl", - "provider": "independent", - "domain": "ingenbohl.ch", - "confidence": 78, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1365": { - "name": "Lauerz", - "provider": "independent", - "domain": "lauerz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1366": { - "name": "Morschach", - "provider": "independent", - "domain": "morschach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1367": { - "name": "Muotathal", - "provider": "independent", - "domain": "muotathal.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1368": { - "name": "Oberiberg", - "provider": "independent", - "domain": "oberiberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1369": { - "name": "Riemenstalden", - "provider": "independent", - "domain": "riemenstalden.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1370": { - "name": "Rothenthurm", - "provider": "independent", - "domain": "rothenthurm.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1371": { - "name": "Sattel", - "provider": "independent", - "domain": "sattel.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1372": { - "name": "Schwyz", - "provider": "independent", - "domain": "gemeindeschwyz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1373": { - "name": "Steinen", - "provider": "independent", - "domain": "steinen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1374": { - "name": "Steinerberg", - "provider": "independent", - "domain": "steinerberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1375": { - "name": "Unteriberg", - "provider": "independent", - "domain": "unteriberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1401": { - "name": "Alpnach", - "provider": "independent", - "domain": "alpnach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1402": { - "name": "Engelberg", - "provider": "microsoft", - "domain": "gde-engelberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1403": { - "name": "Giswil", - "provider": "independent", - "domain": "giswil.ow.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1404": { - "name": "Kerns", - "provider": "swiss-isp", - "domain": "kerns.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "1405": { - "name": "Lungern", - "provider": "independent", - "domain": "lungern.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1406": { - "name": "Sachseln", - "provider": "independent", - "domain": "sachseln.ow.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1407": { - "name": "Sarnen", - "provider": "independent", - "domain": "sarnen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1501": { - "name": "Beckenried", - "provider": "independent", - "domain": "beckenried.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1502": { - "name": "Buochs", - "provider": "independent", - "domain": "buochs.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1503": { - "name": "Dallenwil", - "provider": "microsoft", - "domain": "dallenwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "1504": { - "name": "Emmetten", - "provider": "independent", - "domain": "emmetten.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1505": { - "name": "Ennetbürgen", - "provider": "independent", - "domain": "ennetbuergen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1506": { - "name": "Ennetmoos", - "provider": "independent", - "domain": "ennetmoos.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1507": { - "name": "Hergiswil", - "provider": "independent", - "domain": "hergiswil.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1508": { - "name": "Oberdorf NW", - "provider": "independent", - "domain": "nw.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1509": { - "name": "Stans", - "provider": "independent", - "domain": "stans.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1510": { - "name": "Stansstad", - "provider": "independent", - "domain": "stansstad.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1511": { - "name": "Wolfenschiessen", - "provider": "independent", - "domain": "wolfenschiessen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "1630": { - "name": "Glarus Nord", - "provider": "swiss-isp", - "domain": "glarus-nord.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1631": { - "name": "Glarus Süd", - "provider": "swiss-isp", - "domain": "glarus-sued.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1632": { - "name": "Glarus", - "provider": "swiss-isp", - "domain": "glarus.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1701": { - "name": "Baar", - "provider": "independent", - "domain": "baar.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1702": { - "name": "Cham", - "provider": "independent", - "domain": "cham.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1703": { - "name": "Hünenberg", - "provider": "independent", - "domain": "zg.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1704": { - "name": "Menzingen", - "provider": "independent", - "domain": "zg.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1705": { - "name": "Neuheim", - "provider": "independent", - "domain": "neuheim.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1706": { - "name": "Oberägeri", - "provider": "independent", - "domain": "oberaegeri.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1707": { - "name": "Risch", - "provider": "independent", - "domain": "zg.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1708": { - "name": "Steinhausen", - "provider": "independent", - "domain": "steinhausen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "1709": { - "name": "Unterägeri", - "provider": "independent", - "domain": "unteraegeri.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1710": { - "name": "Walchwil", - "provider": "independent", - "domain": "walchwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "1711": { - "name": "Zug", - "provider": "independent", - "domain": "stadtzug.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2008": { - "name": "Châtillon", - "provider": "independent", - "domain": "chatillon-broye.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2011": { - "name": "Cugy", - "provider": "independent", - "domain": "cugy-fr.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2022": { - "name": "Gletterens", - "provider": "microsoft", - "domain": "gletterens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2025": { - "name": "Lully FR", - "provider": "microsoft", - "domain": "lully-fr.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2029": { - "name": "Montagny", - "provider": "microsoft", - "domain": "montagny-fr.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2035": { - "name": "Nuvilly", - "provider": "microsoft", - "domain": "nuvilly.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2038": { - "name": "Prévondavaux", - "provider": "infomaniak", - "domain": "prevondavaux.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2041": { - "name": "Saint-Aubin", - "provider": "independent", - "domain": "st-aubin.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2043": { - "name": "Sévaz", - "provider": "independent", - "domain": "sevaz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2044": { - "name": "Surpierre", - "provider": "microsoft", - "domain": "surpierre-fr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2045": { - "name": "Vallon", - "provider": "infomaniak", - "domain": "vallon.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2050": { - "name": "Les Montets", - "provider": "independent", - "domain": "les-montets.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2051": { - "name": "Delley-Portalban", - "provider": "independent", - "domain": "delley-portalban.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2053": { - "name": "Belmont-Broye", - "provider": "independent", - "domain": "belmont-broye.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2054": { - "name": "Estavayer", - "provider": "microsoft", - "domain": "estavayer.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2055": { - "name": "Cheyres-Châbles", - "provider": "microsoft", - "domain": "cheyres-chables.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2056": { - "name": "Fétigny-Ménières", - "provider": "microsoft", - "domain": "fetigny-menieres.ch", - "confidence": 25, - "flags": [ - "no_mx", - "no_spf", - "provider_classified" - ] - }, - "2061": { - "name": "Auboranges", - "provider": "microsoft", - "domain": "auboranges.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2063": { - "name": "Billens-Hennens", - "provider": "infomaniak", - "domain": "billens-hennens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2066": { - "name": "Chapelle", - "provider": "microsoft", - "domain": "chapelle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2067": { - "name": "Le Châtelard FR", - "provider": "microsoft", - "domain": "le-chatelard.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2068": { - "name": "Châtonnaye", - "provider": "microsoft", - "domain": "chatonnaye.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2072": { - "name": "Ecublens", - "provider": "microsoft", - "domain": "ecublens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+mailjet+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2079": { - "name": "Grangettes", - "provider": "infomaniak", - "domain": "grangettes-pres-romont.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2086": { - "name": "Massonnens", - "provider": "infomaniak", - "domain": "massonnens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2087": { - "name": "Mézières", - "provider": "microsoft", - "domain": "mezieres-fr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2089": { - "name": "Montet", - "provider": "independent", - "domain": "montet.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2096": { - "name": "Romont", - "provider": "microsoft", - "domain": "romont.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2097": { - "name": "Rue", - "provider": "microsoft", - "domain": "rue.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2099": { - "name": "Siviriez", - "provider": "microsoft", - "domain": "siviriez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2102": { - "name": "Ursy", - "provider": "microsoft", - "domain": "ursy.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2113": { - "name": "Vuisternens-devant-Romont", - "provider": "microsoft", - "domain": "vuisternens-devant-romont.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2114": { - "name": "Villorsonnens", - "provider": "microsoft", - "domain": "villorsonnens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2115": { - "name": "Torny", - "provider": "independent", - "domain": "torny.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2117": { - "name": "Villaz", - "provider": "independent", - "domain": "communevillaz.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2121": { - "name": "Haut-Intyamon", - "provider": "microsoft", - "domain": "haut-intyamon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2122": { - "name": "Pont-en-Ogoz", - "provider": "microsoft", - "domain": "pont-en-ogoz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2123": { - "name": "Botterens", - "provider": "microsoft", - "domain": "botterens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2124": { - "name": "Broc", - "provider": "microsoft", - "domain": "broc.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2125": { - "name": "Bulle", - "provider": "microsoft", - "domain": "bulle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2128": { - "name": "Châtel-sur-Montsalvens", - "provider": "microsoft", - "domain": "chatel-montsalvens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2129": { - "name": "Corbières", - "provider": "microsoft", - "domain": "corbieres.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2130": { - "name": "Crésuz", - "provider": "microsoft", - "domain": "cresuz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2131": { - "name": "Echarlens", - "provider": "microsoft", - "domain": "echarlens.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "mx_spf_match", - "multi_provider_spf:google+infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2134": { - "name": "Grandvillard", - "provider": "microsoft", - "domain": "grandvillard.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2135": { - "name": "Greyerz", - "provider": "microsoft", - "domain": "gruyeres.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2137": { - "name": "Hauteville", - "provider": "infomaniak", - "domain": "hauteville.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2138": { - "name": "Jaun", - "provider": "swiss-isp", - "domain": "jaun.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2140": { - "name": "Marsens", - "provider": "independent", - "domain": "marsens.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2143": { - "name": "Morlon", - "provider": "microsoft", - "domain": "morlon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2145": { - "name": "Le Pâquier FR", - "provider": "microsoft", - "domain": "lepaquier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2147": { - "name": "Pont-la-Ville FR", - "provider": "infomaniak", - "domain": "pont-la-ville.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2148": { - "name": "Riaz", - "provider": "microsoft", - "domain": "riaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2149": { - "name": "La Roche", - "provider": "microsoft", - "domain": "la-roche.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2152": { - "name": "Sâles", - "provider": "microsoft", - "domain": "sales.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2153": { - "name": "Sorens", - "provider": "microsoft", - "domain": "sorens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2155": { - "name": "Vaulruz", - "provider": "microsoft", - "domain": "vaulruz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2160": { - "name": "Vuadens", - "provider": "microsoft", - "domain": "vuadens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2162": { - "name": "Bas-Intyamon", - "provider": "microsoft", - "domain": "bas-intyamon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2163": { - "name": "Val-de-Charmey", - "provider": "microsoft", - "domain": "val-de-charmey.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "2173": { - "name": "Autigny", - "provider": "microsoft", - "domain": "autigny.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2174": { - "name": "Avry", - "provider": "independent", - "domain": "avry.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2175": { - "name": "Belfaux", - "provider": "microsoft", - "domain": "belfaux.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2177": { - "name": "Chénens", - "provider": "microsoft", - "domain": "chenens.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2183": { - "name": "Corminboeuf", - "provider": "microsoft", - "domain": "corminboeuf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2186": { - "name": "Cottens", - "provider": "microsoft", - "domain": "cottens-fr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2194": { - "name": "Ferpicloz", - "provider": "independent", - "domain": "ferpicloz.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2196": { - "name": "Freiburg im Üechtland", - "provider": "swiss-isp", - "domain": "ville-fribourg.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2197": { - "name": "Givisiez", - "provider": "microsoft", - "domain": "givisiez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2198": { - "name": "Granges-Paccot", - "provider": "microsoft", - "domain": "granges-paccot.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2206": { - "name": "Marly", - "provider": "microsoft", - "domain": "marly.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2208": { - "name": "Matran", - "provider": "microsoft", - "domain": "matran.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2211": { - "name": "Neyruz", - "provider": "microsoft", - "domain": "neyruz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2216": { - "name": "Pierrafortscha", - "provider": "microsoft", - "domain": "pierrafortscha.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2220": { - "name": "Le Mouret", - "provider": "microsoft", - "domain": "le-mouret.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2226": { - "name": "Treyvaux", - "provider": "independent", - "domain": "treyvaux.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2228": { - "name": "Villars-sur-Glâne", - "provider": "microsoft", - "domain": "villars-sur-glane.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2230": { - "name": "Villarsel-sur-Marly", - "provider": "independent", - "domain": "villarsel-sur-marly.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "2233": { - "name": "Hauterive", - "provider": "microsoft", - "domain": "hauterivefr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2234": { - "name": "La Brillaz", - "provider": "microsoft", - "domain": "labrillaz.ch", - "confidence": 75, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "2235": { - "name": "La Sonnaz", - "provider": "microsoft", - "domain": "lasonnaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2236": { - "name": "Gibloux", - "provider": "independent", - "domain": "commune-gibloux.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2237": { - "name": "Prez", - "provider": "microsoft", - "domain": "prez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2238": { - "name": "Bois-d’Amont", - "provider": "microsoft", - "domain": "bois-damont.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2239": { - "name": "Grolley-Ponthaux", - "provider": "microsoft", - "domain": "grolley-ponthaux.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2250": { - "name": "Gurwolf", - "provider": "independent", - "domain": "courgevaux-gurwolf.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2254": { - "name": "Courtepin", - "provider": "microsoft", - "domain": "courtepin.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2257": { - "name": "Cressier", - "provider": "independent", - "domain": "cressier.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2258": { - "name": "Fräschels", - "provider": "microsoft", - "domain": "fraeschels.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2261": { - "name": "Greng", - "provider": "microsoft", - "domain": "greng.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2262": { - "name": "Gurmels", - "provider": "microsoft", - "domain": "gurmels.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2265": { - "name": "Kerzers", - "provider": "swiss-isp", - "domain": "kerzers.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2266": { - "name": "Kleinbösingen", - "provider": "microsoft", - "domain": "kleinboesingen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2271": { - "name": "Merlach", - "provider": "swiss-isp", - "domain": "merlach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2272": { - "name": "Misery-Courtion", - "provider": "microsoft", - "domain": "misery-courtion.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2274": { - "name": "Muntelier", - "provider": "microsoft", - "domain": "muntelier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2275": { - "name": "Murten", - "provider": "swiss-isp", - "domain": "murten-morat.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2276": { - "name": "Ried bei Kerzers", - "provider": "microsoft", - "domain": "ried.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2284": { - "name": "Mont-Vully", - "provider": "microsoft", - "domain": "mont-vully.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2292": { - "name": "Brünisried", - "provider": "independent", - "domain": "bruenisried.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "2293": { - "name": "Düdingen", - "provider": "microsoft", - "domain": "duedingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2294": { - "name": "Giffers", - "provider": "microsoft", - "domain": "giffers.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2295": { - "name": "Bösingen", - "provider": "microsoft", - "domain": "boesingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2296": { - "name": "Heitenried", - "provider": "swiss-isp", - "domain": "heitenried.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2299": { - "name": "Plaffeien", - "provider": "microsoft", - "domain": "plaffeien.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2300": { - "name": "Plasselb", - "provider": "swiss-isp", - "domain": "plasselb.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2301": { - "name": "Rechthalten", - "provider": "microsoft", - "domain": "rechthalten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2303": { - "name": "St. Silvester FR", - "provider": "microsoft", - "domain": "stsilvester.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2304": { - "name": "St. Ursen", - "provider": "microsoft", - "domain": "stursen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2305": { - "name": "Schmitten", - "provider": "microsoft", - "domain": "schmitten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2306": { - "name": "Tafers", - "provider": "microsoft", - "domain": "tafers.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2307": { - "name": "Tentlingen", - "provider": "microsoft", - "domain": "tentlingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2308": { - "name": "Ueberstorf", - "provider": "microsoft", - "domain": "ueberstorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2309": { - "name": "Wünnewil-Flamatt", - "provider": "microsoft", - "domain": "wuennewil-flamatt.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2321": { - "name": "Attalens", - "provider": "microsoft", - "domain": "attalens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2323": { - "name": "Bossonnens", - "provider": "independent", - "domain": "bossonnens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2325": { - "name": "Châtel-Saint-Denis", - "provider": "microsoft", - "domain": "chatel-st-denis.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified" - ] - }, - "2328": { - "name": "Granges", - "provider": "independent", - "domain": "granges-veveyse.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2333": { - "name": "Remaufens", - "provider": "independent", - "domain": "remaufens.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2335": { - "name": "Saint-Martin FR", - "provider": "microsoft", - "domain": "saint-martin-fr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2336": { - "name": "Semsales", - "provider": "independent", - "domain": "semsales.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2337": { - "name": "Le Flon", - "provider": "microsoft", - "domain": "leflon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2338": { - "name": "La Verrerie", - "provider": "microsoft", - "domain": "laverrerie.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2401": { - "name": "Egerkingen", - "provider": "microsoft", - "domain": "egerkingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2402": { - "name": "Härkingen", - "provider": "microsoft", - "domain": "haerkingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2403": { - "name": "Kestenholz", - "provider": "microsoft", - "domain": "kestenholz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2404": { - "name": "Neuendorf", - "provider": "microsoft", - "domain": "neuendorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2405": { - "name": "Niederbuchsiten", - "provider": "independent", - "domain": "niederbuchsiten.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2406": { - "name": "Oberbuchsiten", - "provider": "microsoft", - "domain": "oberbuchsiten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2407": { - "name": "Oensingen", - "provider": "microsoft", - "domain": "oensingen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "2408": { - "name": "Wolfwil", - "provider": "microsoft", - "domain": "wolfwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2421": { - "name": "Aedermannsdorf", - "provider": "independent", - "domain": "aedermannsdorf.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2422": { - "name": "Balsthal", - "provider": "independent", - "domain": "balsthal.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2424": { - "name": "Herbetswil", - "provider": "microsoft", - "domain": "herbetswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2425": { - "name": "Holderbank", - "provider": "microsoft", - "domain": "holderbank-so.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2426": { - "name": "Laupersdorf", - "provider": "independent", - "domain": "laupersdorf.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2427": { - "name": "Matzendorf", - "provider": "microsoft", - "domain": "matzendorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2428": { - "name": "Mümliswil-Ramiswil", - "provider": "microsoft", - "domain": "muemliswil-ramiswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2430": { - "name": "Welschenrohr-Gänsbrunnen", - "provider": "microsoft", - "domain": "welschenrohr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2445": { - "name": "Biezwil", - "provider": "independent", - "domain": "biezwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2455": { - "name": "Lüterkofen-Ichertswil", - "provider": "microsoft", - "domain": "lueterkofen-ichertswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2457": { - "name": "Messen", - "provider": "microsoft", - "domain": "messen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2461": { - "name": "Schnottwil", - "provider": "swiss-isp", - "domain": "schnottwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2463": { - "name": "Unterramsern", - "provider": "independent", - "domain": "unterramsern.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2464": { - "name": "Lüsslingen-Nennigkofen", - "provider": "microsoft", - "domain": "luesslingen-nennigkofen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2465": { - "name": "Buchegg", - "provider": "microsoft", - "domain": "buchegg-so.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2471": { - "name": "Bättwil", - "provider": "independent", - "domain": "baettwil.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2472": { - "name": "Büren", - "provider": "microsoft", - "domain": "bueren-so.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2473": { - "name": "Dornach", - "provider": "independent", - "domain": "dornach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2474": { - "name": "Gempen", - "provider": "microsoft", - "domain": "gempen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2475": { - "name": "Hochwald", - "provider": "microsoft", - "domain": "hochwald.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2476": { - "name": "Hofstetten-Flüh", - "provider": "independent", - "domain": "hofstettenflueh.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "2477": { - "name": "Metzerlen-Mariastein", - "provider": "microsoft", - "domain": "metzerlen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2478": { - "name": "Nuglar-St. Pantaleon", - "provider": "swiss-isp", - "domain": "nuglar.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2479": { - "name": "Rodersdorf", - "provider": "swiss-isp", - "domain": "rodersdorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2480": { - "name": "Seewen", - "provider": "microsoft", - "domain": "seewen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2481": { - "name": "Witterswil", - "provider": "aws", - "domain": "witterswil.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2491": { - "name": "Hauenstein-Ifenthal", - "provider": "microsoft", - "domain": "hauenstein-ifenthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2492": { - "name": "Kienberg", - "provider": "independent", - "domain": "kienberg.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2493": { - "name": "Lostorf", - "provider": "microsoft", - "domain": "lostorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2495": { - "name": "Niedergösgen", - "provider": "microsoft", - "domain": "niedergoesgen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2497": { - "name": "Obergösgen", - "provider": "microsoft", - "domain": "obergoesgen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2499": { - "name": "Stüsslingen", - "provider": "microsoft", - "domain": "stuesslingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2500": { - "name": "Trimbach", - "provider": "microsoft", - "domain": "trimbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2501": { - "name": "Winznau", - "provider": "microsoft", - "domain": "winznau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2502": { - "name": "Wisen", - "provider": "independent", - "domain": "wisen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2503": { - "name": "Erlinsbach", - "provider": "independent", - "domain": "erlinsbach-so.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2511": { - "name": "Aeschi", - "provider": "microsoft", - "domain": "aeschi-so.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2513": { - "name": "Biberist", - "provider": "independent", - "domain": "biberist.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2514": { - "name": "Bolken", - "provider": "independent", - "domain": "bolken.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2516": { - "name": "Deitingen", - "provider": "microsoft", - "domain": "deitingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2517": { - "name": "Derendingen", - "provider": "microsoft", - "domain": "derendingen.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2518": { - "name": "Etziken", - "provider": "swiss-isp", - "domain": "etziken.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2519": { - "name": "Gerlafingen", - "provider": "microsoft", - "domain": "gerlafingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2523": { - "name": "Horriwil", - "provider": "swiss-isp", - "domain": "horriwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2524": { - "name": "Hüniken", - "provider": "independent", - "domain": "hueniken.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2525": { - "name": "Kriegstetten", - "provider": "microsoft", - "domain": "kriegstetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2526": { - "name": "Lohn-Ammannsegg", - "provider": "microsoft", - "domain": "lohn-ammannsegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2527": { - "name": "Luterbach", - "provider": "microsoft", - "domain": "luterbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2528": { - "name": "Obergerlafingen", - "provider": "microsoft", - "domain": "obergerlafingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2530": { - "name": "Recherswil", - "provider": "microsoft", - "domain": "recherswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2532": { - "name": "Subingen", - "provider": "swiss-isp", - "domain": "subingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2534": { - "name": "Zuchwil", - "provider": "independent", - "domain": "zuchwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2535": { - "name": "Drei Höfe", - "provider": "microsoft", - "domain": "dreihoefe.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2541": { - "name": "Balm bei Günsberg", - "provider": "independent", - "domain": "balm-balmberg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2542": { - "name": "Bellach", - "provider": "microsoft", - "domain": "bellach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2543": { - "name": "Bettlach", - "provider": "independent", - "domain": "bettlach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2544": { - "name": "Feldbrunnen-St. Niklaus", - "provider": "microsoft", - "domain": "feldbrunnen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2545": { - "name": "Flumenthal", - "provider": "microsoft", - "domain": "flumenthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2546": { - "name": "Grenchen", - "provider": "microsoft", - "domain": "grenchen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2547": { - "name": "Günsberg", - "provider": "microsoft", - "domain": "guensberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2548": { - "name": "Hubersdorf", - "provider": "microsoft", - "domain": "hubersdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2549": { - "name": "Kammersrohr", - "provider": "swiss-isp", - "domain": "kammersrohr.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2550": { - "name": "Langendorf", - "provider": "microsoft", - "domain": "langendorf-so.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2551": { - "name": "Lommiswil", - "provider": "microsoft", - "domain": "lommiswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2553": { - "name": "Oberdorf", - "provider": "microsoft", - "domain": "oberdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2554": { - "name": "Riedholz", - "provider": "independent", - "domain": "riedholz.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2555": { - "name": "Rüttenen", - "provider": "microsoft", - "domain": "ruettenen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2556": { - "name": "Selzach", - "provider": "microsoft", - "domain": "selzach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2571": { - "name": "Boningen", - "provider": "microsoft", - "domain": "boningen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2572": { - "name": "Däniken", - "provider": "microsoft", - "domain": "daeniken.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2573": { - "name": "Dulliken", - "provider": "microsoft", - "domain": "dulliken.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2574": { - "name": "Eppenberg-Wöschnau", - "provider": "microsoft", - "domain": "eppenberg-woeschnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2575": { - "name": "Fulenbach", - "provider": "microsoft", - "domain": "fulenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2576": { - "name": "Gretzenbach", - "provider": "microsoft", - "domain": "gretzenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2578": { - "name": "Gunzgen", - "provider": "microsoft", - "domain": "gunzgen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2579": { - "name": "Hägendorf", - "provider": "microsoft", - "domain": "haegendorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2580": { - "name": "Kappel", - "provider": "microsoft", - "domain": "kappel-so.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2581": { - "name": "Olten", - "provider": "microsoft", - "domain": "olten.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2582": { - "name": "Rickenbach", - "provider": "independent", - "domain": "rickenbachso.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2583": { - "name": "Schönenwerd", - "provider": "microsoft", - "domain": "schoenenwerd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2584": { - "name": "Starrkirch-Wil", - "provider": "microsoft", - "domain": "starrkirch-wil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2585": { - "name": "Walterswil", - "provider": "independent", - "domain": "walterswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2586": { - "name": "Wangen bei Olten", - "provider": "microsoft", - "domain": "wangenbo.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2601": { - "name": "Solothurn", - "provider": "microsoft", - "domain": "solothurn.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "2611": { - "name": "Bärschwil", - "provider": "independent", - "domain": "baerschwil.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "2612": { - "name": "Beinwil", - "provider": "independent", - "domain": "beinwil-so.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2613": { - "name": "Breitenbach", - "provider": "swiss-isp", - "domain": "breitenbach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2614": { - "name": "Büsserach", - "provider": "independent", - "domain": "buesserach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2615": { - "name": "Erschwil", - "provider": "independent", - "domain": "erschwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2616": { - "name": "Fehren", - "provider": "microsoft", - "domain": "fehren.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2617": { - "name": "Grindel", - "provider": "microsoft", - "domain": "grindel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2618": { - "name": "Himmelried", - "provider": "microsoft", - "domain": "himmelried.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2619": { - "name": "Kleinlützel", - "provider": "microsoft", - "domain": "kleinluetzel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2620": { - "name": "Meltingen", - "provider": "microsoft", - "domain": "meltingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2621": { - "name": "Nunningen", - "provider": "microsoft", - "domain": "nunningen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2622": { - "name": "Zullwil", - "provider": "microsoft", - "domain": "zullwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2701": { - "name": "Basel", - "provider": "swiss-isp", - "domain": "bs.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2702": { - "name": "Bettingen", - "provider": "swiss-isp", - "domain": "bettingen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2703": { - "name": "Riehen", - "provider": "swiss-isp", - "domain": "riehen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2761": { - "name": "Aesch", - "provider": "independent", - "domain": "aesch.bl.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2762": { - "name": "Allschwil", - "provider": "independent", - "domain": "allschwil.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "2763": { - "name": "Arlesheim", - "provider": "microsoft", - "domain": "arlesheim.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2764": { - "name": "Biel-Benken", - "provider": "independent", - "domain": "biel-benken.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2765": { - "name": "Binningen", - "provider": "independent", - "domain": "binningen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2766": { - "name": "Birsfelden", - "provider": "independent", - "domain": "birsfelden.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2767": { - "name": "Bottmingen", - "provider": "microsoft", - "domain": "bottmingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2768": { - "name": "Ettingen", - "provider": "microsoft", - "domain": "ettingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2769": { - "name": "Münchenstein", - "provider": "independent", - "domain": "muenchenstein.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2770": { - "name": "Muttenz", - "provider": "independent", - "domain": "muttenz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2771": { - "name": "Oberwil", - "provider": "microsoft", - "domain": "oberwil.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2772": { - "name": "Pfeffingen", - "provider": "microsoft", - "domain": "pfeffingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2773": { - "name": "Reinach", - "provider": "microsoft", - "domain": "reinach-bl.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2774": { - "name": "Schönenbuch", - "provider": "microsoft", - "domain": "schoenenbuch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2775": { - "name": "Therwil", - "provider": "microsoft", - "domain": "therwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2781": { - "name": "Blauen", - "provider": "microsoft", - "domain": "blauen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2782": { - "name": "Brislach", - "provider": "microsoft", - "domain": "brislach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2783": { - "name": "Burg im Leimental", - "provider": "independent", - "domain": "burg-il.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2784": { - "name": "Dittingen", - "provider": "microsoft", - "domain": "dittingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2785": { - "name": "Duggingen", - "provider": "microsoft", - "domain": "duggingen.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2786": { - "name": "Grellingen", - "provider": "microsoft", - "domain": "grellingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2787": { - "name": "Laufen", - "provider": "microsoft", - "domain": "laufen-bl.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2788": { - "name": "Liesberg", - "provider": "microsoft", - "domain": "liesberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2789": { - "name": "Nenzlingen", - "provider": "microsoft", - "domain": "nenzlingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2790": { - "name": "Roggenburg", - "provider": "microsoft", - "domain": "roggenburg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2791": { - "name": "Röschenz", - "provider": "microsoft", - "domain": "roeschenz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2792": { - "name": "Wahlen", - "provider": "independent", - "domain": "wahlen.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "2793": { - "name": "Zwingen", - "provider": "microsoft", - "domain": "zwingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2821": { - "name": "Arisdorf", - "provider": "microsoft", - "domain": "arisdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2822": { - "name": "Augst", - "provider": "microsoft", - "domain": "augst.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2823": { - "name": "Bubendorf", - "provider": "microsoft", - "domain": "bubendorf.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2824": { - "name": "Frenkendorf", - "provider": "microsoft", - "domain": "frenkendorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2825": { - "name": "Füllinsdorf", - "provider": "microsoft", - "domain": "fuellinsdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2826": { - "name": "Giebenach", - "provider": "microsoft", - "domain": "giebenach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2827": { - "name": "Hersberg", - "provider": "microsoft", - "domain": "hersberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2828": { - "name": "Lausen", - "provider": "microsoft", - "domain": "lausen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2829": { - "name": "Liestal", - "provider": "independent", - "domain": "liestal.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2830": { - "name": "Lupsingen", - "provider": "microsoft", - "domain": "lupsingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2831": { - "name": "Pratteln", - "provider": "independent", - "domain": "pratteln.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2832": { - "name": "Ramlinsburg", - "provider": "independent", - "domain": "ramlinsburg.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "2833": { - "name": "Seltisberg", - "provider": "microsoft", - "domain": "seltisberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2834": { - "name": "Ziefen", - "provider": "microsoft", - "domain": "ziefen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2841": { - "name": "Anwil", - "provider": "microsoft", - "domain": "anwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2842": { - "name": "Böckten", - "provider": "independent", - "domain": "boeckten.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2843": { - "name": "Buckten", - "provider": "microsoft", - "domain": "buckten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2844": { - "name": "Buus", - "provider": "microsoft", - "domain": "buus.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2845": { - "name": "Diepflingen", - "provider": "microsoft", - "domain": "diepflingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2846": { - "name": "Gelterkinden", - "provider": "independent", - "domain": "gelterkinden.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2847": { - "name": "Häfelfingen", - "provider": "microsoft", - "domain": "haefelfingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2848": { - "name": "Hemmiken", - "provider": "independent", - "domain": "hemmiken.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2849": { - "name": "Itingen", - "provider": "microsoft", - "domain": "itingen.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2850": { - "name": "Känerkinden", - "provider": "microsoft", - "domain": "kaenerkinden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2851": { - "name": "Kilchberg", - "provider": "aws", - "domain": "kilchberg-bl.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2852": { - "name": "Läufelfingen", - "provider": "microsoft", - "domain": "laeufelfingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2853": { - "name": "Maisprach", - "provider": "microsoft", - "domain": "maisprach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2854": { - "name": "Nusshof", - "provider": "microsoft", - "domain": "nusshof.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2855": { - "name": "Oltingen", - "provider": "microsoft", - "domain": "oltingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2856": { - "name": "Ormalingen", - "provider": "microsoft", - "domain": "ormalingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2857": { - "name": "Rickenbach", - "provider": "aws", - "domain": "rickenbach-bl.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2858": { - "name": "Rothenfluh", - "provider": "microsoft", - "domain": "rothenfluh.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2859": { - "name": "Rümlingen", - "provider": "independent", - "domain": "ruemlingen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2860": { - "name": "Rünenberg", - "provider": "aws", - "domain": "ruenenberg.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2861": { - "name": "Sissach", - "provider": "independent", - "domain": "sissach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2862": { - "name": "Tecknau", - "provider": "microsoft", - "domain": "tecknau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2863": { - "name": "Tenniken", - "provider": "microsoft", - "domain": "tenniken.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2864": { - "name": "Thürnen", - "provider": "microsoft", - "domain": "thuernen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2865": { - "name": "Wenslingen", - "provider": "microsoft", - "domain": "wenslingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2866": { - "name": "Wintersingen", - "provider": "microsoft", - "domain": "wintersingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2867": { - "name": "Wittinsburg", - "provider": "microsoft", - "domain": "wittinsburg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2868": { - "name": "Zeglingen", - "provider": "aws", - "domain": "zeglingen.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2869": { - "name": "Zunzgen", - "provider": "aws", - "domain": "zunzgen.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2881": { - "name": "Arboldswil", - "provider": "microsoft", - "domain": "arboldswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2882": { - "name": "Bennwil", - "provider": "microsoft", - "domain": "bennwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2883": { - "name": "Bretzwil", - "provider": "independent", - "domain": "bretzwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2884": { - "name": "Diegten", - "provider": "aws", - "domain": "diegten.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "2885": { - "name": "Eptingen", - "provider": "independent", - "domain": "eptingen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2886": { - "name": "Hölstein", - "provider": "microsoft", - "domain": "hoelstein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2887": { - "name": "Lampenberg", - "provider": "independent", - "domain": "lampenberg.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "2888": { - "name": "Langenbruck", - "provider": "microsoft", - "domain": "langenbruck.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2889": { - "name": "Lauwil", - "provider": "microsoft", - "domain": "lauwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2890": { - "name": "Liedertswil", - "provider": "independent", - "domain": "liedertswil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2891": { - "name": "Niederdorf", - "provider": "microsoft", - "domain": "niederdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2892": { - "name": "Oberdorf", - "provider": "microsoft", - "domain": "oberdorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2893": { - "name": "Reigoldswil", - "provider": "independent", - "domain": "reigoldswil.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "2894": { - "name": "Titterten", - "provider": "independent", - "domain": "titterten.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2895": { - "name": "Waldenburg", - "provider": "independent", - "domain": "waldenburg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2901": { - "name": "Gächlingen", - "provider": "independent", - "domain": "gaechlingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2903": { - "name": "Löhningen", - "provider": "independent", - "domain": "loehningen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2904": { - "name": "Neunkirch", - "provider": "independent", - "domain": "neunkirch.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2914": { - "name": "Büttenhardt", - "provider": "microsoft", - "domain": "buettenhardt.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2915": { - "name": "Dörflingen", - "provider": "independent", - "domain": "doerflingen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "2917": { - "name": "Lohn SH", - "provider": "independent", - "domain": "lohn.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2919": { - "name": "Stetten", - "provider": "independent", - "domain": "stetten.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2920": { - "name": "Thayngen", - "provider": "independent", - "domain": "thayngen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2931": { - "name": "Bargen", - "provider": "independent", - "domain": "bargen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2932": { - "name": "Beringen", - "provider": "swiss-isp", - "domain": "beringen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2933": { - "name": "Buchberg", - "provider": "microsoft", - "domain": "buchberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2936": { - "name": "Merishausen", - "provider": "independent", - "domain": "merishausen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2937": { - "name": "Neuhausen am Rheinfall", - "provider": "independent", - "domain": "neuhausen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2938": { - "name": "Rüdlingen", - "provider": "independent", - "domain": "ruedlingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2939": { - "name": "Schaffhausen", - "provider": "independent", - "domain": "stadt-schaffhausen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2951": { - "name": "Beggingen", - "provider": "independent", - "domain": "beggingen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "2952": { - "name": "Schleitheim", - "provider": "independent", - "domain": "schleitheim.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2953": { - "name": "Siblingen", - "provider": "independent", - "domain": "siblingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "2961": { - "name": "Buch", - "provider": "independent", - "domain": "buch-sh.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "2962": { - "name": "Hemishofen", - "provider": "independent", - "domain": "hemishofen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2963": { - "name": "Ramsen", - "provider": "microsoft", - "domain": "ramsen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2964": { - "name": "Stein am Rhein", - "provider": "microsoft", - "domain": "steinamrhein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2971": { - "name": "Hallau", - "provider": "microsoft", - "domain": "hallau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2972": { - "name": "Oberhallau", - "provider": "microsoft", - "domain": "oberhallau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "2973": { - "name": "Trasadingen", - "provider": "independent", - "domain": "trasadingen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "2974": { - "name": "Wilchingen", - "provider": "independent", - "domain": "wilchingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "3001": { - "name": "Herisau", - "provider": "swiss-isp", - "domain": "herisau.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3002": { - "name": "Hundwil", - "provider": "independent", - "domain": "hundwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3003": { - "name": "Schönengrund", - "provider": "independent", - "domain": "schoenengrund.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "3004": { - "name": "Schwellbrunn", - "provider": "independent", - "domain": "schwellbrunn.ar.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3005": { - "name": "Stein", - "provider": "microsoft", - "domain": "gemeinde-stein.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3006": { - "name": "Urnäsch", - "provider": "independent", - "domain": "urnaesch.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3007": { - "name": "Waldstatt", - "provider": "independent", - "domain": "waldstatt.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3021": { - "name": "Bühler", - "provider": "independent", - "domain": "buehlerar.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3022": { - "name": "Gais", - "provider": "independent", - "domain": "gais.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3023": { - "name": "Speicher", - "provider": "independent", - "domain": "speicher.ar.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3024": { - "name": "Teufen", - "provider": "independent", - "domain": "teufen.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "3025": { - "name": "Trogen", - "provider": "independent", - "domain": "trogen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3031": { - "name": "Grub", - "provider": "independent", - "domain": "grub.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3032": { - "name": "Heiden", - "provider": "independent", - "domain": "heiden.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3033": { - "name": "Lutzenberg", - "provider": "independent", - "domain": "lutzenberg.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "3034": { - "name": "Rehetobel", - "provider": "independent", - "domain": "rehetobel.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "3035": { - "name": "Reute", - "provider": "independent", - "domain": "reute.ar.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3036": { - "name": "Wald", - "provider": "independent", - "domain": "wald.ar.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3037": { - "name": "Walzenhausen", - "provider": "independent", - "domain": "walzenhausen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3038": { - "name": "Wolfhalden", - "provider": "independent", - "domain": "wolfhalden.ar.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3101": { - "name": "Appenzell", - "provider": "independent", - "domain": "appenzell.org", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3102": { - "name": "Gonten", - "provider": "swiss-isp", - "domain": "gonten.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3104": { - "name": "Schlatt-Haslen", - "provider": "independent", - "domain": "schlatt-haslen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3111": { - "name": "Oberegg", - "provider": "independent", - "domain": "oberegg.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3112": { - "name": "Schwende-Rüte", - "provider": "microsoft", - "domain": "schwende-ruete.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3201": { - "name": "Häggenschwil", - "provider": "independent", - "domain": "haeggenschwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3202": { - "name": "Muolen", - "provider": "microsoft", - "domain": "muolen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3203": { - "name": "St. Gallen", - "provider": "microsoft", - "domain": "stadt.sg.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3204": { - "name": "Wittenbach", - "provider": "microsoft", - "domain": "wittenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3211": { - "name": "Berg", - "provider": "microsoft", - "domain": "bergsg.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3212": { - "name": "Eggersriet", - "provider": "independent", - "domain": "eggersriet.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3213": { - "name": "Goldach SG", - "provider": "microsoft", - "domain": "goldach.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3214": { - "name": "Mörschwil", - "provider": "microsoft", - "domain": "moerschwil.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3215": { - "name": "Rorschach", - "provider": "microsoft", - "domain": "rorschach.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3216": { - "name": "Rorschacherberg", - "provider": "microsoft", - "domain": "rorschacherberg.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3217": { - "name": "Steinach SG", - "provider": "microsoft", - "domain": "steinach.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3218": { - "name": "Tübach", - "provider": "microsoft", - "domain": "tuebach.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3219": { - "name": "Untereggen", - "provider": "independent", - "domain": "untereggen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3231": { - "name": "Au", - "provider": "microsoft", - "domain": "au.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3232": { - "name": "Balgach", - "provider": "independent", - "domain": "balgach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3233": { - "name": "Berneck", - "provider": "microsoft", - "domain": "berneck.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3234": { - "name": "Diepoldsau", - "provider": "microsoft", - "domain": "diepoldsau.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3235": { - "name": "Rheineck", - "provider": "microsoft", - "domain": "rheineck.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3236": { - "name": "St. Margrethen", - "provider": "microsoft", - "domain": "stmargrethen.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3237": { - "name": "Thal", - "provider": "microsoft", - "domain": "thal.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3238": { - "name": "Widnau", - "provider": "microsoft", - "domain": "widnau.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3251": { - "name": "Altstätten", - "provider": "independent", - "domain": "altstaetten.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3252": { - "name": "Eichberg SG", - "provider": "independent", - "domain": "eichberg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3253": { - "name": "Marbach", - "provider": "independent", - "domain": "marbach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3254": { - "name": "Oberriet", - "provider": "microsoft", - "domain": "oberriet.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3255": { - "name": "Rebstein", - "provider": "microsoft", - "domain": "rebstein.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3256": { - "name": "Rüthi", - "provider": "microsoft", - "domain": "ruethi.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3271": { - "name": "Buchs", - "provider": "microsoft", - "domain": "buchs-sg.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3272": { - "name": "Gams", - "provider": "microsoft", - "domain": "gams.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3273": { - "name": "Grabs", - "provider": "independent", - "domain": "grabs.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3274": { - "name": "Sennwald", - "provider": "microsoft", - "domain": "sennwald.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3275": { - "name": "Sevelen SG", - "provider": "microsoft", - "domain": "sevelen.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3276": { - "name": "Wartau", - "provider": "microsoft", - "domain": "wartau.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3291": { - "name": "Bad Ragaz", - "provider": "microsoft", - "domain": "badragaz.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3292": { - "name": "Flums", - "provider": "microsoft", - "domain": "flums.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3293": { - "name": "Mels", - "provider": "microsoft", - "domain": "mels.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3294": { - "name": "Pfäfers", - "provider": "microsoft", - "domain": "pfaefers.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3295": { - "name": "Quarten", - "provider": "microsoft", - "domain": "quarten.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3296": { - "name": "Sargans", - "provider": "microsoft", - "domain": "sargans.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3297": { - "name": "Vilters-Wangs", - "provider": "microsoft", - "domain": "vilters-wangs.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3298": { - "name": "Walenstadt", - "provider": "microsoft", - "domain": "walenstadt.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3311": { - "name": "Amden", - "provider": "microsoft", - "domain": "amden.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3312": { - "name": "Benken", - "provider": "independent", - "domain": "benken.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3313": { - "name": "Kaltbrunn", - "provider": "microsoft", - "domain": "kaltbrunn.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3315": { - "name": "Schänis", - "provider": "independent", - "domain": "schaenis.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3316": { - "name": "Weesen", - "provider": "independent", - "domain": "weesen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3338": { - "name": "Schmerikon", - "provider": "independent", - "domain": "schmerikon.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3339": { - "name": "Uznach", - "provider": "microsoft", - "domain": "uznach.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3340": { - "name": "Rapperswil-Jona", - "provider": "microsoft", - "domain": "rapperswil-jona.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3341": { - "name": "Gommiswald", - "provider": "microsoft", - "domain": "gommiswald.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3342": { - "name": "Eschenbach", - "provider": "microsoft", - "domain": "eschenbach.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3352": { - "name": "Ebnat-Kappel", - "provider": "microsoft", - "domain": "ebnat-kappel.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3359": { - "name": "Wildhaus-Alt St. Johann", - "provider": "independent", - "domain": "wildhaus-altstjohann.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3360": { - "name": "Nesslau", - "provider": "microsoft", - "domain": "nesslau.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3374": { - "name": "Lichtensteig", - "provider": "microsoft", - "domain": "lichtensteig.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3379": { - "name": "Wattwil", - "provider": "microsoft", - "domain": "wattwil.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3392": { - "name": "Kirchberg", - "provider": "microsoft", - "domain": "kirchberg.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3393": { - "name": "Lütisburg", - "provider": "microsoft", - "domain": "luetisburg.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3394": { - "name": "Mosnang", - "provider": "microsoft", - "domain": "mosnang.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3395": { - "name": "Bütschwil-Ganterschwil", - "provider": "independent", - "domain": "buetschwil-ganterschwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3396": { - "name": "Neckertal", - "provider": "microsoft", - "domain": "neckertal.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3401": { - "name": "Degersheim", - "provider": "microsoft", - "domain": "degersheim.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3402": { - "name": "Flawil", - "provider": "microsoft", - "domain": "flawil.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3405": { - "name": "Jonschwil", - "provider": "microsoft", - "domain": "jonschwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3407": { - "name": "Oberuzwil", - "provider": "microsoft", - "domain": "oberuzwil.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3408": { - "name": "Uzwil", - "provider": "microsoft", - "domain": "uzwil.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3422": { - "name": "Niederbüren", - "provider": "microsoft", - "domain": "niederbueren.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3423": { - "name": "Niederhelfenschwil", - "provider": "microsoft", - "domain": "niederhelfenschwil.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3424": { - "name": "Oberbüren", - "provider": "microsoft", - "domain": "oberbueren.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3426": { - "name": "Zuzwil", - "provider": "microsoft", - "domain": "zuzwil.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3427": { - "name": "Wil", - "provider": "microsoft", - "domain": "stadtwil.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3441": { - "name": "Andwil SG", - "provider": "microsoft", - "domain": "andwil.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3442": { - "name": "Gaiserwald", - "provider": "microsoft", - "domain": "gaiserwald.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3443": { - "name": "Gossau", - "provider": "microsoft", - "domain": "stadtgossau.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3444": { - "name": "Waldkirch", - "provider": "independent", - "domain": "waldkirch.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3506": { - "name": "Vaz/Obervaz", - "provider": "microsoft", - "domain": "vazobervaz.ch", - "confidence": 75, - "flags": [ - "spf_strict", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3513": { - "name": "Lantsch/Lenz", - "provider": "independent", - "domain": "lantsch-lenz.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3514": { - "name": "Schmitten", - "provider": "independent", - "domain": "schmitten-gr.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3542": { - "name": "Albula/Alvra", - "provider": "swiss-isp", - "domain": "albula-alvra.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3543": { - "name": "Surses", - "provider": "microsoft", - "domain": "surses.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3544": { - "name": "Bergün Filisur", - "provider": "swiss-isp", - "domain": "berguenfilisur.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3551": { - "name": "Brusio", - "provider": "microsoft", - "domain": "brusio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3561": { - "name": "Poschiavo", - "provider": "microsoft", - "domain": "poschiavo.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3572": { - "name": "Falera", - "provider": "swiss-isp", - "domain": "falera.net", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3575": { - "name": "Laax", - "provider": "microsoft", - "domain": "laax-gr.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3581": { - "name": "Sagogn", - "provider": "independent", - "domain": "sagogn.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3582": { - "name": "Schluein", - "provider": "microsoft", - "domain": "schluein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3603": { - "name": "Vals", - "provider": "microsoft", - "domain": "vals.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3618": { - "name": "Lumnezia", - "provider": "swiss-isp", - "domain": "lumnezia.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3619": { - "name": "Ilanz/Glion", - "provider": "independent", - "domain": "ilanz-glion.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3633": { - "name": "Fürstenau", - "provider": "independent", - "domain": "fuerstenau.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3637": { - "name": "Rothenbrunnen", - "provider": "independent", - "domain": "rothenbrunnen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3638": { - "name": "Scharans", - "provider": "independent", - "domain": "scharans.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3640": { - "name": "Sils im Domleschg", - "provider": "microsoft", - "domain": "sils-id.ch", - "confidence": 73, - "flags": [ - "spf_softfail", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3661": { - "name": "Cazis", - "provider": "microsoft", - "domain": "cazis.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3662": { - "name": "Flerden", - "provider": "independent", - "domain": "flerden.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3663": { - "name": "Masein", - "provider": "independent", - "domain": "masein.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3668": { - "name": "Thusis", - "provider": "microsoft", - "domain": "thusis.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3669": { - "name": "Tschappina", - "provider": "independent", - "domain": "heinzenberg.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3670": { - "name": "Urmein", - "provider": "independent", - "domain": "urmein.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3672": { - "name": "Safiental", - "provider": "independent", - "domain": "safiental.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3673": { - "name": "Domleschg", - "provider": "microsoft", - "domain": "tomils.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3681": { - "name": "Avers", - "provider": "independent", - "domain": "gemeindeavers.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3695": { - "name": "Sufers", - "provider": "microsoft", - "domain": "sufers.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3701": { - "name": "Andeer", - "provider": "microsoft", - "domain": "andeer.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3711": { - "name": "Rongellen", - "provider": "microsoft", - "domain": "rongellen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3712": { - "name": "Zillis-Reischen", - "provider": "microsoft", - "domain": "zillis-reischen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3713": { - "name": "Ferrera", - "provider": "microsoft", - "domain": "ferrera.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3714": { - "name": "Rheinwald", - "provider": "swiss-isp", - "domain": "rheinwald.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3715": { - "name": "Muntogna da Schons", - "provider": "independent", - "domain": "mdschons.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3721": { - "name": "Bonaduz", - "provider": "independent", - "domain": "bonaduz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3722": { - "name": "Domat/Ems", - "provider": "independent", - "domain": "domat-ems.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "3723": { - "name": "Rhäzüns", - "provider": "microsoft", - "domain": "rhaezuens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3731": { - "name": "Felsberg", - "provider": "microsoft", - "domain": "felsberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3732": { - "name": "Flims", - "provider": "independent", - "domain": "gemeindeflims.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3733": { - "name": "Tamins", - "provider": "microsoft", - "domain": "tamins.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3734": { - "name": "Trin", - "provider": "swiss-isp", - "domain": "trin.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "3746": { - "name": "Zernez", - "provider": "microsoft", - "domain": "zernez.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3752": { - "name": "Samnaun", - "provider": "microsoft", - "domain": "samnaun.swiss", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "3762": { - "name": "Scuol", - "provider": "microsoft", - "domain": "scuol.net", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3764": { - "name": "Valsot", - "provider": "microsoft", - "domain": "valsot.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3781": { - "name": "Bever", - "provider": "microsoft", - "domain": "gemeinde-bever.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3782": { - "name": "Celerina/Schlarigna", - "provider": "independent", - "domain": "gemeinde-celerina.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "3783": { - "name": "Madulain", - "provider": "microsoft", - "domain": "madulain.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3784": { - "name": "Pontresina", - "provider": "independent", - "domain": "gemeinde-pontresina.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3785": { - "name": "La Punt Chamues-ch", - "provider": "swiss-isp", - "domain": "lapunt.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3786": { - "name": "Samedan", - "provider": "independent", - "domain": "samedan.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3787": { - "name": "St. Moritz", - "provider": "independent", - "domain": "gemeinde-stmoritz.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "3788": { - "name": "S-chanf", - "provider": "microsoft", - "domain": "s-chanf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3789": { - "name": "Sils im Engadin/Segl", - "provider": "microsoft", - "domain": "sils-segl.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3790": { - "name": "Silvaplana", - "provider": "independent", - "domain": "gemeinde-silvaplana.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3791": { - "name": "Zuoz", - "provider": "microsoft", - "domain": "zuoz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3792": { - "name": "Bregaglia", - "provider": "independent", - "domain": "bregaglia.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3804": { - "name": "Buseno", - "provider": "microsoft", - "domain": "buseno.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3805": { - "name": "Castaneda", - "provider": "microsoft", - "domain": "castaneda.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3808": { - "name": "Rossa", - "provider": "microsoft", - "domain": "rossa.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3810": { - "name": "Santa Maria in Calanca", - "provider": "independent", - "domain": "santamariaic.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "3821": { - "name": "Lostallo", - "provider": "independent", - "domain": "lostallo.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3822": { - "name": "Mesocco", - "provider": "microsoft", - "domain": "mesocco.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3823": { - "name": "Soazza", - "provider": "microsoft", - "domain": "soazza.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3831": { - "name": "Cama", - "provider": "independent", - "domain": "cama.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "3832": { - "name": "Grono", - "provider": "microsoft", - "domain": "grono.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3834": { - "name": "Roveredo", - "provider": "microsoft", - "domain": "roveredo.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3835": { - "name": "San Vittore", - "provider": "independent", - "domain": "sanvittore.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "3837": { - "name": "Calanca", - "provider": "microsoft", - "domain": "comunedicalanca.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3847": { - "name": "Val Müstair", - "provider": "microsoft", - "domain": "val-muestair.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3851": { - "name": "Davos", - "provider": "microsoft", - "domain": "davos.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3861": { - "name": "Fideris", - "provider": "swiss-isp", - "domain": "fideris.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3862": { - "name": "Furna", - "provider": "independent", - "domain": "furna.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3863": { - "name": "Jenaz", - "provider": "independent", - "domain": "jenaz.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "3871": { - "name": "Klosters", - "provider": "swiss-isp", - "domain": "gemeindeklosters.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3881": { - "name": "Conters im Prättigau", - "provider": "swiss-isp", - "domain": "conters.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3882": { - "name": "Küblis", - "provider": "independent", - "domain": "kueblis.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3891": { - "name": "Luzein", - "provider": "microsoft", - "domain": "luzein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3901": { - "name": "Chur", - "provider": "independent", - "domain": "chur.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "3911": { - "name": "Churwalden", - "provider": "microsoft", - "domain": "churwalden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3921": { - "name": "Arosa", - "provider": "independent", - "domain": "gemeindearosa.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3945": { - "name": "Trimmis", - "provider": "independent", - "domain": "trimmis.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "3946": { - "name": "Untervaz", - "provider": "microsoft", - "domain": "untervaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3947": { - "name": "Zizers", - "provider": "microsoft", - "domain": "zizers.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3951": { - "name": "Fläsch", - "provider": "swiss-isp", - "domain": "flaesch.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3952": { - "name": "Jenins", - "provider": "microsoft", - "domain": "jenins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3953": { - "name": "Maienfeld", - "provider": "independent", - "domain": "maienfeld.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "3954": { - "name": "Malans", - "provider": "swiss-isp", - "domain": "malans.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3955": { - "name": "Landquart", - "provider": "microsoft", - "domain": "landquart.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3961": { - "name": "Grüsch", - "provider": "swiss-isp", - "domain": "gruesch.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3962": { - "name": "Schiers", - "provider": "microsoft", - "domain": "schiers.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3972": { - "name": "Seewis im Prättigau", - "provider": "swiss-isp", - "domain": "seewis.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "3981": { - "name": "Breil/Brigels", - "provider": "microsoft", - "domain": "breil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3982": { - "name": "Disentis/Mustér", - "provider": "microsoft", - "domain": "disentis.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3983": { - "name": "Medel", - "provider": "microsoft", - "domain": "medel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3985": { - "name": "Sumvitg", - "provider": "microsoft", - "domain": "sumvitg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3986": { - "name": "Tujetsch", - "provider": "independent", - "domain": "tujetsch.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "3987": { - "name": "Trun", - "provider": "microsoft", - "domain": "trun.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "3988": { - "name": "Obersaxen Mundaun", - "provider": "microsoft", - "domain": "obersaxenmundaun.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4001": { - "name": "Aarau", - "provider": "microsoft", - "domain": "aarau.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4002": { - "name": "Biberstein", - "provider": "microsoft", - "domain": "biberstein-ag.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4003": { - "name": "Buchs", - "provider": "independent", - "domain": "buchs-aargau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4004": { - "name": "Densbüren", - "provider": "microsoft", - "domain": "densbueren.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4005": { - "name": "Erlinsbach", - "provider": "independent", - "domain": "erlinsbach.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4006": { - "name": "Gränichen", - "provider": "microsoft", - "domain": "graenichen.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4007": { - "name": "Hirschthal AG", - "provider": "microsoft", - "domain": "hirschthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4008": { - "name": "Küttigen", - "provider": "independent", - "domain": "kuettigen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4009": { - "name": "Muhen", - "provider": "microsoft", - "domain": "muhen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4010": { - "name": "Oberentfelden", - "provider": "microsoft", - "domain": "oberentfelden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4012": { - "name": "Suhr", - "provider": "microsoft", - "domain": "suhr.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4013": { - "name": "Unterentfelden", - "provider": "microsoft", - "domain": "unterentfelden.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4021": { - "name": "Baden", - "provider": "microsoft", - "domain": "baden.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:aws+microsoft", - "provider_classified" - ] - }, - "4022": { - "name": "Bellikon", - "provider": "microsoft", - "domain": "bellikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4023": { - "name": "Bergdietikon", - "provider": "microsoft", - "domain": "bergdietikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4024": { - "name": "Birmenstorf", - "provider": "microsoft", - "domain": "birmenstorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4026": { - "name": "Ennetbaden", - "provider": "independent", - "domain": "ennetbaden.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4027": { - "name": "Fislisbach", - "provider": "independent", - "domain": "fislisbach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4028": { - "name": "Freienwil", - "provider": "microsoft", - "domain": "freienwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4029": { - "name": "Gebenstorf", - "provider": "independent", - "domain": "gebenstorf.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "4030": { - "name": "Killwangen", - "provider": "microsoft", - "domain": "killwangen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4031": { - "name": "Künten", - "provider": "microsoft", - "domain": "kuenten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4032": { - "name": "Mägenwil", - "provider": "microsoft", - "domain": "maegenwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4033": { - "name": "Mellingen", - "provider": "independent", - "domain": "mellingen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4034": { - "name": "Neuenhof", - "provider": "swiss-isp", - "domain": "neuenhof.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4035": { - "name": "Niederrohrdorf", - "provider": "independent", - "domain": "niederrohrdorf.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4037": { - "name": "Oberrohrdorf", - "provider": "independent", - "domain": "oberrohrdorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4038": { - "name": "Obersiggenthal", - "provider": "independent", - "domain": "obersiggenthal.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4039": { - "name": "Remetschwil", - "provider": "microsoft", - "domain": "remetschwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4040": { - "name": "Spreitenbach", - "provider": "microsoft", - "domain": "spreitenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4041": { - "name": "Stetten", - "provider": "microsoft", - "domain": "stetten-ag.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4044": { - "name": "Untersiggenthal", - "provider": "swiss-isp", - "domain": "untersiggenthal.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4045": { - "name": "Wettingen", - "provider": "microsoft", - "domain": "wettingen.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4046": { - "name": "Wohlenschwil", - "provider": "microsoft", - "domain": "wohlenschwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4047": { - "name": "Würenlingen", - "provider": "microsoft", - "domain": "wuerenlingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4048": { - "name": "Würenlos", - "provider": "microsoft", - "domain": "wuerenlos.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4049": { - "name": "Ehrendingen", - "provider": "microsoft", - "domain": "ehrendingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4061": { - "name": "Arni", - "provider": "microsoft", - "domain": "arni-ag.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4062": { - "name": "Berikon", - "provider": "microsoft", - "domain": "berikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4063": { - "name": "Bremgarten", - "provider": "microsoft", - "domain": "bremgarten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4064": { - "name": "Büttikon", - "provider": "microsoft", - "domain": "buettikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4065": { - "name": "Dottikon", - "provider": "microsoft", - "domain": "dottikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4066": { - "name": "Eggenwil", - "provider": "independent", - "domain": "eggenwil.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4067": { - "name": "Fischbach-Göslikon", - "provider": "microsoft", - "domain": "fischbach-goeslikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4068": { - "name": "Hägglingen", - "provider": "microsoft", - "domain": "haegglingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4071": { - "name": "Jonen", - "provider": "microsoft", - "domain": "jonen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4072": { - "name": "Niederwil", - "provider": "microsoft", - "domain": "niederwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4073": { - "name": "Oberlunkhofen", - "provider": "microsoft", - "domain": "oberlunkhofen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4074": { - "name": "Oberwil-Lieli", - "provider": "microsoft", - "domain": "oberwil-lieli.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4075": { - "name": "Rudolfstetten-Friedlisberg", - "provider": "microsoft", - "domain": "rudolfstetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4076": { - "name": "Sarmenstorf", - "provider": "microsoft", - "domain": "sarmenstorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4077": { - "name": "Tägerig", - "provider": "microsoft", - "domain": "taegerig.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4078": { - "name": "Uezwil", - "provider": "microsoft", - "domain": "uezwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4079": { - "name": "Unterlunkhofen", - "provider": "microsoft", - "domain": "unterlunkhofen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4080": { - "name": "Villmergen", - "provider": "swiss-isp", - "domain": "villmergen.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4081": { - "name": "Widen", - "provider": "microsoft", - "domain": "widen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4082": { - "name": "Wohlen", - "provider": "microsoft", - "domain": "wohlen.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4083": { - "name": "Zufikon", - "provider": "microsoft", - "domain": "zufikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4084": { - "name": "Islisberg", - "provider": "microsoft", - "domain": "islisberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4091": { - "name": "Auenstein", - "provider": "microsoft", - "domain": "auenstein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4092": { - "name": "Birr", - "provider": "independent", - "domain": "birr.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4093": { - "name": "Birrhard", - "provider": "microsoft", - "domain": "birrhard.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4095": { - "name": "Brugg", - "provider": "microsoft", - "domain": "brugg.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4099": { - "name": "Habsburg", - "provider": "microsoft", - "domain": "habsburg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4100": { - "name": "Hausen", - "provider": "swiss-isp", - "domain": "hausen.swiss", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4104": { - "name": "Lupfig", - "provider": "microsoft", - "domain": "lupfig.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4105": { - "name": "Mandach", - "provider": "aws", - "domain": "mandach.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4106": { - "name": "Mönthal", - "provider": "microsoft", - "domain": "moenthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4107": { - "name": "Mülligen", - "provider": "microsoft", - "domain": "muelligen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4110": { - "name": "Remigen", - "provider": "microsoft", - "domain": "remigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4111": { - "name": "Riniken", - "provider": "swiss-isp", - "domain": "riniken.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4112": { - "name": "Rüfenach", - "provider": "microsoft", - "domain": "ruefenach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4117": { - "name": "Thalheim", - "provider": "microsoft", - "domain": "gemeinde-thalheim.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4120": { - "name": "Veltheim", - "provider": "microsoft", - "domain": "veltheim.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4121": { - "name": "Villigen", - "provider": "microsoft", - "domain": "villigen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4123": { - "name": "Windisch", - "provider": "microsoft", - "domain": "windisch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4124": { - "name": "Bözberg", - "provider": "microsoft", - "domain": "boezberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4125": { - "name": "Schinznach", - "provider": "swiss-isp", - "domain": "schinznach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4131": { - "name": "Beinwil am See", - "provider": "microsoft", - "domain": "beinwilamsee.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4132": { - "name": "Birrwil", - "provider": "aws", - "domain": "birrwil.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4134": { - "name": "Dürrenäsch", - "provider": "microsoft", - "domain": "duerrenaesch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4135": { - "name": "Gontenschwil", - "provider": "microsoft", - "domain": "gontenschwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4136": { - "name": "Holziken", - "provider": "aws", - "domain": "holziken.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4137": { - "name": "Leimbach", - "provider": "microsoft", - "domain": "leimbach.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4138": { - "name": "Leutwil", - "provider": "microsoft", - "domain": "leutwil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4139": { - "name": "Menziken", - "provider": "microsoft", - "domain": "menziken.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4140": { - "name": "Oberkulm", - "provider": "microsoft", - "domain": "oberkulm.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4141": { - "name": "Reinach", - "provider": "microsoft", - "domain": "reinach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4142": { - "name": "Schlossrued", - "provider": "aws", - "domain": "schlossrued.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4143": { - "name": "Schmiedrued", - "provider": "microsoft", - "domain": "schmiedrued-walde.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4144": { - "name": "Schöftland", - "provider": "swiss-isp", - "domain": "schoeftland.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4145": { - "name": "Teufenthal", - "provider": "microsoft", - "domain": "teufenthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4146": { - "name": "Unterkulm", - "provider": "microsoft", - "domain": "unterkulm.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4147": { - "name": "Zetzwil", - "provider": "microsoft", - "domain": "zetzwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4161": { - "name": "Eiken", - "provider": "microsoft", - "domain": "eiken.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4163": { - "name": "Frick", - "provider": "swiss-isp", - "domain": "frick.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4164": { - "name": "Gansingen", - "provider": "microsoft", - "domain": "gansingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4165": { - "name": "Gipf-Oberfrick", - "provider": "aws", - "domain": "gipf-oberfrick.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4169": { - "name": "Kaisten", - "provider": "swiss-isp", - "domain": "kaisten.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4170": { - "name": "Laufenburg", - "provider": "microsoft", - "domain": "laufenburg.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4172": { - "name": "Münchwilen", - "provider": "swiss-isp", - "domain": "muenchwilen-ag.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4173": { - "name": "Oberhof AG", - "provider": "microsoft", - "domain": "oberhof.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4175": { - "name": "Oeschgen", - "provider": "microsoft", - "domain": "oeschgen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4176": { - "name": "Schwaderloch", - "provider": "microsoft", - "domain": "schwaderloch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4177": { - "name": "Sisseln", - "provider": "microsoft", - "domain": "sisseln.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4181": { - "name": "Wittnau", - "provider": "microsoft", - "domain": "wittnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4182": { - "name": "Wölflinswil", - "provider": "microsoft", - "domain": "woelflinswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4183": { - "name": "Zeihen", - "provider": "swiss-isp", - "domain": "zeihen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4184": { - "name": "Mettauertal", - "provider": "microsoft", - "domain": "mettauertal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4185": { - "name": "Böztal", - "provider": "microsoft", - "domain": "boeztal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4186": { - "name": "Herznach-Ueken", - "provider": "microsoft", - "domain": "herznach-ueken.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4191": { - "name": "Ammerswil", - "provider": "microsoft", - "domain": "ammerswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4192": { - "name": "Boniswil", - "provider": "microsoft", - "domain": "boniswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4193": { - "name": "Brunegg", - "provider": "microsoft", - "domain": "brunegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4194": { - "name": "Dintikon", - "provider": "microsoft", - "domain": "dintikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4195": { - "name": "Egliswil", - "provider": "microsoft", - "domain": "egliswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4196": { - "name": "Fahrwangen", - "provider": "microsoft", - "domain": "fahrwangen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4197": { - "name": "Hallwil", - "provider": "microsoft", - "domain": "hallwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4198": { - "name": "Hendschiken", - "provider": "microsoft", - "domain": "hendschiken.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4199": { - "name": "Holderbank", - "provider": "swiss-isp", - "domain": "holderbank.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4200": { - "name": "Hunzenschwil", - "provider": "independent", - "domain": "hunzenschwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4201": { - "name": "Lenzburg", - "provider": "microsoft", - "domain": "lenzburg.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4202": { - "name": "Meisterschwanden", - "provider": "microsoft", - "domain": "meisterschwanden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4203": { - "name": "Möriken-Wildegg", - "provider": "microsoft", - "domain": "moeriken-wildegg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4204": { - "name": "Niederlenz", - "provider": "microsoft", - "domain": "niederlenz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4205": { - "name": "Othmarsingen", - "provider": "microsoft", - "domain": "othmarsingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4206": { - "name": "Rupperswil", - "provider": "independent", - "domain": "rupperswil.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4207": { - "name": "Schafisheim", - "provider": "microsoft", - "domain": "schafisheim.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4208": { - "name": "Seengen", - "provider": "microsoft", - "domain": "seengen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4209": { - "name": "Seon", - "provider": "microsoft", - "domain": "seon.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4210": { - "name": "Staufen", - "provider": "swiss-isp", - "domain": "staufen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4221": { - "name": "Abtwil", - "provider": "microsoft", - "domain": "abtwilag.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4222": { - "name": "Aristau", - "provider": "microsoft", - "domain": "aristau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4223": { - "name": "Auw", - "provider": "microsoft", - "domain": "auw.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4224": { - "name": "Beinwil (Freiamt)", - "provider": "microsoft", - "domain": "beinwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4226": { - "name": "Besenbüren", - "provider": "microsoft", - "domain": "besenbueren.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4227": { - "name": "Bettwil", - "provider": "microsoft", - "domain": "bettwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4228": { - "name": "Boswil", - "provider": "microsoft", - "domain": "boswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4229": { - "name": "Bünzen", - "provider": "microsoft", - "domain": "buenzen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4230": { - "name": "Buttwil", - "provider": "swiss-isp", - "domain": "buttwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4231": { - "name": "Dietwil", - "provider": "aws", - "domain": "dietwil.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4232": { - "name": "Geltwil", - "provider": "microsoft", - "domain": "geltwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4233": { - "name": "Kallern", - "provider": "microsoft", - "domain": "kallern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4234": { - "name": "Merenschwand", - "provider": "microsoft", - "domain": "merenschwand.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4235": { - "name": "Mühlau", - "provider": "microsoft", - "domain": "muehlau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4236": { - "name": "Muri", - "provider": "swiss-isp", - "domain": "muri.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4237": { - "name": "Oberrüti", - "provider": "microsoft", - "domain": "oberrueti.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4238": { - "name": "Rottenschwil", - "provider": "microsoft", - "domain": "rottenschwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4239": { - "name": "Sins", - "provider": "aws", - "domain": "sins.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4240": { - "name": "Waltenschwil", - "provider": "microsoft", - "domain": "waltenschwil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4251": { - "name": "Hellikon", - "provider": "aws", - "domain": "hellikon.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4252": { - "name": "Kaiseraugst", - "provider": "microsoft", - "domain": "kaiseraugst.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "multi_provider_spf:aws+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4253": { - "name": "Magden", - "provider": "microsoft", - "domain": "magden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4254": { - "name": "Möhlin", - "provider": "microsoft", - "domain": "moehlin.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4255": { - "name": "Mumpf", - "provider": "microsoft", - "domain": "mumpf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4256": { - "name": "Obermumpf", - "provider": "microsoft", - "domain": "obermumpf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4257": { - "name": "Olsberg", - "provider": "aws", - "domain": "olsberg.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4258": { - "name": "Rheinfelden", - "provider": "microsoft", - "domain": "rheinfelden.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4259": { - "name": "Schupfart", - "provider": "microsoft", - "domain": "schupfart.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4260": { - "name": "Stein", - "provider": "microsoft", - "domain": "gemeinde-stein.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4261": { - "name": "Wallbach", - "provider": "microsoft", - "domain": "wallbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4262": { - "name": "Wegenstetten", - "provider": "aws", - "domain": "wegenstetten.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4263": { - "name": "Zeiningen", - "provider": "microsoft", - "domain": "zeiningen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4264": { - "name": "Zuzgen", - "provider": "aws", - "domain": "zuzgen.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4271": { - "name": "Aarburg", - "provider": "microsoft", - "domain": "aarburg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4273": { - "name": "Bottenwil", - "provider": "aws", - "domain": "bottenwil.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4274": { - "name": "Brittnau", - "provider": "independent", - "domain": "brittnau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4275": { - "name": "Kirchleerau", - "provider": "microsoft", - "domain": "kirchleerau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4276": { - "name": "Kölliken", - "provider": "independent", - "domain": "koelliken.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4277": { - "name": "Moosleerau", - "provider": "microsoft", - "domain": "moosleerau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4279": { - "name": "Murgenthal", - "provider": "microsoft", - "domain": "murgenthal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4280": { - "name": "Oftringen", - "provider": "microsoft", - "domain": "oftringen.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4281": { - "name": "Reitnau", - "provider": "independent", - "domain": "reitnau.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4282": { - "name": "Rothrist", - "provider": "microsoft", - "domain": "rothrist.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4283": { - "name": "Safenwil", - "provider": "independent", - "domain": "safenwil.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4284": { - "name": "Staffelbach", - "provider": "microsoft", - "domain": "staffelbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4285": { - "name": "Strengelbach", - "provider": "independent", - "domain": "strengelbach.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4286": { - "name": "Uerkheim", - "provider": "swiss-isp", - "domain": "uerkheim.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4287": { - "name": "Vordemwald", - "provider": "independent", - "domain": "vordemwald.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4288": { - "name": "Wiliberg", - "provider": "swiss-isp", - "domain": "wiliberg.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4289": { - "name": "Zofingen", - "provider": "microsoft", - "domain": "zofingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4303": { - "name": "Böttstein", - "provider": "microsoft", - "domain": "boettstein.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4304": { - "name": "Döttingen", - "provider": "microsoft", - "domain": "doettingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4305": { - "name": "Endingen", - "provider": "microsoft", - "domain": "endingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4306": { - "name": "Fisibach", - "provider": "aws", - "domain": "fisibach.ch", - "confidence": 70, - "flags": [ - "spf_strict", - "provider_classified" - ] - }, - "4307": { - "name": "Full-Reuenthal", - "provider": "swiss-isp", - "domain": "full-reuenthal.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4309": { - "name": "Klingnau", - "provider": "microsoft", - "domain": "klingnau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4310": { - "name": "Koblenz AG", - "provider": "microsoft", - "domain": "koblenz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4311": { - "name": "Leibstadt", - "provider": "swiss-isp", - "domain": "leibstadt.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4312": { - "name": "Lengnau", - "provider": "microsoft", - "domain": "lengnau-ag.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4313": { - "name": "Leuggern", - "provider": "microsoft", - "domain": "leuggern.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4314": { - "name": "Mellikon", - "provider": "microsoft", - "domain": "mellikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4318": { - "name": "Schneisingen", - "provider": "microsoft", - "domain": "schneisingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4319": { - "name": "Siglistorf", - "provider": "microsoft", - "domain": "siglistorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4320": { - "name": "Tegerfelden", - "provider": "microsoft", - "domain": "tegerfelden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4324": { - "name": "Zurzach", - "provider": "microsoft", - "domain": "zurzach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4401": { - "name": "Arbon", - "provider": "swiss-isp", - "domain": "arbon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4406": { - "name": "Dozwil", - "provider": "swiss-isp", - "domain": "dozwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4411": { - "name": "Egnach", - "provider": "swiss-isp", - "domain": "egnach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4416": { - "name": "Hefenhofen", - "provider": "swiss-isp", - "domain": "hefenhofen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4421": { - "name": "Horn", - "provider": "swiss-isp", - "domain": "horn.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4426": { - "name": "Kesswil", - "provider": "swiss-isp", - "domain": "kesswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4431": { - "name": "Roggwil", - "provider": "independent", - "domain": "roggwil-tg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4436": { - "name": "Romanshorn", - "provider": "swiss-isp", - "domain": "romanshorn.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4441": { - "name": "Salmsach", - "provider": "microsoft", - "domain": "salmsach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4446": { - "name": "Sommeri", - "provider": "swiss-isp", - "domain": "sommeri.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4451": { - "name": "Uttwil", - "provider": "swiss-isp", - "domain": "uttwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4461": { - "name": "Amriswil", - "provider": "microsoft", - "domain": "amriswil.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4471": { - "name": "Bischofszell", - "provider": "microsoft", - "domain": "bischofszell.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4476": { - "name": "Erlen", - "provider": "microsoft", - "domain": "erlen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4486": { - "name": "Hauptwil-Gottshaus", - "provider": "swiss-isp", - "domain": "hauptwil-gottshaus.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "4495": { - "name": "Hohentannen", - "provider": "swiss-isp", - "domain": "hohentannen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4501": { - "name": "Kradolf-Schönenberg", - "provider": "independent", - "domain": "kradolf-schoenenberg.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4506": { - "name": "Sulgen", - "provider": "swiss-isp", - "domain": "sulgen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "4511": { - "name": "Zihlschlacht-Sitterdorf", - "provider": "swiss-isp", - "domain": "zihlschlacht-sitterdorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4536": { - "name": "Basadingen-Schlattingen", - "provider": "swiss-isp", - "domain": "basadingen-schlattingen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4545": { - "name": "Diessenhofen", - "provider": "microsoft", - "domain": "diessenhofen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4546": { - "name": "Schlatt", - "provider": "swiss-isp", - "domain": "schlatt.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4551": { - "name": "Aadorf", - "provider": "microsoft", - "domain": "aadorf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4561": { - "name": "Felben-Wellhausen", - "provider": "swiss-isp", - "domain": "felben-wellhausen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4566": { - "name": "Frauenfeld", - "provider": "swiss-isp", - "domain": "frauenfeld.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "4571": { - "name": "Gachnang", - "provider": "microsoft", - "domain": "gachnang.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4590": { - "name": "Hüttlingen", - "provider": "swiss-isp", - "domain": "huettlingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4591": { - "name": "Matzingen", - "provider": "swiss-isp", - "domain": "matzingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4601": { - "name": "Neunforn", - "provider": "swiss-isp", - "domain": "neunforn.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4606": { - "name": "Stettfurt", - "provider": "microsoft", - "domain": "stettfurt.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4611": { - "name": "Thundorf", - "provider": "swiss-isp", - "domain": "thundorf.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4616": { - "name": "Uesslingen-Buch", - "provider": "microsoft", - "domain": "uesslingen-buch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4621": { - "name": "Warth-Weiningen", - "provider": "swiss-isp", - "domain": "warth-weiningen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4641": { - "name": "Altnau", - "provider": "swiss-isp", - "domain": "altnau.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4643": { - "name": "Bottighofen", - "provider": "swiss-isp", - "domain": "bottighofen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4646": { - "name": "Ermatingen", - "provider": "swiss-isp", - "domain": "ermatingen.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "4651": { - "name": "Gottlieben", - "provider": "swiss-isp", - "domain": "gottlieben.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4656": { - "name": "Güttingen", - "provider": "swiss-isp", - "domain": "guettingen.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "4666": { - "name": "Kemmental", - "provider": "swiss-isp", - "domain": "kemmental.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4671": { - "name": "Kreuzlingen", - "provider": "swiss-isp", - "domain": "kreuzlingen.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "4681": { - "name": "Langrickenbach", - "provider": "microsoft", - "domain": "langrickenbach.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4683": { - "name": "Lengwil", - "provider": "swiss-isp", - "domain": "lengwil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4691": { - "name": "Münsterlingen", - "provider": "microsoft", - "domain": "muensterlingen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4696": { - "name": "Tägerwilen", - "provider": "swiss-isp", - "domain": "taegerwilen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4701": { - "name": "Wäldi", - "provider": "swiss-isp", - "domain": "waeldi.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4711": { - "name": "Affeltrangen", - "provider": "swiss-isp", - "domain": "affeltrangen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4716": { - "name": "Bettwiesen", - "provider": "microsoft", - "domain": "bettwiesen.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4721": { - "name": "Bichelsee-Balterswil", - "provider": "swiss-isp", - "domain": "bichelsee-balterswil.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4723": { - "name": "Braunau", - "provider": "microsoft", - "domain": "braunau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4724": { - "name": "Eschlikon", - "provider": "microsoft", - "domain": "eschlikon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4726": { - "name": "Fischingen", - "provider": "swiss-isp", - "domain": "fischingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4741": { - "name": "Lommis", - "provider": "swiss-isp", - "domain": "lommis.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4746": { - "name": "Münchwilen", - "provider": "swiss-isp", - "domain": "muenchwilen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4751": { - "name": "Rickenbach", - "provider": "swiss-isp", - "domain": "rickenbach-tg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4752": { - "name": "Wilen", - "provider": "swiss-isp", - "domain": "wilen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4756": { - "name": "Schönholzerswilen", - "provider": "swiss-isp", - "domain": "schoenholzerswilen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4761": { - "name": "Sirnach", - "provider": "independent", - "domain": "sirnach.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "4776": { - "name": "Tobel-Tägerschen", - "provider": "swiss-isp", - "domain": "tobel-taegerschen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4781": { - "name": "Wängi", - "provider": "swiss-isp", - "domain": "waengi.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4786": { - "name": "Wilen", - "provider": "swiss-isp", - "domain": "wilen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4791": { - "name": "Wuppenau", - "provider": "swiss-isp", - "domain": "wuppenau.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4801": { - "name": "Berlingen", - "provider": "swiss-isp", - "domain": "berlingen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4806": { - "name": "Eschenz", - "provider": "swiss-isp", - "domain": "eschenz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4811": { - "name": "Herdern", - "provider": "swiss-isp", - "domain": "herdern.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4816": { - "name": "Homburg", - "provider": "swiss-isp", - "domain": "homburg.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "4821": { - "name": "Hüttwilen", - "provider": "swiss-isp", - "domain": "huettwilen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4826": { - "name": "Mammern", - "provider": "swiss-isp", - "domain": "mammern.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4831": { - "name": "Müllheim", - "provider": "swiss-isp", - "domain": "muellheim.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4841": { - "name": "Pfyn", - "provider": "swiss-isp", - "domain": "pfyn.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4846": { - "name": "Raperswilen", - "provider": "swiss-isp", - "domain": "raperswilen.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4851": { - "name": "Salenstein", - "provider": "swiss-isp", - "domain": "salenstein.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4864": { - "name": "Steckborn", - "provider": "swiss-isp", - "domain": "steckborn.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "4871": { - "name": "Wagenhausen", - "provider": "swiss-isp", - "domain": "wagenhausen.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4881": { - "name": "Amlikon-Bissegg", - "provider": "swiss-isp", - "domain": "amlikon-bissegg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4891": { - "name": "Berg", - "provider": "microsoft", - "domain": "berg-tg.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "4901": { - "name": "Birwinken", - "provider": "microsoft", - "domain": "birwinken.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4911": { - "name": "Bürglen", - "provider": "swiss-isp", - "domain": "buerglen-tg.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4921": { - "name": "Bussnang", - "provider": "swiss-isp", - "domain": "bussnang.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "4941": { - "name": "Märstetten", - "provider": "microsoft", - "domain": "maerstetten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4946": { - "name": "Weinfelden", - "provider": "microsoft", - "domain": "weinfelden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "4951": { - "name": "Wigoltingen", - "provider": "swiss-isp", - "domain": "wigoltingen.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5001": { - "name": "Arbedo-Castione", - "provider": "microsoft", - "domain": "arbedocastione.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5002": { - "name": "Bellinzona", - "provider": "microsoft", - "domain": "bellinzona.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5003": { - "name": "Cadenazzo", - "provider": "microsoft", - "domain": "cadenazzo.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5009": { - "name": "Isone", - "provider": "microsoft", - "domain": "isone.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5010": { - "name": "Lumino TI", - "provider": "microsoft", - "domain": "lumino.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5017": { - "name": "Sant’Antonino TI", - "provider": "independent", - "domain": "santonino.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5048": { - "name": "Acquarossa", - "provider": "microsoft", - "domain": "acquarossa.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5049": { - "name": "Blenio", - "provider": "microsoft", - "domain": "comuneblenio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5050": { - "name": "Serravalle", - "provider": "infomaniak", - "domain": "serravalle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5061": { - "name": "Airolo", - "provider": "independent", - "domain": "comuneairolo.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5063": { - "name": "Bedretto", - "provider": "independent", - "domain": "bedretto.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5071": { - "name": "Dalpe", - "provider": "independent", - "domain": "dalpe.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5072": { - "name": "Faido", - "provider": "microsoft", - "domain": "faido.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5073": { - "name": "Giornico", - "provider": "independent", - "domain": "giornico.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5076": { - "name": "Personico", - "provider": "microsoft", - "domain": "personico.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5077": { - "name": "Pollegio", - "provider": "independent", - "domain": "pollegio.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5079": { - "name": "Quinto", - "provider": "microsoft", - "domain": "tiquinto.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5091": { - "name": "Ascona", - "provider": "independent", - "domain": "ascona.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5096": { - "name": "Brione sopra Minusio", - "provider": "microsoft", - "domain": "brione.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5097": { - "name": "Brissago", - "provider": "microsoft", - "domain": "brissago.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5108": { - "name": "Gordola", - "provider": "microsoft", - "domain": "gordola.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5112": { - "name": "Lavertezzo", - "provider": "microsoft", - "domain": "lavertezzo.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5113": { - "name": "Locarno", - "provider": "swiss-isp", - "domain": "locarno.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5115": { - "name": "Losone", - "provider": "microsoft", - "domain": "losone.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5117": { - "name": "Mergoscia", - "provider": "independent", - "domain": "mergoscia.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "5118": { - "name": "Minusio", - "provider": "independent", - "domain": "minusio.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5120": { - "name": "Muralto", - "provider": "microsoft", - "domain": "muralto.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5121": { - "name": "Orselina", - "provider": "microsoft", - "domain": "orselina.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5125": { - "name": "Ronco sopra Ascona", - "provider": "microsoft", - "domain": "ronco-s-ascona.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5131": { - "name": "Tenero-Contra", - "provider": "microsoft", - "domain": "tenero-contra.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5136": { - "name": "Onsernone", - "provider": "microsoft", - "domain": "onsernone.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5138": { - "name": "Cugnasco-Gerra", - "provider": "independent", - "domain": "cugnasco-gerra.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5141": { - "name": "Agno", - "provider": "independent", - "domain": "agno.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5143": { - "name": "Aranno", - "provider": "microsoft", - "domain": "aranno.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5144": { - "name": "Arogno", - "provider": "microsoft", - "domain": "arogno.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5148": { - "name": "Bedano", - "provider": "swiss-isp", - "domain": "bedano.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5151": { - "name": "Bioggio", - "provider": "microsoft", - "domain": "bioggio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5154": { - "name": "Bissone", - "provider": "microsoft", - "domain": "bissone.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5160": { - "name": "Brusino Arsizio", - "provider": "microsoft", - "domain": "brusinoarsizio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5161": { - "name": "Cademario", - "provider": "microsoft", - "domain": "cademario.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5162": { - "name": "Cadempino", - "provider": "independent", - "domain": "cadempino.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5167": { - "name": "Canobbio", - "provider": "microsoft", - "domain": "canobbio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5171": { - "name": "Caslano", - "provider": "microsoft", - "domain": "caslano.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5176": { - "name": "Comano", - "provider": "microsoft", - "domain": "comano.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5180": { - "name": "Cureglia", - "provider": "microsoft", - "domain": "cureglia.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5186": { - "name": "Grancia", - "provider": "independent", - "domain": "grancia.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "5187": { - "name": "Gravesano", - "provider": "microsoft", - "domain": "gravesano.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5189": { - "name": "Lamone", - "provider": "independent", - "domain": "lamone.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5192": { - "name": "Lugano", - "provider": "independent", - "domain": "lugano.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5193": { - "name": "Magliaso", - "provider": "microsoft", - "domain": "magliaso.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5194": { - "name": "Manno", - "provider": "microsoft", - "domain": "manno.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5196": { - "name": "Massagno", - "provider": "independent", - "domain": "massagno.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5198": { - "name": "Melide", - "provider": "microsoft", - "domain": "melide.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5199": { - "name": "Mezzovico-Vira", - "provider": "microsoft", - "domain": "mezzovico-vira.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5203": { - "name": "Morcote", - "provider": "microsoft", - "domain": "morcote.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5205": { - "name": "Muzzano", - "provider": "microsoft", - "domain": "muzzano.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5206": { - "name": "Neggio", - "provider": "independent", - "domain": "neggio.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5208": { - "name": "Origlio", - "provider": "microsoft", - "domain": "origlio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5210": { - "name": "Paradiso", - "provider": "swiss-isp", - "domain": "paradiso.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "5212": { - "name": "Ponte Capriasca", - "provider": "microsoft", - "domain": "pontecapriasca.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5214": { - "name": "Porza", - "provider": "swiss-isp", - "domain": "ti.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5216": { - "name": "Pura", - "provider": "microsoft", - "domain": "pura.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5221": { - "name": "Savosa", - "provider": "microsoft", - "domain": "savosa.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5225": { - "name": "Sorengo", - "provider": "microsoft", - "domain": "sorengo.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5226": { - "name": "Capriasca", - "provider": "independent", - "domain": "capriasca.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5227": { - "name": "Torricella-Taverne", - "provider": "microsoft", - "domain": "torricella-taverne.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5230": { - "name": "Vernate", - "provider": "swiss-isp", - "domain": "vernate.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5231": { - "name": "Vezia", - "provider": "microsoft", - "domain": "vezia.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5233": { - "name": "Vico Morcote", - "provider": "microsoft", - "domain": "vicomorcote.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5236": { - "name": "Collina d’Oro", - "provider": "microsoft", - "domain": "collinadoro.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5237": { - "name": "Alto Malcantone", - "provider": "microsoft", - "domain": "altomalcantone.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5238": { - "name": "Monteceneri", - "provider": "microsoft", - "domain": "monteceneri.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5239": { - "name": "Tresa", - "provider": "microsoft", - "domain": "tresa.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5240": { - "name": "Val Mara", - "provider": "microsoft", - "domain": "valmara.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5242": { - "name": "Balerna", - "provider": "independent", - "domain": "balerna.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5249": { - "name": "Castel San Pietro", - "provider": "independent", - "domain": "castelsanpietro.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5250": { - "name": "Chiasso", - "provider": "independent", - "domain": "chiasso.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5251": { - "name": "Coldrerio", - "provider": "microsoft", - "domain": "coldrerio.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5254": { - "name": "Mendrisio", - "provider": "independent", - "domain": "mendrisio.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5257": { - "name": "Morbio Inferiore", - "provider": "microsoft", - "domain": "morbioinf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5260": { - "name": "Novazzano", - "provider": "microsoft", - "domain": "novazzano.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5263": { - "name": "Riva San Vitale", - "provider": "independent", - "domain": "rivasanvitale.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5266": { - "name": "Stabio", - "provider": "independent", - "domain": "stabio.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5268": { - "name": "Vacallo", - "provider": "independent", - "domain": "vacallo.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5269": { - "name": "Breggia", - "provider": "independent", - "domain": "comunebreggia.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5281": { - "name": "Biasca", - "provider": "microsoft", - "domain": "biasca.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5287": { - "name": "Riviera", - "provider": "swiss-isp", - "domain": "comuneriviera.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5304": { - "name": "Bosco/Gurin", - "provider": "independent", - "domain": "bosco-gurin.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5307": { - "name": "Campo (Vallemaggia)", - "provider": "microsoft", - "domain": "campo-vallemaggia.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5309": { - "name": "Cerentino", - "provider": "independent", - "domain": "cerentino.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5310": { - "name": "Cevio", - "provider": "infomaniak", - "domain": "cevio.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5315": { - "name": "Linescio", - "provider": "independent", - "domain": "linescio.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5317": { - "name": "Maggia", - "provider": "independent", - "domain": "maggia.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5323": { - "name": "Lavizzara", - "provider": "independent", - "domain": "lavizzara.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5324": { - "name": "Avegno Gordevio", - "provider": "microsoft", - "domain": "avegnogordevio.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5395": { - "name": "Lema", - "provider": "microsoft", - "domain": "lema.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5396": { - "name": "Terre di Pedemonte", - "provider": "microsoft", - "domain": "pedemonte.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "5397": { - "name": "Centovalli", - "provider": "independent", - "domain": "intragna.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "5398": { - "name": "Gambarogno", - "provider": "independent", - "domain": "gambarogno.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5399": { - "name": "Verzasca", - "provider": "microsoft", - "domain": "verzasca.swiss", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5401": { - "name": "Aigle", - "provider": "microsoft", - "domain": "aigle.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5402": { - "name": "Bex", - "provider": "microsoft", - "domain": "bex.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5403": { - "name": "Chessel", - "provider": "microsoft", - "domain": "chessel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5404": { - "name": "Corbeyrier", - "provider": "infomaniak", - "domain": "corbeyrier.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5405": { - "name": "Gryon", - "provider": "microsoft", - "domain": "gryon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5406": { - "name": "Lavey-Morcles", - "provider": "microsoft", - "domain": "lavey.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5407": { - "name": "Leysin", - "provider": "microsoft", - "domain": "leysin.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5408": { - "name": "Noville", - "provider": "microsoft", - "domain": "noville.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5409": { - "name": "Ollon", - "provider": "microsoft", - "domain": "ollon.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "5410": { - "name": "Ormont-Dessous", - "provider": "microsoft", - "domain": "ormont-dessous.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5411": { - "name": "Ormont-Dessus", - "provider": "independent", - "domain": "ormont-dessus.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5412": { - "name": "Rennaz", - "provider": "microsoft", - "domain": "rennaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5413": { - "name": "Roche", - "provider": "microsoft", - "domain": "roche-vd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5414": { - "name": "Villeneuve", - "provider": "independent", - "domain": "villeneuve.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5415": { - "name": "Yvorne", - "provider": "microsoft", - "domain": "yvorne.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5422": { - "name": "Aubonne", - "provider": "microsoft", - "domain": "aubonne.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5423": { - "name": "Ballens", - "provider": "microsoft", - "domain": "ballens.ch", - "confidence": 80, - "flags": [ - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5424": { - "name": "Berolle", - "provider": "independent", - "domain": "berolle.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5425": { - "name": "Bière", - "provider": "microsoft", - "domain": "biere-vd.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5426": { - "name": "Bougy-Villars", - "provider": "microsoft", - "domain": "bougy-villars.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5427": { - "name": "Féchy", - "provider": "infomaniak", - "domain": "fechy.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5428": { - "name": "Gimel VD", - "provider": "microsoft", - "domain": "gimel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5429": { - "name": "Longirod", - "provider": "microsoft", - "domain": "longirod.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5430": { - "name": "Marchissy", - "provider": "infomaniak", - "domain": "marchissy.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5431": { - "name": "Mollens", - "provider": "microsoft", - "domain": "mollensvd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5434": { - "name": "Saint-George", - "provider": "infomaniak", - "domain": "stgeorge.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5435": { - "name": "Saint-Livres", - "provider": "microsoft", - "domain": "st-livres.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5436": { - "name": "Saint-Oyens", - "provider": "infomaniak", - "domain": "saint-oyens.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5437": { - "name": "Saubraz", - "provider": "infomaniak", - "domain": "saubraz.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5451": { - "name": "Avenches", - "provider": "microsoft", - "domain": "avenches.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5456": { - "name": "Cudrefin", - "provider": "microsoft", - "domain": "cudrefin.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5458": { - "name": "Faoug", - "provider": "infomaniak", - "domain": "faoug.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5464": { - "name": "Vully-les-Lacs", - "provider": "microsoft", - "domain": "vully-les-lacs.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5471": { - "name": "Bettens", - "provider": "independent", - "domain": "bettens.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "5472": { - "name": "Bournens", - "provider": "microsoft", - "domain": "bournens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5473": { - "name": "Boussens VD", - "provider": "microsoft", - "domain": "boussens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5474": { - "name": "La Chaux (Cossonay)", - "provider": "microsoft", - "domain": "lachaux.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5475": { - "name": "Chavannes-le-Veyron", - "provider": "infomaniak", - "domain": "chavannes-le-veyron.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5476": { - "name": "Chevilly", - "provider": "infomaniak", - "domain": "chevilly.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5477": { - "name": "Cossonay", - "provider": "microsoft", - "domain": "cossonay.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5479": { - "name": "Cuarnens", - "provider": "microsoft", - "domain": "cuarnens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5480": { - "name": "Daillens", - "provider": "microsoft", - "domain": "daillens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5481": { - "name": "Dizy VD", - "provider": "microsoft", - "domain": "dizy.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5482": { - "name": "Eclépens", - "provider": "microsoft", - "domain": "eclepens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5483": { - "name": "Ferreyres", - "provider": "independent", - "domain": "ferreyres.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5484": { - "name": "Gollion", - "provider": "infomaniak", - "domain": "gollion.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5485": { - "name": "Grancy", - "provider": "infomaniak", - "domain": "grancy.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5486": { - "name": "L’Isle", - "provider": "microsoft", - "domain": "lisle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5487": { - "name": "Lussery-Villars", - "provider": "infomaniak", - "domain": "lussery-villars.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5488": { - "name": "Mauraz", - "provider": "infomaniak", - "domain": "mauraz.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5489": { - "name": "Mex", - "provider": "infomaniak", - "domain": "mex.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5490": { - "name": "Moiry VD", - "provider": "independent", - "domain": "moiry.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5491": { - "name": "Mont-la-Ville", - "provider": "infomaniak", - "domain": "mont-la-ville.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5492": { - "name": "Montricher", - "provider": "infomaniak", - "domain": "montricher.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5493": { - "name": "Orny", - "provider": "microsoft", - "domain": "orny.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5495": { - "name": "Penthalaz", - "provider": "microsoft", - "domain": "penthalaz.ch", - "confidence": 78, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5496": { - "name": "Penthaz", - "provider": "microsoft", - "domain": "penthaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5497": { - "name": "Pompaples", - "provider": "microsoft", - "domain": "pompaples.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5498": { - "name": "La Sarraz", - "provider": "microsoft", - "domain": "lasarraz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5499": { - "name": "Senarclens", - "provider": "infomaniak", - "domain": "senarclens.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5501": { - "name": "Sullens", - "provider": "independent", - "domain": "sullens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5503": { - "name": "Vufflens-la-Ville", - "provider": "microsoft", - "domain": "vufflens-la-ville.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5511": { - "name": "Assens", - "provider": "microsoft", - "domain": "assens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5512": { - "name": "Bercher", - "provider": "microsoft", - "domain": "bercher-vd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5514": { - "name": "Bottens", - "provider": "microsoft", - "domain": "bottens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5515": { - "name": "Bretigny-sur-Morrens", - "provider": "microsoft", - "domain": "bretigny.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5516": { - "name": "Cugy", - "provider": "microsoft", - "domain": "cugy-vd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5518": { - "name": "Echallens", - "provider": "independent", - "domain": "echallens.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5520": { - "name": "Essertines-sur-Yverdon", - "provider": "microsoft", - "domain": "essertines-sur-yverdon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5521": { - "name": "Etagnières", - "provider": "microsoft", - "domain": "etagnieres.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5522": { - "name": "Fey VD", - "provider": "microsoft", - "domain": "fey-vd.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5523": { - "name": "Froideville VD", - "provider": "independent", - "domain": "froideville.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5527": { - "name": "Morrens", - "provider": "microsoft", - "domain": "morrens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5529": { - "name": "Oulens-sous-Echallens", - "provider": "infomaniak", - "domain": "oulens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5530": { - "name": "Pailly", - "provider": "microsoft", - "domain": "pailly.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5531": { - "name": "Penthéréaz", - "provider": "microsoft", - "domain": "penthereaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5533": { - "name": "Poliez-Pittet", - "provider": "infomaniak", - "domain": "poliez-pittet.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5534": { - "name": "Rueyres", - "provider": "independent", - "domain": "rueyres.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "5535": { - "name": "Saint-Barthélemy", - "provider": "microsoft", - "domain": "st-barthelemy.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5537": { - "name": "Villars-le-Terroir", - "provider": "microsoft", - "domain": "villars-le-terroir.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5539": { - "name": "Vuarrens", - "provider": "infomaniak", - "domain": "vuarrens.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5540": { - "name": "Montilliez", - "provider": "independent", - "domain": "montilliez.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5541": { - "name": "Goumoëns", - "provider": "infomaniak", - "domain": "goumoens.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5551": { - "name": "Bonvillars", - "provider": "infomaniak", - "domain": "bonvillars.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5552": { - "name": "Bullet", - "provider": "microsoft", - "domain": "bullet.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5553": { - "name": "Champagne", - "provider": "microsoft", - "domain": "champagne.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5554": { - "name": "Concise", - "provider": "infomaniak", - "domain": "concise.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5555": { - "name": "Corcelles-près-Concise", - "provider": "microsoft", - "domain": "corcelles-concise.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5556": { - "name": "Fiez", - "provider": "infomaniak", - "domain": "fiez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5557": { - "name": "Fontaines-sur-Grandson", - "provider": "independent", - "domain": "fontaines-sur-grandson.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5559": { - "name": "Giez", - "provider": "microsoft", - "domain": "giez.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5560": { - "name": "Grandevent", - "provider": "microsoft", - "domain": "grandevent.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5561": { - "name": "Grandson", - "provider": "independent", - "domain": "grandson.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5562": { - "name": "Mauborget", - "provider": "independent", - "domain": "mauborget.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5563": { - "name": "Mutrux", - "provider": "independent", - "domain": "mutrux.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5564": { - "name": "Novalles", - "provider": "independent", - "domain": "novalles.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5565": { - "name": "Onnens", - "provider": "independent", - "domain": "onnens.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5566": { - "name": "Provence", - "provider": "infomaniak", - "domain": "provence.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5568": { - "name": "Sainte-Croix", - "provider": "independent", - "domain": "sainte-croix.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "5571": { - "name": "Tévenon", - "provider": "swiss-isp", - "domain": "villars-burquin.ch", - "confidence": 80, - "flags": [ - "multiple_mx", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5581": { - "name": "Belmont-sur-Lausanne", - "provider": "independent", - "domain": "belmont.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5582": { - "name": "Cheseaux-sur-Lausanne", - "provider": "microsoft", - "domain": "cheseaux.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5583": { - "name": "Crissier", - "provider": "microsoft", - "domain": "crissier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5584": { - "name": "Epalinges", - "provider": "microsoft", - "domain": "epalinges.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5585": { - "name": "Jouxtens-Mézery", - "provider": "microsoft", - "domain": "jouxtens-mezery.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5586": { - "name": "Lausanne", - "provider": "independent", - "domain": "lausanne.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5587": { - "name": "Le Mont-sur-Lausanne", - "provider": "swiss-isp", - "domain": "lemontsurlausanne.ch", - "confidence": 78, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5588": { - "name": "Paudex", - "provider": "independent", - "domain": "paudex.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5589": { - "name": "Prilly", - "provider": "independent", - "domain": "prilly.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5590": { - "name": "Pully", - "provider": "independent", - "domain": "pully.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5591": { - "name": "Renens", - "provider": "microsoft", - "domain": "renens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5592": { - "name": "Romanel-sur-Lausanne", - "provider": "microsoft", - "domain": "romanel-sur-lausanne.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5601": { - "name": "Chexbres", - "provider": "microsoft", - "domain": "chexbres.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5604": { - "name": "Forel", - "provider": "microsoft", - "domain": "forel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5606": { - "name": "Lutry", - "provider": "independent", - "domain": "lutry.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5607": { - "name": "Puidoux", - "provider": "microsoft", - "domain": "puidoux.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5609": { - "name": "Rivaz", - "provider": "microsoft", - "domain": "rivaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5610": { - "name": "Saint-Saphorin", - "provider": "infomaniak", - "domain": "saint-saphorin.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5611": { - "name": "Savigny VD", - "provider": "microsoft", - "domain": "savigny.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5613": { - "name": "Bourg-en-Lavaux", - "provider": "independent", - "domain": "b-e-l.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5621": { - "name": "Aclens", - "provider": "microsoft", - "domain": "aclens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5622": { - "name": "Bremblens", - "provider": "infomaniak", - "domain": "bremblens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5623": { - "name": "Buchillon", - "provider": "microsoft", - "domain": "buchillon.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5624": { - "name": "Bussigny", - "provider": "microsoft", - "domain": "bussigny.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5627": { - "name": "Chavannes-près-Renens", - "provider": "microsoft", - "domain": "chavannes.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5628": { - "name": "Chigny VD", - "provider": "infomaniak", - "domain": "chigny.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5629": { - "name": "Clarmont", - "provider": "infomaniak", - "domain": "clarmont.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5631": { - "name": "Denens", - "provider": "microsoft", - "domain": "denens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5632": { - "name": "Denges", - "provider": "microsoft", - "domain": "denges.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5633": { - "name": "Echandens", - "provider": "independent", - "domain": "echandens.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5634": { - "name": "Echichens", - "provider": "microsoft", - "domain": "echichens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5635": { - "name": "Ecublens", - "provider": "microsoft", - "domain": "ecublens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+mailjet+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5636": { - "name": "Etoy", - "provider": "microsoft", - "domain": "etoy.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5637": { - "name": "Lavigny", - "provider": "google", - "domain": "lavigny.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5638": { - "name": "Lonay", - "provider": "microsoft", - "domain": "lonay.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5639": { - "name": "Lully VD", - "provider": "microsoft", - "domain": "lully.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5640": { - "name": "Lussy-sur-Morges", - "provider": "microsoft", - "domain": "lussy-sur-morges.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5642": { - "name": "Morges", - "provider": "independent", - "domain": "morges.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5643": { - "name": "Préverenges", - "provider": "infomaniak", - "domain": "preverenges.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5645": { - "name": "Romanel-sur-Morges", - "provider": "microsoft", - "domain": "romanel-sur-morges.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5646": { - "name": "Saint-Prex", - "provider": "microsoft", - "domain": "saint-prex.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5648": { - "name": "Saint-Sulpice", - "provider": "microsoft", - "domain": "st-sulpice.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5649": { - "name": "Tolochenaz", - "provider": "microsoft", - "domain": "tolochenaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5650": { - "name": "Vaux-sur-Morges", - "provider": "microsoft", - "domain": "vaux-sur-morges.ch", - "confidence": 100, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5651": { - "name": "Villars-Sainte-Croix", - "provider": "microsoft", - "domain": "villars-sainte-croix.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5652": { - "name": "Villars-sous-Yens", - "provider": "microsoft", - "domain": "villars-sous-yens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5653": { - "name": "Vufflens-le-Château", - "provider": "microsoft", - "domain": "vufflens-le-chateau.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5654": { - "name": "Vullierens", - "provider": "microsoft", - "domain": "vullierens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5655": { - "name": "Yens", - "provider": "microsoft", - "domain": "yens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5656": { - "name": "Hautemorges", - "provider": "microsoft", - "domain": "hautemorges.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5661": { - "name": "Boulens", - "provider": "independent", - "domain": "boulens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5663": { - "name": "Bussy-sur-Moudon", - "provider": "infomaniak", - "domain": "bussy-sur-moudon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5665": { - "name": "Chavannes-sur-Moudon", - "provider": "infomaniak", - "domain": "chavannes-sur-moudon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5669": { - "name": "Curtilles", - "provider": "infomaniak", - "domain": "curtilles.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5671": { - "name": "Dompierre", - "provider": "microsoft", - "domain": "dompierre-vd.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5673": { - "name": "Hermenches", - "provider": "microsoft", - "domain": "hermenches.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5674": { - "name": "Lovatens", - "provider": "independent", - "domain": "lovatens.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5675": { - "name": "Lucens", - "provider": "microsoft", - "domain": "lucens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5678": { - "name": "Moudon", - "provider": "microsoft", - "domain": "moudon.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5680": { - "name": "Ogens", - "provider": "infomaniak", - "domain": "ogens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5683": { - "name": "Prévonloup", - "provider": "google", - "domain": "prevonloup.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5684": { - "name": "Rossenges", - "provider": "infomaniak", - "domain": "rossenges.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5688": { - "name": "Syens", - "provider": "infomaniak", - "domain": "syens.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5690": { - "name": "Villars-le-Comte", - "provider": "independent", - "domain": "villars-le-comte.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5692": { - "name": "Vucherens", - "provider": "microsoft", - "domain": "vucherens.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5693": { - "name": "Montanaire", - "provider": "microsoft", - "domain": "montanaire.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+mailgun+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5701": { - "name": "Arnex-sur-Nyon", - "provider": "independent", - "domain": "arnex-sur-nyon.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5702": { - "name": "Arzier-Le Muids", - "provider": "microsoft", - "domain": "arzier.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5703": { - "name": "Bassins", - "provider": "microsoft", - "domain": "bassins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5704": { - "name": "Begnins", - "provider": "microsoft", - "domain": "begnins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5705": { - "name": "Bogis-Bossey", - "provider": "microsoft", - "domain": "bogis-bossey.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5706": { - "name": "Borex", - "provider": "microsoft", - "domain": "borex.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5707": { - "name": "Chavannes-de-Bogis", - "provider": "microsoft", - "domain": "chavannes-de-bogis.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5708": { - "name": "Chavannes-des-Bois", - "provider": "microsoft", - "domain": "chavannes-des-bois.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5709": { - "name": "Chéserex", - "provider": "microsoft", - "domain": "cheserex.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5710": { - "name": "Coinsins", - "provider": "microsoft", - "domain": "coinsins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5711": { - "name": "Commugny", - "provider": "microsoft", - "domain": "commugny.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5712": { - "name": "Coppet", - "provider": "microsoft", - "domain": "coppet.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5713": { - "name": "Crans", - "provider": "infomaniak", - "domain": "crans.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5714": { - "name": "Crassier", - "provider": "microsoft", - "domain": "crassier.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5715": { - "name": "Duillier", - "provider": "microsoft", - "domain": "duillier.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5716": { - "name": "Eysins", - "provider": "microsoft", - "domain": "eysins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5717": { - "name": "Founex", - "provider": "microsoft", - "domain": "founex.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5718": { - "name": "Genolier", - "provider": "microsoft", - "domain": "genolier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5719": { - "name": "Gingins", - "provider": "microsoft", - "domain": "gingins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5720": { - "name": "Givrins", - "provider": "microsoft", - "domain": "givrins.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5721": { - "name": "Gland", - "provider": "microsoft", - "domain": "gland.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5722": { - "name": "Grens", - "provider": "microsoft", - "domain": "grens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5723": { - "name": "Mies VD", - "provider": "microsoft", - "domain": "mies.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5724": { - "name": "Nyon", - "provider": "independent", - "domain": "nyon.ch", - "confidence": 75, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified" - ] - }, - "5725": { - "name": "Prangins", - "provider": "microsoft", - "domain": "prangins.ch", - "confidence": 98, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "5726": { - "name": "La Rippe", - "provider": "microsoft", - "domain": "larippe.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5727": { - "name": "Saint-Cergue", - "provider": "microsoft", - "domain": "st-cergue.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5728": { - "name": "Signy-Avenex", - "provider": "independent", - "domain": "signy-avenex.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5729": { - "name": "Tannay VD", - "provider": "microsoft", - "domain": "tannay.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5730": { - "name": "Trélex", - "provider": "microsoft", - "domain": "trelex.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5731": { - "name": "Le Vaud", - "provider": "microsoft", - "domain": "levaud.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:aws+infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5732": { - "name": "Vich VD", - "provider": "microsoft", - "domain": "vich.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5741": { - "name": "L’Abergement VD", - "provider": "microsoft", - "domain": "labergement.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5742": { - "name": "Agiez", - "provider": "infomaniak", - "domain": "agiez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5743": { - "name": "Arnex-sur-Orbe", - "provider": "infomaniak", - "domain": "arnex-sur-orbe.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5744": { - "name": "Ballaigues", - "provider": "microsoft", - "domain": "ballaigues.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5745": { - "name": "Baulmes", - "provider": "independent", - "domain": "baulmes.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5746": { - "name": "Bavois", - "provider": "microsoft", - "domain": "bavois.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5747": { - "name": "Bofflens", - "provider": "microsoft", - "domain": "bofflens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5748": { - "name": "Bretonnières", - "provider": "independent", - "domain": "1329.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "5749": { - "name": "Chavornay", - "provider": "microsoft", - "domain": "chavornay.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5750": { - "name": "Les Clées", - "provider": "infomaniak", - "domain": "lesclees.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5752": { - "name": "Croy VD", - "provider": "infomaniak", - "domain": "croy.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5754": { - "name": "Juriens", - "provider": "infomaniak", - "domain": "juriens.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5755": { - "name": "Lignerolle", - "provider": "independent", - "domain": "lignerolle.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5756": { - "name": "Montcherand", - "provider": "infomaniak", - "domain": "montcherand.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5757": { - "name": "Orbe", - "provider": "microsoft", - "domain": "orbe.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5758": { - "name": "La Praz", - "provider": "independent", - "domain": "lapraz.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5759": { - "name": "Premier VD", - "provider": "infomaniak", - "domain": "premier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5760": { - "name": "Rances", - "provider": "microsoft", - "domain": "rances.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5761": { - "name": "Romainmôtier-Envy", - "provider": "infomaniak", - "domain": "romainmotier.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5762": { - "name": "Sergey", - "provider": "infomaniak", - "domain": "sergey.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5763": { - "name": "Valeyres-sous-Rances", - "provider": "microsoft", - "domain": "valeyres-sous-rances.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5764": { - "name": "Vallorbe", - "provider": "microsoft", - "domain": "vallorbe.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5765": { - "name": "Vaulion", - "provider": "microsoft", - "domain": "vaulion.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5766": { - "name": "Vuiteboeuf", - "provider": "microsoft", - "domain": "vuiteboeuf.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5785": { - "name": "Corcelles-le-Jorat", - "provider": "microsoft", - "domain": "corcelles-le-jorat.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5790": { - "name": "Maracon", - "provider": "microsoft", - "domain": "maracon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5792": { - "name": "Montpreveyres", - "provider": "infomaniak", - "domain": "montpreveyres.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5798": { - "name": "Ropraz", - "provider": "independent", - "domain": "ropraz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5799": { - "name": "Servion", - "provider": "microsoft", - "domain": "servion.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5803": { - "name": "Vulliens", - "provider": "infomaniak", - "domain": "vulliens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5804": { - "name": "Jorat-Menthue", - "provider": "infomaniak", - "domain": "jorat-menthue.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5805": { - "name": "Oron", - "provider": "independent", - "domain": "oron.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "5806": { - "name": "Jorat-Mézières", - "provider": "swiss-isp", - "domain": "jorat-mezieres.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5812": { - "name": "Champtauroz", - "provider": "microsoft", - "domain": "champtauroz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5813": { - "name": "Chevroux", - "provider": "microsoft", - "domain": "chevroux.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5816": { - "name": "Corcelles-près-Payerne", - "provider": "microsoft", - "domain": "corcelles.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5817": { - "name": "Grandcour", - "provider": "microsoft", - "domain": "grandcour.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5819": { - "name": "Henniez VD", - "provider": "infomaniak", - "domain": "commune-henniez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5821": { - "name": "Missy VD", - "provider": "infomaniak", - "domain": "missy.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5822": { - "name": "Payerne", - "provider": "independent", - "domain": "payerne.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5827": { - "name": "Trey", - "provider": "infomaniak", - "domain": "trey.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5828": { - "name": "Treytorrens", - "provider": "independent", - "domain": "treytorrens.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5830": { - "name": "Villarzel", - "provider": "microsoft", - "domain": "villarzel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5831": { - "name": "Valbroye", - "provider": "microsoft", - "domain": "valbroye.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5841": { - "name": "Château-d’Oex", - "provider": "independent", - "domain": "chateaudoex-admin.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5842": { - "name": "Rossinière", - "provider": "microsoft", - "domain": "rossiniere.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5843": { - "name": "Rougemont", - "provider": "microsoft", - "domain": "rougemont.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5851": { - "name": "Allaman", - "provider": "microsoft", - "domain": "allaman.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5852": { - "name": "Bursinel", - "provider": "infomaniak", - "domain": "bursinel.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5853": { - "name": "Bursins", - "provider": "microsoft", - "domain": "bursins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5854": { - "name": "Burtigny", - "provider": "microsoft", - "domain": "burtigny.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5855": { - "name": "Dully", - "provider": "microsoft", - "domain": "dully.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5856": { - "name": "Essertines-sur-Rolle", - "provider": "microsoft", - "domain": "essertines-sur-rolle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5857": { - "name": "Gilly", - "provider": "microsoft", - "domain": "gilly.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5858": { - "name": "Luins", - "provider": "microsoft", - "domain": "luins.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5859": { - "name": "Mont-sur-Rolle", - "provider": "microsoft", - "domain": "mont-sur-rolle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5860": { - "name": "Perroy", - "provider": "microsoft", - "domain": "perroy.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5861": { - "name": "Rolle", - "provider": "microsoft", - "domain": "rolle.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "5862": { - "name": "Tartegnin", - "provider": "infomaniak", - "domain": "tartegnin.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5863": { - "name": "Vinzel", - "provider": "independent", - "domain": "vinzel.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5871": { - "name": "L’Abbaye", - "provider": "microsoft", - "domain": "labbaye.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5872": { - "name": "Le Chenit", - "provider": "infomaniak", - "domain": "communeduchenit.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5873": { - "name": "Le Lieu", - "provider": "microsoft", - "domain": "lelieu.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5882": { - "name": "Chardonne", - "provider": "microsoft", - "domain": "chardonne.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5883": { - "name": "Corseaux", - "provider": "microsoft", - "domain": "corseaux.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5884": { - "name": "Corsier-sur-Vevey", - "provider": "microsoft", - "domain": "corsier-sur-vevey.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5885": { - "name": "Jongny", - "provider": "microsoft", - "domain": "jongny.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5886": { - "name": "Montreux", - "provider": "independent", - "domain": "montreux.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5889": { - "name": "La Tour-de-Peilz", - "provider": "independent", - "domain": "la-tour-de-peilz.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5890": { - "name": "Vevey", - "provider": "microsoft", - "domain": "vevey.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified" - ] - }, - "5891": { - "name": "Veytaux", - "provider": "microsoft", - "domain": "veytaux.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5892": { - "name": "Blonay – Saint-Légier", - "provider": "infomaniak", - "domain": "blonay-saint-legier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5902": { - "name": "Belmont-sur-Yverdon", - "provider": "microsoft", - "domain": "belmont-sur-yverdon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5903": { - "name": "Bioley-Magnoux", - "provider": "infomaniak", - "domain": "bioley-magnoux.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5904": { - "name": "Chamblon", - "provider": "microsoft", - "domain": "chamblon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5905": { - "name": "Champvent", - "provider": "microsoft", - "domain": "champvent.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5907": { - "name": "Chavannes-le-Chêne", - "provider": "independent", - "domain": "chavannes-le-chene.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "5908": { - "name": "Chêne-Pâquier", - "provider": "infomaniak", - "domain": "chene-paquier.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5909": { - "name": "Cheseaux-Noréaz", - "provider": "independent", - "domain": "cheseaux-noreaz.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "5910": { - "name": "Cronay", - "provider": "infomaniak", - "domain": "cronay.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5911": { - "name": "Cuarny", - "provider": "microsoft", - "domain": "cuarny.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5912": { - "name": "Démoret", - "provider": "infomaniak", - "domain": "demoret.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5913": { - "name": "Donneloye", - "provider": "microsoft", - "domain": "donneloye.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5914": { - "name": "Ependes", - "provider": "microsoft", - "domain": "ependesvd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5919": { - "name": "Mathod", - "provider": "microsoft", - "domain": "mathod.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5921": { - "name": "Molondin", - "provider": "microsoft", - "domain": "molondin.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5922": { - "name": "Montagny-près-Yverdon", - "provider": "infomaniak", - "domain": "montagny.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5923": { - "name": "Oppens", - "provider": "independent", - "domain": "oppens.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5924": { - "name": "Orges VD", - "provider": "microsoft", - "domain": "orges.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5925": { - "name": "Orzens", - "provider": "infomaniak", - "domain": "orzens.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5926": { - "name": "Pomy VD", - "provider": "infomaniak", - "domain": "pomy.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5928": { - "name": "Rovray", - "provider": "infomaniak", - "domain": "rovray.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5929": { - "name": "Suchy", - "provider": "infomaniak", - "domain": "suchy.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5930": { - "name": "Suscévaz", - "provider": "infomaniak", - "domain": "suscevaz.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "5931": { - "name": "Treycovagnes", - "provider": "microsoft", - "domain": "treycovagnes.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5932": { - "name": "Ursins", - "provider": "infomaniak", - "domain": "ursins.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5933": { - "name": "Valeyres-sous-Montagny", - "provider": "microsoft", - "domain": "valeyres-sous-montagny.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5934": { - "name": "Valeyres-sous-Ursins", - "provider": "independent", - "domain": "bluemail.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "5935": { - "name": "Villars-Epeney", - "provider": "infomaniak", - "domain": "villars-epeney.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "5937": { - "name": "Vugelles-La Mothe", - "provider": "infomaniak", - "domain": "vugelleslamothe.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "5938": { - "name": "Yverdon-les-Bains", - "provider": "independent", - "domain": "yverdon-les-bains.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "5939": { - "name": "Yvonand", - "provider": "independent", - "domain": "yvonand.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6002": { - "name": "Brig-Glis", - "provider": "microsoft", - "domain": "brig-glis.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6004": { - "name": "Eggerberg", - "provider": "microsoft", - "domain": "eggerberg.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6007": { - "name": "Naters", - "provider": "microsoft", - "domain": "naters.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6008": { - "name": "Ried-Brig", - "provider": "microsoft", - "domain": "ried-brig.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6009": { - "name": "Simplon", - "provider": "microsoft", - "domain": "gemeinde-simplon.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6010": { - "name": "Termen", - "provider": "microsoft", - "domain": "termen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6011": { - "name": "Zwischbergen", - "provider": "microsoft", - "domain": "gondo.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6021": { - "name": "Ardon", - "provider": "independent", - "domain": "ardon.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6022": { - "name": "Chamoson", - "provider": "independent", - "domain": "chamoson.net", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6023": { - "name": "Conthey", - "provider": "microsoft", - "domain": "conthey.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6024": { - "name": "Nendaz", - "provider": "microsoft", - "domain": "nendaz.org", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6025": { - "name": "Vétroz", - "provider": "independent", - "domain": "vetroz.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6032": { - "name": "Bourg-Saint-Pierre", - "provider": "infomaniak", - "domain": "bourg-saint-pierre.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6033": { - "name": "Liddes", - "provider": "independent", - "domain": "liddes.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6034": { - "name": "Orsières", - "provider": "independent", - "domain": "orsieres.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "6035": { - "name": "Sembrancher", - "provider": "independent", - "domain": "sembrancher.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6037": { - "name": "Val de Bagnes", - "provider": "independent", - "domain": "valdebagnes.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6052": { - "name": "Bellwald", - "provider": "microsoft", - "domain": "bellwald.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6054": { - "name": "Binn", - "provider": "independent", - "domain": "binn.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6056": { - "name": "Ernen", - "provider": "microsoft", - "domain": "ernen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6057": { - "name": "Fiesch", - "provider": "microsoft", - "domain": "gemeinde-fiesch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6058": { - "name": "Fieschertal", - "provider": "microsoft", - "domain": "fieschertal.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6061": { - "name": "Lax", - "provider": "microsoft", - "domain": "lax.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6076": { - "name": "Obergoms", - "provider": "independent", - "domain": "obergoms.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6077": { - "name": "Goms", - "provider": "microsoft", - "domain": "gemeinde-goms.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6082": { - "name": "Ayent", - "provider": "microsoft", - "domain": "ayent.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6083": { - "name": "Evolène", - "provider": "infomaniak", - "domain": "commune-evolene.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6084": { - "name": "Hérémence", - "provider": "independent", - "domain": "heremence.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6087": { - "name": "Saint-Martin", - "provider": "infomaniak", - "domain": "saint-martin.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6089": { - "name": "Vex", - "provider": "independent", - "domain": "vex.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6090": { - "name": "Mont-Noble", - "provider": "independent", - "domain": "mont-noble.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6101": { - "name": "Agarn", - "provider": "microsoft", - "domain": "agarn.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6102": { - "name": "Albinen", - "provider": "microsoft", - "domain": "albinen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6104": { - "name": "Ergisch", - "provider": "microsoft", - "domain": "ergisch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6109": { - "name": "Inden", - "provider": "microsoft", - "domain": "inden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6110": { - "name": "Leuk", - "provider": "microsoft", - "domain": "leuk.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6111": { - "name": "Leukerbad", - "provider": "microsoft", - "domain": "leukerbad.org", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6112": { - "name": "Oberems", - "provider": "microsoft", - "domain": "oberems.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6113": { - "name": "Salgesch", - "provider": "microsoft", - "domain": "salgesch.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "6116": { - "name": "Varen VS", - "provider": "microsoft", - "domain": "varen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6117": { - "name": "Guttet-Feschel", - "provider": "microsoft", - "domain": "guttet-feschel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6118": { - "name": "Gampel-Bratsch", - "provider": "microsoft", - "domain": "gampel-bratsch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6119": { - "name": "Turtmann-Unterems", - "provider": "microsoft", - "domain": "turtmann-unterems.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6131": { - "name": "Bovernier", - "provider": "microsoft", - "domain": "bovernier.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6133": { - "name": "Fully", - "provider": "independent", - "domain": "fully.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6134": { - "name": "Isérables", - "provider": "independent", - "domain": "iserables.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6135": { - "name": "Leytron", - "provider": "microsoft", - "domain": "leytron.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6136": { - "name": "Martigny", - "provider": "infomaniak", - "domain": "martigny.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6137": { - "name": "Martigny-Combe", - "provider": "microsoft", - "domain": "martigny-combe.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6139": { - "name": "Riddes", - "provider": "microsoft", - "domain": "riddes.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6140": { - "name": "Saillon", - "provider": "microsoft", - "domain": "saillon.ch", - "confidence": 83, - "flags": [ - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6141": { - "name": "Saxon", - "provider": "independent", - "domain": "saxon.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "6142": { - "name": "Trient", - "provider": "independent", - "domain": "trient.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6151": { - "name": "Champéry", - "provider": "independent", - "domain": "admin-champery.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "6152": { - "name": "Collombey-Muraz", - "provider": "microsoft", - "domain": "collombey-muraz.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6153": { - "name": "Monthey", - "provider": "microsoft", - "domain": "monthey.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6154": { - "name": "Port-Valais", - "provider": "microsoft", - "domain": "port-valais.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6155": { - "name": "Saint-Gingolph", - "provider": "infomaniak", - "domain": "st-gingolph.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6156": { - "name": "Troistorrents", - "provider": "independent", - "domain": "troistorrents.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6157": { - "name": "Val-d’Illiez", - "provider": "independent", - "domain": "illiez.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6158": { - "name": "Vionnaz", - "provider": "microsoft", - "domain": "vionnaz.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6159": { - "name": "Vouvry", - "provider": "microsoft", - "domain": "vouvry.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6172": { - "name": "Bister VS", - "provider": "microsoft", - "domain": "gemeinde-bister.ch", - "confidence": 25, - "flags": [ - "no_mx", - "no_spf", - "provider_classified" - ] - }, - "6173": { - "name": "Bitsch", - "provider": "microsoft", - "domain": "bitsch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6177": { - "name": "Grengiols", - "provider": "microsoft", - "domain": "grengiols.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6181": { - "name": "Riederalp", - "provider": "microsoft", - "domain": "gemeinde-riederalp.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6191": { - "name": "Ausserberg", - "provider": "microsoft", - "domain": "ausserberg.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6192": { - "name": "Blatten", - "provider": "microsoft", - "domain": "blatten-vs.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6193": { - "name": "Bürchen", - "provider": "microsoft", - "domain": "buerchen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6194": { - "name": "Eischoll", - "provider": "microsoft", - "domain": "eischoll.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6195": { - "name": "Ferden", - "provider": "microsoft", - "domain": "ferden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6197": { - "name": "Kippel", - "provider": "microsoft", - "domain": "kippel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6198": { - "name": "Niedergesteln", - "provider": "microsoft", - "domain": "niedergesteln.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6199": { - "name": "Raron", - "provider": "microsoft", - "domain": "raron.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6201": { - "name": "Unterbäch", - "provider": "microsoft", - "domain": "unterbaech.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6202": { - "name": "Wiler", - "provider": "microsoft", - "domain": "wilervs.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6203": { - "name": "Mörel-Filet", - "provider": "microsoft", - "domain": "moerel-filet.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6204": { - "name": "Steg-Hohtenn", - "provider": "microsoft", - "domain": "steg-hohtenn.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6205": { - "name": "Bettmeralp", - "provider": "microsoft", - "domain": "bettmeralp.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6211": { - "name": "Collonges", - "provider": "independent", - "domain": "collonges.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6212": { - "name": "Dorénaz", - "provider": "independent", - "domain": "dorenaz.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6213": { - "name": "Evionnaz", - "provider": "microsoft", - "domain": "evionnaz.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6214": { - "name": "Finhaut", - "provider": "microsoft", - "domain": "finhaut.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6215": { - "name": "Massongex", - "provider": "infomaniak", - "domain": "massongex.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6217": { - "name": "Saint-Maurice", - "provider": "infomaniak", - "domain": "saint-maurice.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "6218": { - "name": "Salvan", - "provider": "independent", - "domain": "salvan.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6219": { - "name": "Vernayaz", - "provider": "independent", - "domain": "vernayaz.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6220": { - "name": "Vérossaz", - "provider": "microsoft", - "domain": "verossaz.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6232": { - "name": "Chalais", - "provider": "independent", - "domain": "chalais.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6235": { - "name": "Chippis", - "provider": "infomaniak", - "domain": "chippis.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6238": { - "name": "Grône", - "provider": "microsoft", - "domain": "grone.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6239": { - "name": "Icogne", - "provider": "independent", - "domain": "icogne.ch", - "confidence": 75, - "flags": [ - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6240": { - "name": "Lens", - "provider": "independent", - "domain": "lens.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6246": { - "name": "Saint-Léonard", - "provider": "infomaniak", - "domain": "st-leonard.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6248": { - "name": "Siders", - "provider": "independent", - "domain": "sierre.ch", - "confidence": 88, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6252": { - "name": "Anniviers", - "provider": "infomaniak", - "domain": "anniviers.org", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6253": { - "name": "Crans-Montana", - "provider": "independent", - "domain": "crans-montana.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6254": { - "name": "Noble-Contrée", - "provider": "microsoft", - "domain": "noble-contree.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6261": { - "name": "Arbaz", - "provider": "microsoft", - "domain": "arbaz.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "autodiscover_confirms" - ] - }, - "6263": { - "name": "Grimisuat", - "provider": "infomaniak", - "domain": "grimisuat.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6265": { - "name": "Savièse", - "provider": "independent", - "domain": "saviese.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6266": { - "name": "Sitten", - "provider": "infomaniak", - "domain": "sion.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6267": { - "name": "Veysonnaz", - "provider": "independent", - "domain": "veysonnaz.org", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6281": { - "name": "Baltschieder", - "provider": "microsoft", - "domain": "baltschieder.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6282": { - "name": "Eisten", - "provider": "microsoft", - "domain": "eisten.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6283": { - "name": "Embd", - "provider": "microsoft", - "domain": "embd.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6285": { - "name": "Grächen", - "provider": "independent", - "domain": "gemeinde-graechen.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "6286": { - "name": "Lalden", - "provider": "microsoft", - "domain": "lalden.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6287": { - "name": "Randa", - "provider": "microsoft", - "domain": "randa.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6288": { - "name": "Saas-Almagell", - "provider": "swiss-isp", - "domain": "saas-almagell.org", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "6289": { - "name": "Saas-Balen", - "provider": "independent", - "domain": "gemeinde-saas-balen.ch", - "confidence": 50, - "flags": [ - "no_spf", - "provider_classified" - ] - }, - "6290": { - "name": "Saas-Fee", - "provider": "microsoft", - "domain": "3906.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6291": { - "name": "Saas-Grund", - "provider": "microsoft", - "domain": "saas-grund.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6292": { - "name": "St. Niklaus", - "provider": "microsoft", - "domain": "st-niklaus.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6293": { - "name": "Stalden", - "provider": "microsoft", - "domain": "stalden.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6294": { - "name": "Staldenried", - "provider": "microsoft", - "domain": "staldenried.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6295": { - "name": "Täsch", - "provider": "microsoft", - "domain": "gemeinde-taesch.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6296": { - "name": "Törbel", - "provider": "microsoft", - "domain": "toerbel.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6297": { - "name": "Visp", - "provider": "microsoft", - "domain": "visp.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6298": { - "name": "Visperterminen", - "provider": "microsoft", - "domain": "visperterminen.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6299": { - "name": "Zeneggen", - "provider": "microsoft", - "domain": "zeneggen.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6300": { - "name": "Zermatt", - "provider": "independent", - "domain": "gemeinde.zermatt.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6404": { - "name": "Boudry", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6408": { - "name": "Cortaillod", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6413": { - "name": "Rochefort", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6416": { - "name": "Milvignes", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6417": { - "name": "La Grande Béroche", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6421": { - "name": "La Chaux-de-Fonds", - "provider": "swiss-isp", - "domain": "chaux-de-fonds.ch", - "confidence": 55, - "flags": [ - "multiple_mx", - "no_spf", - "provider_classified" - ] - }, - "6422": { - "name": "Les Planchettes", - "provider": "independent", - "domain": "les-planchettes.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6423": { - "name": "La Sagne", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6432": { - "name": "La Brévine", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6433": { - "name": "Brot-Plamboz", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6434": { - "name": "Le Cerneux-Péquignot", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6435": { - "name": "La Chaux-du-Milieu", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6436": { - "name": "Le Locle", - "provider": "swiss-isp", - "domain": "lelocle.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6437": { - "name": "Les Ponts-de-Martel", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6451": { - "name": "Cornaux", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6452": { - "name": "Cressier", - "provider": "independent", - "domain": "cressier.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6455": { - "name": "Le Landeron", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6456": { - "name": "Lignières", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6458": { - "name": "Neuenburg", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6487": { - "name": "Val-de-Ruz", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6504": { - "name": "La Côte-aux-Fées", - "provider": "swiss-isp", - "domain": "ne.ch", - "confidence": 88, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified", - "provider_via_gateway_spf", - "manual_override" - ] - }, - "6511": { - "name": "Les Verrières", - "provider": "infomaniak", - "domain": "lesverrieres.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6512": { - "name": "Val-de-Travers", - "provider": "independent", - "domain": "val-de-travers.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6513": { - "name": "Laténa", - "provider": "independent", - "domain": "latena.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6601": { - "name": "Aire-la-Ville", - "provider": "independent", - "domain": "aire-la-ville.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6602": { - "name": "Anières", - "provider": "independent", - "domain": "anieres.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6603": { - "name": "Avully", - "provider": "independent", - "domain": "avully.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6604": { - "name": "Avusy", - "provider": "independent", - "domain": "avusy.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6605": { - "name": "Bardonnex", - "provider": "independent", - "domain": "bardonnex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6606": { - "name": "Bellevue", - "provider": "independent", - "domain": "mairie-bellevue.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6607": { - "name": "Bernex", - "provider": "independent", - "domain": "bernex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6608": { - "name": "Carouge", - "provider": "independent", - "domain": "carouge.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6609": { - "name": "Cartigny", - "provider": "independent", - "domain": "cartigny.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6610": { - "name": "Céligny", - "provider": "independent", - "domain": "celigny.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6611": { - "name": "Chancy", - "provider": "independent", - "domain": "chancy.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6612": { - "name": "Chêne-Bougeries", - "provider": "independent", - "domain": "chene-bougeries.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6613": { - "name": "Chêne-Bourg", - "provider": "independent", - "domain": "chene-bourg.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6614": { - "name": "Choulex", - "provider": "independent", - "domain": "choulex.ch", - "confidence": 80, - "flags": [ - "multiple_mx", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6615": { - "name": "Collex-Bossy", - "provider": "independent", - "domain": "collex-bossy.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6616": { - "name": "Collonge-Bellerive", - "provider": "independent", - "domain": "collonge-bellerive.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6617": { - "name": "Cologny", - "provider": "independent", - "domain": "cologny.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6618": { - "name": "Confignon", - "provider": "independent", - "domain": "confignon.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6619": { - "name": "Corsier", - "provider": "independent", - "domain": "corsier.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6620": { - "name": "Dardagny", - "provider": "independent", - "domain": "dardagny.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6621": { - "name": "Genf", - "provider": "microsoft", - "domain": "geneve.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6622": { - "name": "Genthod", - "provider": "independent", - "domain": "genthod.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6623": { - "name": "Le Grand-Saconnex", - "provider": "independent", - "domain": "grand-saconnex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6624": { - "name": "Gy GE", - "provider": "infomaniak", - "domain": "mairie-gy.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6625": { - "name": "Hermance", - "provider": "independent", - "domain": "hermance.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6626": { - "name": "Jussy", - "provider": "independent", - "domain": "jussy.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6627": { - "name": "Laconnex", - "provider": "independent", - "domain": "laconnex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6628": { - "name": "Lancy", - "provider": "independent", - "domain": "lancy.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6629": { - "name": "Meinier", - "provider": "independent", - "domain": "meinier.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6630": { - "name": "Meyrin", - "provider": "independent", - "domain": "meyrin.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6631": { - "name": "Onex", - "provider": "independent", - "domain": "onex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6632": { - "name": "Perly-Certoux", - "provider": "independent", - "domain": "perly-certoux.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6633": { - "name": "Plan-les-Ouates", - "provider": "independent", - "domain": "plan-les-ouates.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6634": { - "name": "Pregny-Chambésy", - "provider": "independent", - "domain": "pregny-chambesy.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6635": { - "name": "Presinge", - "provider": "independent", - "domain": "presinge.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6636": { - "name": "Puplinge", - "provider": "independent", - "domain": "puplinge.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6637": { - "name": "Russin", - "provider": "independent", - "domain": "russin.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6638": { - "name": "Satigny", - "provider": "independent", - "domain": "satigny.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6639": { - "name": "Soral", - "provider": "independent", - "domain": "soral.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6640": { - "name": "Thônex", - "provider": "independent", - "domain": "thonex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6641": { - "name": "Troinex", - "provider": "independent", - "domain": "troinex.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6642": { - "name": "Vandœuvres", - "provider": "independent", - "domain": "vandoeuvres.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6643": { - "name": "Vernier", - "provider": "independent", - "domain": "vernier.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6644": { - "name": "Versoix", - "provider": "independent", - "domain": "versoix.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6645": { - "name": "Veyrier", - "provider": "independent", - "domain": "veyrier.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6702": { - "name": "Boécourt", - "provider": "infomaniak", - "domain": "boecourt.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6703": { - "name": "Bourrignon", - "provider": "independent", - "domain": "bourrignon.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6704": { - "name": "Châtillon", - "provider": "infomaniak", - "domain": "chatillon.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6706": { - "name": "Courchapoix", - "provider": "infomaniak", - "domain": "courchapoix.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+mailchimp+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6708": { - "name": "Courrendlin", - "provider": "independent", - "domain": "courrendlin.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "6709": { - "name": "Courroux", - "provider": "independent", - "domain": "courroux.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6710": { - "name": "Courtételle", - "provider": "independent", - "domain": "courtetelle.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6711": { - "name": "Delsberg", - "provider": "independent", - "domain": "delemont.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified", - "provider_via_gateway_spf" - ] - }, - "6712": { - "name": "Develier", - "provider": "microsoft", - "domain": "develier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6713": { - "name": "Ederswiler", - "provider": "infomaniak", - "domain": "ederswiler.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6715": { - "name": "Mervelier", - "provider": "infomaniak", - "domain": "mervelier.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6716": { - "name": "Mettembert", - "provider": "infomaniak", - "domain": "mettembert.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6718": { - "name": "Movelier", - "provider": "infomaniak", - "domain": "movelier.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6719": { - "name": "Pleigne", - "provider": "infomaniak", - "domain": "pleigne.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6721": { - "name": "Rossemaison", - "provider": "infomaniak", - "domain": "rossemaison.ch", - "confidence": 93, - "flags": [ - "spf_softfail", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6722": { - "name": "Saulcy", - "provider": "microsoft", - "domain": "saulcy.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6724": { - "name": "Soyhières", - "provider": "independent", - "domain": "soyhieres.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6729": { - "name": "Haute-Sorne", - "provider": "independent", - "domain": "haute-sorne.ch", - "confidence": 95, - "flags": [ - "multiple_mx", - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6730": { - "name": "Val Terbi", - "provider": "independent", - "domain": "val-terbi.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6741": { - "name": "Le Bémont", - "provider": "infomaniak", - "domain": "lebemont.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6742": { - "name": "Les Bois", - "provider": "independent", - "domain": "lesbois.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6743": { - "name": "Les Breuleux", - "provider": "independent", - "domain": "breuleux.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6745": { - "name": "Les Enfers", - "provider": "independent", - "domain": "lesenfers.ch", - "confidence": 90, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified" - ] - }, - "6748": { - "name": "Les Genevez", - "provider": "infomaniak", - "domain": "lesgenevez.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6750": { - "name": "Lajoux", - "provider": "microsoft", - "domain": "lajoux.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6751": { - "name": "Montfaucon", - "provider": "swiss-isp", - "domain": "montfaucon.ch", - "confidence": 83, - "flags": [ - "multiple_mx", - "spf_softfail", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6753": { - "name": "Muriaux", - "provider": "infomaniak", - "domain": "muriaux.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6754": { - "name": "Le Noirmont", - "provider": "independent", - "domain": "noirmont.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6757": { - "name": "Saignelégier", - "provider": "independent", - "domain": "saignelegier.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6758": { - "name": "Saint-Brais", - "provider": "infomaniak", - "domain": "saint-brais.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6759": { - "name": "Soubey", - "provider": "infomaniak", - "domain": "soubey.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6771": { - "name": "Alle", - "provider": "microsoft", - "domain": "alle.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6774": { - "name": "Boncourt", - "provider": "independent", - "domain": "boncourt.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6778": { - "name": "Bure", - "provider": "independent", - "domain": "bure.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "6781": { - "name": "Coeuve", - "provider": "microsoft", - "domain": "coeuve.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6782": { - "name": "Cornol", - "provider": "microsoft", - "domain": "cornol.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6783": { - "name": "Courchavon", - "provider": "independent", - "domain": "courchavon-mormont.ch", - "confidence": 90, - "flags": [ - "multiple_mx", - "mx_spf_match", - "provider_classified" - ] - }, - "6784": { - "name": "Courgenay", - "provider": "microsoft", - "domain": "courgenay.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6785": { - "name": "Courtedoux", - "provider": "infomaniak", - "domain": "courtedoux.ch", - "confidence": 90, - "flags": [ - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6789": { - "name": "Fahy", - "provider": "microsoft", - "domain": "fahy.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6790": { - "name": "Fontenais", - "provider": "independent", - "domain": "fontenais.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6792": { - "name": "Grandfontaine JU", - "provider": "microsoft", - "domain": "grandfontaine.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6800": { - "name": "Pruntrut", - "provider": "independent", - "domain": "porrentruy.ch", - "confidence": 85, - "flags": [ - "multiple_mx", - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - }, - "6806": { - "name": "Vendlincourt", - "provider": "microsoft", - "domain": "vendlincourt.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6807": { - "name": "Basse-Allaine", - "provider": "microsoft", - "domain": "basse-allaine.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6808": { - "name": "Clos du Doubs", - "provider": "infomaniak", - "domain": "closdudoubs.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6809": { - "name": "Haute-Ajoie", - "provider": "independent", - "domain": "hauteajoie.ch", - "confidence": 93, - "flags": [ - "multiple_mx", - "spf_softfail", - "mx_spf_match", - "provider_classified" - ] - }, - "6810": { - "name": "La Baroche", - "provider": "infomaniak", - "domain": "baroche.ch", - "confidence": 85, - "flags": [ - "mx_spf_match", - "provider_classified" - ] - }, - "6811": { - "name": "Damphreux-Lugnez", - "provider": "microsoft", - "domain": "damphreux-lugnez.ch", - "confidence": 85, - "flags": [ - "spf_strict", - "mx_spf_match", - "multi_provider_spf:infomaniak+microsoft", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6812": { - "name": "Basse-Vendline", - "provider": "microsoft", - "domain": "basse-vendline.ch", - "confidence": 95, - "flags": [ - "spf_strict", - "mx_spf_match", - "provider_classified", - "autodiscover_confirms" - ] - }, - "6831": { - "name": "Moutier", - "provider": "swiss-isp", - "domain": "moutier.ch", - "confidence": 80, - "flags": [ - "spf_strict", - "independent_mx_with_cloud_spf", - "provider_classified" - ] - } - } -} \ No newline at end of file