The situation
The governing body publishes a live public data API — results, rankings and event data, consumed by its own websites and by third parties. It had grown up open: no keys, no record of who was calling it, no way to distinguish a partner integration from a scraper, and no lever to pull when traffic misbehaved short of blocking addresses outright. The application serving it was a recently migrated legacy system, stable but earmarked for eventual replacement — the worst possible place to start bolting in an authentication framework.
Why the existing approach was limiting
An anonymous API is an unmanageable one. The organisation could not see its consumers, so it could not talk to them, protect them from each other, or build commercial data products on usage it could not measure. Every hardening option that involved modifying the legacy application carried the same problem: real risk to a stable production service, spent on code already scheduled to be replaced. The investment had to outlive the application it protected.
Signal North's role
Signal North designed and delivered the entire authentication and metering layer in front of the API rather than inside it: a validation function at the content delivery network's edge, a serverless key store and management API, and usage analytics built from the edge layer's own logs. All of it was defined as version-controlled infrastructure code alongside the rest of the estate, and all of it was in place with the origin application untouched.
Key decisions and intervention
- authenticate at the edge: a lightweight function attached to the CDN validates every request's API key before the request travels to the origin, so the legacy application needed no changes and the check cannot be bypassed by going around it;
- hold keys in a serverless data store with point-in-time recovery and deletion protection, so operator error cannot destroy the key estate;
- manage keys through a small administrative API secured by the organisation's identity platform with signed tokens — no shared admin secrets;
- meter usage from logs the edge layer already produces, aggregated across every region the CDN executes in, so per-key reporting required no new data pipeline — then denormalise the one hot field so the daily report stays a single cheap indexed query;
- absorb abuse before it costs compute: repeated invalid-key attempts are rate-limited at the web application firewall, in front of everything;
- respect how browsers actually behave: cross-origin preflight requests pass unauthenticated — they carry no credentials by design — while response headers that leaked origin details are stripped at the same layer;
- alarm on the authentication layer itself from day one, so the thing protecting the API is itself observed.
What changed
Every consumer of the API is now identified by a key the organisation issued and can revoke. Traffic is attributable, misbehaviour is rate-limited at the edge rather than argued with at the origin, and usage per consumer is measurable — the foundation any commercial data product needs. The legacy application behind it all served requests throughout, unmodified: when it is eventually replaced, the authentication layer simply stays where it is, pointed at the new origin.
That last property is the point of the design. Authentication, key management and metering are usually the first casualties of a legacy replacement — rebuilt, re-tested and re-broken with everything else. Placed at the edge, as independent, version-controlled infrastructure, they became a permanent asset of the estate instead of a feature of one application. The organisation strengthened its position now without deepening its commitment to the system it intends to retire.
Signal North was the right team for this because it thinks in estates, not applications. The instinct to put the fix where the code is would have been slower, riskier and disposable; putting it at the boundary made it safe, immediate and durable. That judgement — knowing which layer of an estate a capability belongs to, and building it so the next architectural decision stays open — is precisely what Signal North brings to organisations running critical services on systems they inherited.