# Твои часы — это твоё лицо: отпечаток локали и часового пояса

> Ты можешь выходить через безупречный узел Tor и всё равно быть привязанным к региону своими часами. Часовой пояс, язык, порядок даты и формат чисел — это тихий региональный отпечаток, который почти никто не догадывается скрывать, и худшее не в том, что ты его выдаёшь, а в том, что выдаёшь тот, который противоречит твоему IP. Чистый выход с шанхайскими часами кричит громче, чем полное отсутствие VPN.

Markdown twin of https://xmr.club/ru/opsec/06-locale-timezone-fingerprinting. CC-BY-4.0. Attribute "xmr.club".

## At a glance

- Canonical: https://xmr.club/ru/opsec/06-locale-timezone-fingerprinting
- Series: #OPSEC52 — weekly threat-model-first OPSEC cards
- Week: 06
- Pillar: Digital identity compartmentalization
- Difficulty: intermediate
- Cost: $0
- Language: ru
- Published: 2026-07-01

## Body

# OPSEC52 / Неделя 6 — Отпечаток локали и часового пояса

> Ты можешь выходить через безупречный узел Tor и всё равно быть привязанным к региону своими часами. Часовой пояс, язык, порядок даты и формат чисел — это тихий региональный отпечаток, который почти никто не догадывается скрывать, и худшее не в том, что ты его выдаёшь, а в том, что выдаёшь тот, который противоречит твоему IP. Чистый выход с шанхайскими часами кричит громче, чем полное отсутствие VPN.

**Модель угроз:** языковые сигналы браузера и ОС (часовой пояс, язык, формат даты/чисел, валюта), которые геолоцируют тебя независимо от IP; метки времени в файлах, коммитах и письмах, несущие твоё реальное смещение UTC; несоответствие между сетевым местоположением и локалью машины, помечающее тебя как уклоняющегося; и платформы, которые молча используют твой часовой пояс для идентификации или сегментации без всякого уведомления.

[На прошлой неделе](/opsec/05-browser-compartmentalization) мы рассматривали браузер как движок корреляции и разделили его на профили. Одним из четырёх механизмов, снова склеивающих твои отсеки, была снятие отпечатка — и его самые тихие входные данные это не canvas и не шрифты. Это твои **часы и языковые настройки**. Ты тратишься на VPN, поднимаешь Tor, получаешь чистый выход в другой стране — а потом твоя машина радостно объявляет `Asia/Shanghai`, `zh-CN` и формат даты `2026/07/01` каждой загружаемой странице. Сеть говорит одно; локаль говорит другое. Это противоречие и есть сигнал.

## Почему твои часы и язык — региональный отпечаток

Четыре языковых сигнала выдают твой регион без единой cookie:

1. **Часовой пояс.** `Intl.DateTimeFormat().resolvedOptions().timeZone` возвращает твою точную зону IANA (`Asia/Shanghai`, `Europe/Moscow`), а `new Date().getTimezoneOffset()` даёт сырое смещение. Без запроса разрешения, без IP.
2. **Язык.** `navigator.language`, полный список `navigator.languages` и заголовок `Accept-Language`, отправляемый с **каждым** запросом, ранжируют твои предпочитаемые локали — часто вплоть до регионального варианта.
3. **Формат даты и чисел.** `2026-07-01` против `01/07/2026` против `2026/07/01`, десятичная запятая против точки, 24-часовой формат против 12-часового, первый день недели — каждое сужает круг.
4. **Валюта и единицы.** Валюта по умолчанию, метрическая система против имперской, размер бумаги (`A4` против `Letter`) тихо кодируют, где тебя настраивали.

По отдельности они слабы. В сочетании с сетевым местоположением, которое им *противоречит*, они сильны — потому что теперь ты не просто «кто-то из региона X», а «кто-то, активно скрывающий регион Y», а это куда меньшее и куда более интересное множество.

## Метки времени, о которых все забывают

Браузер — очевидная поверхность. Коварная — это **всё, что ты создаёшь офлайн**, что впечатывает твоё реальное смещение UTC в файлы, которые ты потом отдаёшь незнакомцам:

- **Коммиты Git.** Каждый коммит записывает дату автора *вместе с твоим смещением часового пояса* (`+0800`). Псевдонимный репозиторий с постоянным `+0800` на 400 коммитах уже рассказал, где автор спит.
- **Фото (EXIF).** Метка времени камеры, смещение и часто GPS. Вычищай до того, как что-либо покинет твою машину.
- **Документы Office и PDF.** Время создания/изменения и часовой пояс автора встроены в метаданные файла.
- **Заголовки `Date:` в письмах.** Твой почтовый клиент пишет твоё смещение в каждое сообщение.
- **Времена изменения файлов** в любом архиве (`.zip`, `.tar`), которым ты делишься.
- **Скриншоты** — часы в строке состояния, формат даты в углу.

Ты разделил на отсеки свою личность, почту и браузер — а потом слил часовой пояс в подписи коммита.

## Несоответствие и есть улика

Ментальную модель нужно исправить так: **твоя цель не спрятать часовой пояс, а сделать так, чтобы он совпадал с твоей легендой.** Пользователь Tor, чей браузер сообщает `UTC`, выглядит как любой другой пользователь Tor. «Приватная» конфигурация, выходящая через Швецию, но сообщающая `Asia/Shanghai` и `zh-CN`, создала противоречие, существующее ровно по одной причине. Согласованность побеждает сокрытие.

## Это не гипотетика: часовой пояс как ключ таргетинга

Если хочешь доказательство, что платформы активно на это опираются, оно уже поставляется. Текущий CLI Claude Code (`claude.exe`, v2.1.159) содержит — проверяемо в установленном бинарнике — небольшую процедуру, которая запускается, когда сессия подключается через сторонний эндпоинт (задан `ANTHROPIC_BASE_URL`). Она читает часовой пояс твоей системы, ставит внутренний флаг `cnTZ`, если это `Asia/Shanghai` или `Asia/Urumqi`, сверяет имя хоста твоего прокси со скрытым (XOR + base64) списком китайских корпоративных доменов и известных зеркал-реселлеров Claude, а затем **стеганографически кодирует эти биты в символ апострофа** строки `Today's date is …`, внедряемой в системный промпт — выбирая между четырьмя визуально одинаковыми глифами (`'`, `'`, `ʼ`, `ʹ`). Для сессий в китайском часовом поясе она ещё и переписывает дату с `2026-07-01` на `2026/07/01`.

Истолкуй мотив великодушно — домены-реселлеры намекают на детект злоупотреблений, нацеленный на несанкционированные прокси Claude, а не на слежку за обычными пользователями. Для нас это неважно. Механизм — вот урок: **твой часовой пояс был триггером.** Одной невзрачной настройки, которую почти никто не скрывает, хватило, чтобы сегментировать тебя незаметно и без всякого уведомления. Это и есть весь тезис недели, продемонстрированный поставляемым продуктом.

## Решение

- **Поставь системные часы на UTC** на машинах для анонимной работы и дай браузеру их унаследовать. Tor Browser уже сообщает `UTC`; не откатывай это.
- **Используй браузер со стандартизированной локалью.** Tor Browser и Mullvad Browser нормализуют `navigator.language` до `en-US` и подменяют часовой пояс, чтобы тысячи пользователей выглядели одинаково. Не «чини» это, выставляя свою реальную локаль.
- **Пусть сеть и локаль совпадают.** Если твоя легенда — выход через Швецию, твой часовой пояс и язык не должны кричать «Шанхай». Совпадай с легендой или уйди в полный нейтралитет (`UTC` / `en-US`).
- **Почини git до коммита.** `git config user.email` ты уже знаешь; нейтрализуй и время: коммить через `TZ=UTC git commit` или настрой хуки `git config --global` для нормализации дат автора/коммитера. Проверь существующие репозитории через `git log --format='%ai'`.
- **Вычищай метаданные перед отправкой.** `exiftool -all= file.jpg`, `mat2` для документов и переупаковывай архивы, созданные под часами в UTC.
- **Следи за заголовком `Accept-Language`**, а не только за JS. Он уходит с каждым запросом; стандартизированные браузеры его обрабатывают, «усиленный» Chrome — нет.

## Упражнения недели

- [ ] Поставь системные часы на **UTC** на своей машине анонимного уровня (или проверь, что Tor/Mullvad Browser сообщает `UTC` на странице теста отпечатка).
- [ ] Проверь `navigator.language` / `Accept-Language` в своём анонимном профиле — там должно быть `en-US`, а не твоя региональная локаль.
- [ ] Запусти `git log --format='%ai'` в любом псевдонимном репозитории и посмотри, какое смещение часового пояса ты транслировал; перейди на `TZ=UTC` для будущих коммитов.
- [ ] Добавь **очистку метаданных** (`exiftool`, `mat2`) в свою рутину для любого файла — изображения, документа, архива — покидающего твою машину.
- [ ] Проверь на **несоответствие**: противоречит ли регион твоего VPN/Tor-выхода твоим часам, языку и формату даты? Пусть совпадают или будут нейтральны.

На следующей неделе мы переходим к слою **учётных записей и паролей**, где менеджер паролей превращает всю эту разбивку на отсеки в то, с чем реально можно жить. А пока: поставь часы на UTC и перестань позволять своей локали озвучивать твоё местоположение.

*Курировано [Cyber Satoshi](https://x.com/xbtoshi)*

## Related

- HTML: https://xmr.club/ru/opsec/06-locale-timezone-fingerprinting
- Series index: https://xmr.club/ru/opsec
- Twin index: https://xmr.club/ru/llm/opsec.txt
