# DNS / SPF Audit — Client Domains
Audit of MX + SPF for all known client domains hosted on kaburusvr (Hetzner, 49.13.202.144). Dig run from kaburusvr 2026-07-14.
## Expected SPF includes by provider
| Provider | Expected include |
| ———- | —————— |
| MS365 | `include:spf.protection.outlook.com` |
| `include:_spf.google.com` | |
| Zoho | `include:zoho.eu` |
| Proton | `include:_spf.protonmail.ch` |
| Cloudflare Email | `include:_spf.mx.cloudflare.net` |
| Self-hosted (kaburusvr) | `ip4:49.13.202.144` |
## Results (2026-07-14)
| Domain | MX Provider | SPF Include | Result |
| ——– | ————- | ————- | ——– |
| aberdeenrda.co.uk | Cloudflare | `_spf.mx.cloudflare.net` | MATCH |
| bankhousecatering.co.uk | `_spf.google.com` | MATCH | |
| billing.myretonmarquees.co.uk | none | none | NO EMAIL (known FF) |
| chippy.kaburu.co.uk | none | none | NO EMAIL (known FF) |
| claybusters.scot | Self-hosted (`mail.claybusters.scot`) | `ip4:49.13.202.144` | MATCH |
| dm-ph.com | MS365 | `spf.protection.outlook.com` | MATCH |
| doctorfin.co.uk | `_dc-mx.*` (residual M365 verify) | `ip4:49.13.202.144` | MX BROKEN |
| friendscic.org | Self-hosted (`mail.friendscic.org`) | `ip4:49.13.202.144` | MATCH |
| ggsgenerators.co.uk | Zoho | `zoho.eu` | MATCH |
| invoice.kaburu.co | none | none | NO EMAIL (known FF) |
| jafricasafari.com | MS365 | `spf.protection.outlook.com` | MATCH |
| kaburu.co | Proton | `_spf.protonmail.ch` + `ip4:49.13.202.144` | EXTRA IP |
| kaburu.co.uk | Proton | `_spf.protonmail.ch` + `ip4:49.13.202.144` | EXTRA IP |
| l8waterhygiene.co.uk | MS365 | `spf.protection.outlook.com` | MATCH |
| longniddrybowlingclub.com | Self-hosted | `ip4:49.13.202.144` | MATCH |
| longniddrybowlingclub.co.uk | Self-hosted | `ip4:49.13.202.144` | MATCH |
| myretonmarquees.co.uk | MS365 | `spf.protection.outlook.com` | MATCH |
| pilates-edinburgh.co.uk | `_dc-mx.*` (residual M365 verify) | `ip4:49.13.202.144` | MX BROKEN |
| stats.kaburu.co | none | none | NO EMAIL (known FF) |
| touchwell.co.uk | Self-hosted (`mail.touchwell.co.uk`) | `ip4:49.13.202.144` | MATCH |
| womenunlimited.africa | MS365 | `spf.protection.outlook.com` | MATCH |
| 24hrresponse.com | Proton | `_spf.protonmail.ch` + `ip4:49.13.202.144` | EXTRA IP |
Raw SPF on Proton domains (verified dig): ``` kaburu.co / kaburu.co.uk / 24hrresponse.com:
v=spf1 mx a ip4:49.13.202.144 include:_spf.protonmail.ch -all
```
Broken MX raw: ``` doctorfin.co.uk: 10 _dc-mx.62e3cc93e6da.doctorfin.co.uk. → A 49.13.202.144 pilates-edinburgh: 10 _dc-mx.5458ab873d17.pilates-edinburgh.co.uk. → A 49.13.202.144 ``` `_dc-mx` hostnames resolve to kaburusvr, so inbound still lands if Postfix accepts the domain — but records are leftover M365 verification Mx, not proper `mail.<domain>` names. No Maildirs under `/home/vmail/` for either domain.
## Action items
1. doctorfin.co.uk + pilates-edinburgh.co.uk (priority)
2. kaburu.co / kaburu.co.uk / 24hrresponse.com (cleanup)
3. No-MX subdomains (ignore)
## Re-run command
```bash ssh -i /opt/hermes/config/hetzner_id_ed25519 [email protected] \
'for d in DOMAIN_LIST; do echo "=== $d ==="; dig +short MX $d; dig +short TXT $d | grep -i spf; done'
```