Skip to content

Case study · B2B services

B2B services company, Europe.

A customer's corporate DNS filter was rejecting our client's domain, and the client wanted to keep working smoothly as that customer's supplier. The site was not compromised and not blacklisted, and the client chose to bring it up to the security level its corporate customers expect. Polargate diagnosed it in a week, migrated the CMS to hosting the client controls and hardened it there.

A laptop on a meeting room table at night shows a website security report with a grade and a list of headers, a ticked checklist beside it

At a glance

Client
B2B services company, Europe
Sector
B2B services
Year
2026
Services
BuildCare

01 · B2B services company, Europe

The challenge.

A commercial block set it off. A customer's corporate DNS filter was rejecting our client's domain, and the client wanted to keep working smoothly as that customer's supplier. Nothing was infected: the diagnosis found no compromise and no blacklist entry. What tripped the automatic classification of low security posture was configuration. The fixes were outside the scope of the original hosting service, so the client moved to a new provider, and our starting access was the CMS admin panel.

For example: 2 languages live on the site, Spanish and English. Global Dynamic Security Group

02 · B2B services company, Europe

What we built.

One week of diagnosis with public reference scanners: SSL analysis, HTTP header scan, domain reputation, safe browsing and multi-engine antivirus. Then three phases. Migration of the CMS to hosting under the client's control, with functional verification and a pass over URLs and permalinks. Hardening: the six missing headers plus a strict Referrer-Policy, a Permissions-Policy with the sensitive APIs disabled and a server header without a version, along with CMS-level work (login path moved, common paths and files hidden, brute force protection, an application firewall with automatic IP blocking, XML-RPC and discovery endpoints off). Then reputation cleanup. The DNS cutover lowered the TTL 24 to 48 hours ahead and left the mail records untouched.

A monitor in a dark server room showing a security hardening report: an A+ grade, eight passed controls, the HTTP headers and the DNS records, with a hand on the keyboard.
Recreated scene

For example: 11 modules delivered in Phase 1. Elite Smart Build

03 · B2B services company, Europe

The result.

Headers went from F at the initial diagnosis to A+ after hardening, on a forced no-cache scan with no warnings. That reading was taken on the migration host in 2026, before the live domain was cut over, and we hold no record of a re-scan of the live domain afterwards, so we do not present it as a production grade. After the cutover we audited 24 pages, 12 per language, link by link, and completed the URL replacement wherever the first automated pass had left references behind. Closed in four days from award, with a delivery report and a 30-day technical warranty.

standard security headers missing before the work
6
pages audited link by link after the DNS cutover, 12 per language
24
days from award to technical close
4

For example: 100 / 100 / 100 Lighthouse mobile: accessibility, best practices, SEO. KD.tech

04 · B2B services company, Europe

How we did it.

For example: 536/536 translation keys present in each of the three languages. Estepona Golf

What triggered it

A commercial block. A customer's corporate DNS filter was rejecting our client's domain, and a supplier whose website a customer's network refuses to resolve has a business problem, not an IT one.

The brief we were given was "our site looks hacked to them". It was not.

The diagnosis, in a week

We delivered a technical report on security, SSL and reputation, built on public reference scanners: SSL analysis, HTTP header scan, domain reputation, safe browsing and multi-engine antivirus. Anyone can re-run all of them, which is the point.

The conclusion was clear. The site was not compromised and it was not on any blacklist. This was a hardening and configuration problem, not an infection.

TLS was already in good shape before we started: valid certificate, TLS 1.3 active, no weak ciphers, valid chain, forward secrecy. SSL graded A at the initial diagnosis, before we touched anything. Three other things were driving the automatic "low security posture" classification that corporate filters act on:

  • No HTTP security headers at all. Header grade: F.
  • An expired, non-matching backup certificate exposed by the shared hosting.
  • Visible server fingerprints: interpreter version, control panel signature and technology header.

The constraint that decided the architecture

The only access available was the CMS admin panel. No hosting access means server-level hardening is not applicable on the original infrastructure, so migrating was the only route.

The other option was rebuilding the site in code: an estimated three to six weeks, with the domain still blocked for all of them. The migration was reversible and unblocked sooner. The static rebuild stayed on the shelf as a deferred phase.

What changed, exactly

The work ran in three phases: migration with functional verification and a pass over URLs and permalinks, security and configuration hardening, and reputation cleanup.

Headers actually served after hardening

HSTS with includeSubdomains, a Content-Security-Policy, the legacy XSS protection header, nosniff, X-Frame-Options set to SAMEORIGIN, a strict Referrer-Policy, a Permissions-Policy with the full list of sensitive APIs disabled, and a server header with no version in it.

The CMS layer

Internal paths remapped, common paths and files hidden, the login path moved with a custodied emergency URL, brute force protection, an application firewall that blocks IPs automatically, XML-RPC disabled, discovery endpoints switched off and theme detectors blocked. AI crawlers were left allowed on purpose, because search visibility was part of the job.

What we claim and what we do not

We claim only what we did and measured. No CVE list or vulnerability count was recorded, so we publish no number of vulnerabilities closed.

The DNS cutover

TTL lowered 24 to 48 hours ahead, A record changed, and the mail records (MX, SPF, DKIM and DMARC) left untouched, so corporate mail on the domain never stopped.

How it was measured, and what that measurement is worth

Before: headers F, SSL A. After hardening: A+ on headers, from a scan forced without cache and returning no warnings.

That A+ was read on the migration host, in 2026, before the live domain was cut over. We have no record of a re-scan of the live domain after the cutover, so we do not present A+ as a production result.

This applies to any site. A header grade is a dated photograph of one host, not a property the site owns from then on. A new embed, a new plugin, a provider default and the grade moves. If you want to know what a site scores today, scan it today.

After the DNS change we audited 24 pages, 12 in each language, link by link. That pass caught and fixed every reference to the staging environment the first automated replacement had left behind: in the global footer, in the page builder CTAs, in the consent links inside forms, in several PDFs, in legal texts and in a theme icon font.

The reusable lesson: a mass replacement can run in dry-run mode and be assumed done. A change is not done until a real request against the live site proves it.

Close, and what we do not claim

The project closed with a delivery report as a PDF, the technical work complete, a clean link audit and a 30-day technical warranty. Four days from award to technical close.

What we do not claim: lifting the DNS block is the customer's decision, and the reputation review requests filed at the end were still with the reviewers at close.

The method, in order

This order works for the next site too. Measure with public tools anyone can re-run. Fix the configuration rather than the story. Measure again, naming the host and the date of the scan. Then audit against the live site instead of against the plan.

FAQ

Questions about this project.

Can you fix a website that a corporate DNS filter is blocking?
Usually the block is about security posture, not infection. In this case the public scanners found no compromise and no blacklist entry: TLS was already sound, but the site served no security headers, the shared hosting exposed an expired backup certificate and the server advertised its versions. Those are configuration problems, and they are what an automatic classifier reads. Where our part ends: we can fix and evidence the posture, and lifting a block is always the third party's decision.
Is an A+ security headers grade permanent?
No. A grade is a dated reading of one host at one moment, and that is how we publish it. The A+ in this case was measured on the migration host in 2026, on a forced no-cache scan, before the live domain was cut over. We hold no record of a re-scan of the live domain afterwards, so we do not present it as a production result. Grades also move on their own: a new embed, a new plugin or a provider default can change what the site serves. If a grade matters to your buyers, it needs re-measuring on a schedule.
Do you need access to our hosting to harden our site?
To harden it where it lives, yes. Headers, TLS behaviour and server fingerprints are configured at the server, not in the CMS. In this project the starting access was the CMS admin panel and the fixes were outside the scope of the original hosting service, so the client moved the site to hosting it controls. We chose migration over a rebuild because it was reversible and got the fixes live sooner: a rebuild was an estimated three to six weeks.

For example: 4 days from diagnosis to the new backend running. Concert Music Festival

Next project

Elite Smart Build.

Construction and hotel refurbishment

A custom operating system for Elite Smart Build

For example: 16 indexable URLs, Spanish and English. Hotel Talavera

Get started

Tell us what you want to build.

Websites, apps, custom systems and AI for companies that need them in production in weeks. Fill in the form or book a 30 minute call: a senior engineer answers within 48 business hours with a first take on scope, timeline and price.

What do you need?
Budget
When

At least ten characters.

Answer in writing within 48 business hours. No newsletter, no automatic sequence.

Rather answer the full brief?

First step

Discovery Sprint

Two weeks to close scope, architecture and price before anything is built.

No price list. You get a private quote, in writing, after a short call.

Then, to build, always at a fixed price

Not ready yet?

AI-native digital studio for mid-market companies

POLARGATE, S.L. · CIF B24895005
Calle Electrónica 6, 28027 Madrid, Spain