Country-based access control is only as good as the location data behind it, and IP geolocation alone is a thin signal. It can be wrong, and it’s the only one most systems bother collecting. So we split location out into its own standalone service, decoupled from the proxy, with one job: “who was where, when, according to whom.”
The write side is open to multiple sources. The proxy submits a record after every request’s IP geolocation, tagged source: proxy-geoip. Nothing stops other systems, like an HR feed, a travel or security desk, or a badge system, from submitting their own records with their own source tag. Records are never overwritten, only appended, which makes the write log itself an audit trail.
The read side, the one on the proxy’s hot path, is simple by design: return the record with the most recent timestamp across every source. Recency wins regardless of which source reported it. A full history endpoint exists separately for investigation, but it’s not in the request path. The hot-path read is a single cached lookup.
Because the Location Service has no knowledge of Bitbucket, SonarQube, or policy rules, it’s reusable anywhere else in the landscape that needs to know where someone is right now, not just behind this proxy.




