Zum Inhalt springen

Diese Seite gibt es noch nicht in Ihrer Sprache. Sie lesen den englischen Text.

Blog

The profile clock and the exit address disagree: what is compared first

You bought a German proxy, and the clock inside the profile still reads Moscow. A platform gets both values on the very first page: the address sits in the request header, the zone name comes back from the first script. It then runs the move backwards, from the clock to a country, and that country has to match the country of the address.

Das ARMANOS-Team7 min

What a platform reads first

The address arrives ahead of any script: it sits in every request, or the answer never reaches you. Nobody asks your permission for it, and it cannot be switched off.

The clock follows: the zone name comes from the browser itself, with no prompt and no delay. A platform then compares countries rather than times.

  1. 1

    Reads the address

    It sits in the request header, before the first line of the page.

  2. 2

    Asks for the clock

    A zone name such as Europe/Berlin goes to any page that asks.

  3. 3

    Runs the move backwards

    Zone to country, language to country, both against the address.

One zone names exactly one country

A zone is not the time on the clock, it is a name such as Europe/Berlin or Europe/Moscow. Every name belongs to a country, and the move backwards from it is unambiguous.

Across 114 countries there are 114 distinct zones and the same number of distinct language stacks. So the zone and the stack each name your country on their own, without your address.

What every country carriesHow many
Countries with a ready clock and language pair114
Distinct zones among them114
Distinct language stacks114
Stacks that keep English at the tail109
Countries holding more than one zone7

A German address with Moscow hours

Take a German address and a profile carrying Europe/Moscow. A platform gets two countries out of one visit and picks which of them to believe.

No real machine answers that way: a person in Berlin keeps Berlin hours rather than Moscow ones. The gap shows without a single extra request.

What a platform readsWhere it leads
Exit addressGermany
Clock on the profileEurope/Moscow
Country behind that clockRussia
Languages on the profileru-RU, ru, en
Languages a German address carriesde-DE, de, en

Your languages name the same country

A platform reads the language list with the same move it uses on the clock. The first tag in it carries the region: de-DE is Germany, ru-RU is Russia.

Stacks come in different lengths: 10 countries carry two languages, 85 carry three, 19 carry four. English is in all 114, and it sits at the tail in 109: in the other five a local language follows it.

Where your profile gets its clock

Your profile asks for the country of its own address, and it asks through the same proxy it will use afterwards. The answer comes over a secure connection, from four independent sources in turn.

Otherwise whoever runs the proxy could name any country and hand your profile a clock that argues with its own address. An answer sent in the clear is rewritten by anyone on the path; a secure one is not.

  1. 1

    Through your own proxy

    The question goes the road the profile will take, not around it.

  2. 2

    Over a secure connection only

    Otherwise the country is swapped by anyone standing on the path.

  3. 3

    Four sources instead of one

    One refusal does not decide what clock your profile ends up with.

The engine sets the clock

On ARMANOS Browser the clock comes from the browser itself, which is why the zone name and the offset from UTC come from one place. On the built-in engine a script over the page sets them: one place as well, but a different layer.

A platform often asks both ways at once. A browser whose two answers disagree gives the swap away faster than the zone itself ever would.

Seven countries with several zones

Most countries in the set carry one zone, and the profile gets exactly that. Eight countries are written out separately, and seven of them hold several zones: the United States and Canada four each, Australia four, Brazil, Mexico and Russia three, Indonesia two.

For those countries the zone falls to a profile by lot from its own seed. So two profiles on one American address usually show different clocks, and that works for you: identical clocks across five profiles would say more.

A language arrives paired with a region

A country's language stack opens with an exact pair: German of Germany for Germany, Russian of Russia for Russia. Then comes the plain language, and English closes the row.

The pair with a region matters more than the language itself. Austrian German on a German address is no mistake, while German of Germany next to a Brazilian address is already a mismatch.

A profile does not know your city

The clock comes from the country rather than the city of exit. If your address is in Denver and the profile drew the New York zone, a platform sees a two hour gap inside one country.

That happens to living people too: someone flies across the country with a laptop and the clock stays at home. But when it repeats across five of your profiles in a row, the picture reads differently.

Why the set of countries is what it is

The set holds a hundred and fourteen countries, each with a ready pair: a zone and a language stack. These are the countries sellers most often hand addresses from.

A country outside the set is not left without a clock: the zone and the language fall to the profile by lot from its seed. They are then under no obligation to match the country of the address, and the app does not warn about it.

So an address from a rare country is worth checking on the very first page: the clock and the language will tell more about the profile than the address does.

What to look at after changing a proxy

Rotating the address on a proxy does not change the exit country while the proxy stays the same. Moving a profile onto a proxy in another country changes everything at once: the clock and the language both.

After such a move, open the profile and check three things side by side: the address, the clock and the first language. A mismatch shows at a glance, and it is fixed before the first sign-in rather than after.

How to check this yourself

Open a profile and read four values in a row: the address, the zone name, the offset from UTC and the language list. Reduce them to one country.

If the countries part ways, a platform sees exactly the same thing. If they agree, this pair of signals makes you look like an ordinary machine at home.

What this does not claim

  • It does not claim that every platform runs this comparison. Some match country to address on the first visit, some never look, and none of them publish their rules.
  • The clock follows the country of the address rather than its city. A Los Angeles address with New York hours is still one country, and a check by country will not see that gap.
  • A country outside the set of 114 does not reach the profile's clock: the zone and the language fall to it by lot from its own seed. The launch warning covers a different case, when the country could not be worked out at all, and about this one the app stays quiet.
  • No browser fixes behaviour. Identical texts, one payment card and one daily rhythm link accounts regardless of clock and address.

Where you can see this yourself

Every number above comes out of code you can open and run.

The zone and language stack of each of the 114 countries sit on one line
packages/shared/src/index.js · apps/desktop/test/fingerprint-consistency.js
The profile card shows the same clock the platform will get
apps/desktop/test/fingerprint-card-matches.js
The exit country is asked through your own proxy and over a secure connection only
apps/desktop/src/lib/exitGeo.js · apps/desktop/test/exit-geo.js
The profile clock is read in a real browser along with the other readings
apps/desktop/test/audit-on-builtin.js
After a rotation the old country is dropped and the clock comes from the new one
apps/desktop/src/lib/proxyRotate.js · apps/desktop/test/ротация-адреса-исполняется.js
The clock change sits in a patch the engine build actually applies
engine/patches/armanos-fp.cumulative.diff · apps/desktop/test/engine-patches-real.js

Questions

How quickly does a platform notice this?
Both values arrive in one visit, so they can be compared on the very first page. Nothing about your behaviour or the age of the account is needed for it.
The proxy is German and I want to keep my own clock. Can I?
What you set by hand is never rewritten: you know what you are after. But at that moment you are naming two countries at once, and the platform picks.
If I set the clock by hand, does the language follow?
Yes, when the address has not already fixed the country. A zone chosen by hand pulls the languages of its country, and a language chosen by hand pulls the clock the same way.
My proxy is American and the clocks differ across profiles. Is that wrong?
No. Seven countries hold more than one zone, so profiles on an American address get different American hours. The country stays the same for all of them.
The clock answers Europe/Kiev instead of Europe/Kyiv. Is that a fake?
No, that is the canonical zone name. Ordinary Chrome answers the same way, and Asia/Kolkata turns into Asia/Calcutta there too.
The address rotates before launch. Does the clock follow it?
Yes. The country remembered earlier is dropped when the address changes, and the profile takes its clock and language from the new address instead.

See what your own browser answers

The check reads 12 values right in your browser and sends nothing anywhere.