SPF
Declares which servers may send as you. Published, then validated against every real sending source — your mail host, your site, your accounting software.
v=spf1 include:_spf.mail.co ~all
Security & compliance
None of what follows will win a design award. All of it is the difference between a business asset and a liability. It is on every build we ship, including the entry plan, because a small business is not a small target — it is an easier one.
The threat, and the answer
| Risk | What it looks like in practice | What we do about it |
|---|---|---|
| Email spoofing | Anyone can send mail that looks like it came from you | SPF, DKIM and a DMARC policy taken all the way to enforcement |
| Login discovery | Bots find /wp-admin within hours of a domain going live | Login moved to a private URL, plus lockout after failed attempts |
| Credential reuse | One leaked password opens every site you own | Unique admin username and password per site, 2FA required |
| Malicious uploads | A contact form becomes a file drop for a web shell | Server-side type checks and malware screening before write |
| Silent breakage | A plugin update takes the site down on a Friday night | Staging copy, tested updates, daily restorable backups |
| Data exposure | Backup archives and staff pages get indexed by Google | noindex on internal pages, nothing sensitive in the web root |
| Transport | Forms posting over plain HTTP | HTTPS forced, HSTS, modern TLS, security headers |
| Regulatory | Personal data held without a lawful basis or notice | Privacy policy, consent, retention and a documented data map |
Email authentication
Without them your quotes land in spam, and anyone in the world can send an invoice that appears to come from your domain. We publish and verify all three, then walk DMARC from monitoring to enforcement so nothing legitimate breaks on the way.
Declares which servers may send as you. Published, then validated against every real sending source — your mail host, your site, your accounting software.
v=spf1 include:_spf.mail.co ~all
Cryptographically signs every message so a receiving server can prove it was not altered and did come from you. Keys generated per sending source.
selector._domainkey v=DKIM1; k=rsa; p=MIIBIj…
Tells the world what to do with mail that fails. We start at p=none and read the reports for two weeks, then move to quarantine and reject.
_dmarc v=DMARC1; p=none; rua=mailto:dmarc@yourdomain
Why the slow path matters. Publishing p=reject on day one is how businesses silently lose a fortnight of invoices. We monitor first, fix what the reports expose, and only then enforce.
Everything else on the checklist
Your jurisdiction
Every site we build in the United Kingdom ships with a privacy policy and terms written for UK GDPR and the Data Protection Act 2018, cookie consent that defaults to the private option, and a documented map of what personal data the site collects, why, and how long it is kept.
Send us the domain. We will tell you, free, whether your SPF, DKIM and DMARC are right, whether your login is exposed, and whether Google can actually see your pages.