Safeguard
Security Guides•

Does the strangler facade need its own security controls?

Yes. The facade in a strangler migration sees every request to old and new code. Here are the controls to put on it and the mistakes to avoid.

Safeguard Security Team
4 min read

Yes. The facade in a strangler fig migration intercepts every request headed to the legacy system and the new services, so it is the highest value component in the design. Give it authentication, authorization checks, rate limits, logging, patching and a tested rollback, like any production edge component.

Why the facade matters

Microsoft's description of the pattern puts a facade, a proxy, between clients and both systems. It routes each request to the legacy application or to a new service, and it shifts more traffic to the new side as migration proceeds. The same guidance warns that the facade must not become a single point of failure or a performance bottleneck.

From a security view, that single point is also a single place to enforce policy. Used well, it is an advantage. Used carelessly, it becomes a trusted hop that hides who the real caller was.

Controls to put on the facade

  1. Authenticate at the edge. Do not rely on the legacy app's session handling alone. If the new services expect tokens and the old app expects cookies, the facade translates, and that translation code needs review.
  2. Pass identity downstream. Forward the verified user identity, not just the facade's own service account. Otherwise every backend sees one caller and audit trails lose meaning.
  3. Apply the same rate limits and request size limits to both routes. Legacy endpoints are often the weakest on input validation.
  4. Log routing decisions. Record which backend served each request, so you can answer "was this handled by old or new code?" during an incident.
  5. Keep route rules in version control and review them. A mistyped rule can expose an internal path or skip a check.
  6. Patch the proxy software on a schedule. It sits on the edge and runs third party code.

Mistakes that show up in practice

MistakeWhy it hurts
Legacy app still reachable directlyAttackers bypass the facade and its controls
Facade trusts forwarded headers from clientsA caller can claim to be any user
Different timeouts for old and new routesSlow legacy calls pile up and cause outages
Route rules edited by hand in productionNo review, no rollback record

The first one is the most common. Once the facade exists, firewall or network rules should allow the legacy application to accept traffic only from the facade. Check this with a test from outside, not by reading the config.

Testing the facade during migration

Each time a route flips from legacy to new, run the same set of authorization tests against both paths. Behavior should match, including error responses. A new service that returns more detail in errors than the old one can leak internals, and one that returns less can break clients in ways that push teams to add exceptions.

Keep a short list of routes still pointing at legacy code. That list is also your remaining exposure map, and it shrinks as the migration moves forward. Pair it with the dependency findings for each legacy module so that the facade team and the app teams share one view.

A note on decommissioning

Azure's guidance ends with removing the facade once the client talks directly to the new system. Before that happens, make sure the controls the facade enforced have moved into the new services or a standard gateway. Otherwise removing it quietly drops a layer of protection.

Safeguard policies and gates can help here by blocking changes to the facade's repository when they introduce known vulnerable dependencies, and its scanning covers both the legacy and new repositories in one inventory. A free scan is at gold.safeguard.sh/scan.

Quick check

Should the legacy app still accept direct traffic?

No. Restrict it to traffic from the facade, and verify that from outside the network.

Who owns the facade?

Name one team. Shared ownership usually means nobody patches it.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.