How do you detect a timezone/IP mismatch?
Compare the browser timezone returned by `Intl.DateTimeFormat`, the primary language region, and Cloudflare edge IP country. A mismatch appears when those signals point to different regions.
Why does this matter for Playwright?
Playwright can set `locale`, `timezoneId`, and geolocation independently. If the network path is in a different country, region-sensitive tests may pass locally but fail in production-like traffic.
What should be fixed first?
Fix the network route and timezone first, then align locale and geolocation. Browser-level language settings are less useful if the edge country and timezone already contradict each other.
Limitations
Multi-country timezones, travel scenarios, corporate networks, and VPN exits can be legitimate. Use the mismatch as a QA review trigger, not as a user classification decision.