# Match browser timezone to proxy exits, automatically

> No need to match browser timezone to proxy by hand: Mosaic sets each profile's timezone, language and location from the measured exit, before every launch.

Source: https://mosaicbrowser.com/features/exit-matching

## Match browser timezone to proxy exits, automatically

No need to match browser timezone to proxy by hand: Mosaic sets each profile's timezone, language and location from the measured exit, before every launch.

Mosaic is a desktop app

Email yourself the link and open it on your computer.

![Creating a profile in Mosaic: a checked proxy, and the hardware and locale drawn to match its exit](https://mosaicbrowser.com/shots/profile-editor.png)
*A new profile matched to its proxy’s exit in Berlin: timezone, languages and geolocation set from there.*

You do not have to match browser timezone to proxy by hand. Mosaic matches a profile's timezone, language and geolocation to the address its proxy actually exits from. It measures the exit through the proxy itself, draws the locale for that place when the profile is created, and checks it again before every launch, because residential exits move.

## Why match browser timezone to proxy at all

It is the first comparison a consistency scanner makes: where your IP is, against what time your browser thinks it is. A Berlin exit with `America/New_York` in `Intl.DateTimeFormat().resolvedOptions().timeZone` fails that before anything subtler is read.

## Measured through the proxy, not read off its label

A proxy's label says what the seller sold you. The exit is what a site sees, so that is what Mosaic looks up: the check goes out through the proxy, and the address it comes back from decides the country, the timezone and the coordinates. A rotating gateway hands out a different exit per connection, so at launch Mosaic uses the exit its own pre-launch check just measured on the exact credentials the browser is about to use, rather than measuring a second time and matching the profile to an address nobody is browsing from.

When you create profiles with a proxy, the exit is measured before the identity is generated, and the lookup is cached per exit for five minutes, so a batch of 500 on one gateway costs one request. Every create call over the API says whether it worked, in an `exitMatch` field: `matched: true` when a measured exit decided the locale, or `matched: false` with the reason. Before that field existed, the same European gateway produced `America/New_York` on one call and `America/Chicago` on the next, and the two answers looked identical from outside.

![A profile fingerprint in Mosaic: GPU, screen, fonts, timezone and language matched to the exit](https://mosaicbrowser.com/shots/fingerprint-detail.png)
*The editor names the place the profile was matched to, with the exit's flag, city and country.*

Mosaic is a desktop app

Email yourself the link and open it on your computer.

[How it works: Matched to the exit](https://mosaicbrowser.com/features/exit-matching)

## Before every launch

Exits move. A sticky session expires, a pool rotates, a provider moves a subnet, and a profile that agreed with Frankfurt last week now leaves from Dallas. So "Match the identity to the proxy exit at every launch" is on by default for every profile (it is on the editor's Privacy tab), and the exit is resolved again before the browser starts.

Not everything moves with it, and the split is deliberate:

- Timezone and geolocation always follow the exit. A logged-in site reads whatever the browser reports now, so changing them costs nothing.
- Language follows only on a profile that has never run and has no cookies. `Accept-Language` goes out on every request, and a session that has spoken `de-AT` to a site for a month and suddenly switches to `en-US` has told that site something true about itself. For a profile with history the language is left alone and the mismatch is reported, so you decide.
- The rest of the fingerprint never moves. Canvas, screen and GPU stay as they were, because redrawing them would replace the profile with a different machine that happens to share its name.

If the editor sees an exit in one timezone and a profile in another, it says so in a "Timezone mismatch" banner, and tells you whether it will be fixed at the next start or why it will not.

## When the lookup fails

A launch is never blocked on a geolocation service. If the exit cannot be resolved, the profile is left exactly as it was and the browser log says so; Mosaic does not invent a country to fill the gap. (A proxy that does not answer at all is a different matter: then the profile does not open, as [checking a proxy before you use it](https://mosaicbrowser.com/guides/how-to-check-a-proxy-before-you-use-it) explains.)

## Profiles with no proxy

A profile without a proxy browses from your own address, so it is matched to your computer's own location. We got this wrong once. The lookup ran once at app start, and when it failed nothing retried, so no-proxy profiles were drawn from a table weighted by country share, which leans American: a machine in Austria made profiles claiming New York. Now the lookup is resolved where it is used and retried on its own interval, and when the answer is genuinely unknown the fallback is your machine's own timezone, never a table.

## Where to go from here

Matching only works if each profile has its own exit to match. [Provider accounts](https://mosaicbrowser.com/features/proxy-providers) mint a separate session per profile from one gateway line, and [machines that exist](https://mosaicbrowser.com/features/real-fingerprints) covers the hardware half that stays put. The timezone itself is set inside [the engine](https://mosaicbrowser.com/features/engine), in C++, so a worker reads the same zone as the page.

## Questions

### Do I need to set a profile's timezone myself?

No. Mosaic measures the proxy's exit and sets the timezone, language and geolocation from it. You can still pass a country yourself over the API, and then yours wins.

### What happens if the proxy's exit moves to another city?

Before each launch the exit is measured again. Timezone and geolocation follow it; the language moves only on a profile that has never run and has no cookies, and the rest of the fingerprint stays put.

### What does a profile without a proxy get?

It browses from your own address, so it is matched to your computer's own location. If that lookup fails, it falls back to the machine's own timezone, never to a table of popular countries.

## The smaller things it does

### Geolocation that answers twice

The spoofed position answers every call, not only the first. A browser that replies once and then goes silent is easier to spot than one that never replies.

## Works with

### A profile does not open until its proxy has answered

No profile opens behind a proxy that has not answered.

### Paste one gateway line. Every profile mints its own exit.

One gateway line, a separate exit for every profile.

### Every profile is drawn from one real computer, not from separate lists

GPU, screen, CPU and fonts from one real device.

[All 29 features](https://mosaicbrowser.com/features)

## Matched to the exit is in every plan

Free holds 3 profiles and 10 profile creations, with the same engine as Pro. Pro is $49 a month for any number.

Mosaic is a desktop app

Email yourself the link and open it on your computer.
