Source: https://bscan.info/pt/blog/timezone-leak
Language: pt-BR

Qualquer site lê o fuso horário do seu sistema com uma chamada JavaScript. Se ele diverge da saída da sua VPN, você é sinalizado. Teste ao vivo aqui.

# Vazamento de Fuso Horário: Sua VPN Muda o IP, Não o Relógio

Publicado 20 de julho de 2026 · Atualizado 20 de julho de 2026

Você liga a VPN, escolhe um servidor em Amsterdã e carrega uma página. Seu endereço IP aparece como holandês em todos os sites de verificação de IP que você testa. E mesmo assim o checkout adiciona uma etapa extra de verificação, o catálogo do streaming continua errado, ou um login dispara um e-mail de “novo dispositivo”. O que entregou você cabe em uma linha de JavaScript: `Intl.DateTimeFormat().resolvedOptions().timeZone`.

Essa chamada retorna o fuso horário configurado no seu sistema operacional, e a VPN não tem influência nenhuma sobre ele. Seus pacotes agora saem de Amsterdã; seu navegador segue reportando `America/New_York` na maior tranquilidade. O widget nesta página roda a mesma comparação que um script antifraude rodaria: consulta o fuso horário que seu endereço IP indica, lê o fuso horário que seu navegador reporta e verifica se os dois concordam.

**Versão resumida:** um site obtém duas respostas independentes para "onde está este visitante": o fuso horário do endereço IP e o fuso horário do sistema operacional. Uma VPN muda apenas a primeira. Comparar as duas custa uma única linha de código, e falsificar a segunda pela metade é a única jogada que fica pior do que não falsificar nada.

## Duas respostas para uma mesma pergunta

A primeira resposta vem da rede. Um site vê o IP de onde você se conecta e o consulta em um banco de dados de geolocalização: ipinfo.io, MaxMind e os concorrentes retornam um fuso horário junto com a localização. Com a VPN ligada, essa resposta aponta para o servidor de saída: conecte por Amsterdã e o banco de dados dirá `Europe/Amsterdam`. Como esses bancos são construídos, e o quanto podem errar sobre o seu endereço exato, é uma história que contamos em [nosso artigo sobre geolocalização de IP](https://bscan.info/pt/blog/ip-geolocation-accuracy). Mas, na granularidade de fuso horário, eles quase nunca erram.

A segunda resposta vem do seu sistema operacional. O JavaScript consegue ler o offset local em relação ao UTC desde os anos noventa via `new Date().getTimezoneOffset()`, e os navegadores modernos entregam o nome completo da zona IANA pela API `Intl`. Sem pedido de permissão, sem gesto do usuário, sem registro em nenhum painel de privacidade. É tratado como metadado comum, da mesma categoria que o tamanho da sua tela.

Um visitante, duas respostas

O que seus pacotes dizem

IP de saída da VPN `198.51.100.7` banco de dados geo `Europe/Amsterdam`

O que seu navegador diz

Relógio do SO `Intl.DateTimeFormat()` `America/New_York`

![](https://bscan.info/BadIcon.svg)

Divergência

`Europe/Amsterdam` ≠ `America/New_York` — flagrado por uma única comparação de strings, antes de você ter clicado em qualquer coisa.

A resposta da rede sai de uma consulta de geolocalização do IP de onde você se conecta. A resposta do navegador sai do seu sistema operacional. Uma VPN só muda a primeira.

Comparar as duas sai de graça, então todo mundo que tem um motivo faz exatamente isso: pontuação de fraude em pagamentos, controle de região em streaming, filtros de fraude publicitária, sistemas de segurança de contas e as pilhas antibot que já rodam uma dúzia de outras verificações de consistência.

## Por que a VPN não resolve isso

Uma VPN criptografa seu tráfego e troca o endereço IP que os servidores veem. Essa é a descrição completa do cargo. Seu fuso horário nunca atravessa o túnel porque ele simplesmente nunca viaja. Ele mora nas configurações do seu sistema operacional, e o navegador o lê localmente e o reporta a qualquer script que perguntar.

O site não descobre a hora do seu relógio; descobre o identificador da zona. `America/New_York` é uma alegação de localização, com precisão de uma faixa vertical do planeta, que fica exposta à vista de todos, ao lado de `navigator.language` e do cabeçalho `Accept-Language`, que [fazem o mesmo tipo de alegação sobre onde você mora](https://bscan.info/pt/blog/language-leak).

Para ser justo, uma divergência não prova nada sozinha. Tem gente que viaja com um notebook que ainda acha que está em casa, e quem trabalha remoto às vezes mantém o fuso da equipe de propósito. Os sistemas de detecção sabem disso, e é por isso que a divergência alimenta uma pontuação de risco em vez de disparar um banimento. Mas pontuações se acumulam: divergência de fuso horário mais IP de datacenter mais um [vazamento de WebRTC](https://bscan.info/pt/blog/webRTC) deixa de ser ambíguo, e cada sinal faz o próximo pesar mais.

## A armadilha da falsificação pela metade

A correção óbvia é mentir sobre o fuso horário também, e existe uma pilha de extensões oferecendo exatamente isso. A maioria sobrescreve `Intl.DateTimeFormat` para que `resolvedOptions().timeZone` retorne o que você configurar. O problema é que seu navegador anuncia o fuso horário em mais de um lugar:

-   `new Date().getTimezoneOffset()` reporta quantos minutos seu relógio está atrás do UTC, por um caminho de código completamente diferente.
-   `Date.prototype.toString()` escreve a zona por extenso: “GMT-0400 (Eastern Daylight Time)“.
-   Formatar uma data para um dia qualquer do ano expõe suas regras de horário de verão, que fazem parte da identidade da zona.

Um offset fixo não é um fuso horário. Amsterdã é UTC+2 em julho, mas UTC+1 em janeiro, e muda de horário em datas diferentes das de Nova York: a União Europeia ajusta os relógios no último domingo de março, os Estados Unidos duas ou três semanas antes. Um script pode perguntar qual era o seu offset em primeiro de janeiro e em primeiro de julho e conferir se o par bate com a zona que você alega. Uma falsificação que crava um único offset o ano inteiro não corresponde a lugar nenhum que mude os relógios, e certamente não à Amsterdã que ela diz ser.

Deixe escapar qualquer um desses pontos e o navegador começa a discutir consigo mesmo:

Fuso horário do IP (consulta geo) da saída da VPN

`Europe/Amsterdam` ![consistente](https://bscan.info/GoodIcon.svg)

O que Intl.DateTimeFormat() alega direto do SO

`America/New_York` ![inconsistente](https://bscan.info/BadIcon.svg)

Offset do relógio agora via getTimezoneOffset()

`UTC−4` ![inconsistente](https://bscan.info/BadIcon.svg)

![](https://bscan.info/BadIcon.svg)

Divergência

O IP diz Amsterdã, o navegador diz Nova York. Isso é lido como VPN ou proxy.

Offsets mostrados para julho. Corrigir o nome do fuso horário e deixar escapar o offset do relógio produz um navegador que discute consigo mesmo, e essa contradição é um sinal mais forte do que a VPN jamais foi.

Essa armadilha tem uma segunda camada. Um `Intl.DateTimeFormat` sobrescrito deixa de parecer nativo quando um script inspeciona seu código-fonte. É o mesmo indício de função corrigida que expõe plugins de stealth, aquele que destrinchamos no [artigo sobre detecção de bots](https://bscan.info/pt/blog/bot-detection). Uma divergência limpa diz “provavelmente uma VPN”. Uma API adulterada diz “esta pessoa está manipulando ativamente o navegador”, e todo sistema de pontuação sério cobra mais caro por isso.

## O que realmente fazer

1.  **Teste antes de confiar.** O widget nesta página compara agora mesmo o fuso horário do seu navegador com o do seu IP, e o [scan completo do navegador](https://bscan.info/pt) roda essa verificação junto com as de WebRTC, plataforma e fingerprint. Rode com a VPN ligada. Se o widget sinaliza você, todo script antifraude também sinaliza.
2.  **Mova o relógio junto com a VPN.** A correção sem graça é a que funciona: configure o fuso horário do sistema para a cidade de saída antes de conectar. Não há nada para detectar, porque nada é falso: toda API reporta a mesma zona vinda da mesma fonte. A alternativa do pessoal da privacidade é o Tor Browser, que reporta UTC para todo mundo; sua zona real fica escondida, ao custo de parecer exatamente o Tor Browser.
3.  **Se você gerencia múltiplas identidades, pare de fazer isso na mão.** Administrar contas em várias regiões significa que cada perfil precisa do próprio IP, fuso horário, idioma e fingerprint, todos concordando entre si, em toda sessão. Essa contabilidade é o que os navegadores anti-detecção automatizam: o [Incogniton](https://www.incogniton.com/?utm_source=bscanInfo&utm_medium=Website&utm_campaign=TimezoneLeakBlog) deriva o fuso horário de cada perfil a partir do IP do proxy, para que as duas respostas deste artigo nem cheguem a discordar.

A verificação de fuso horário é o cruzamento de dados de geolocalização mais barato que um script pode rodar, e é exatamente por isso que está em toda parte. Trinta segundos com o widget acima dizem de que lado dela você está.

[Rodar o scan completo do navegador](https://bscan.info/pt)

## Continue lendo

[

![Você é Detectável como um Bot? Teste Seu Navegador em Busca de Vazamentos de Automação](https://bscan.info/botCover.svg)

Você é Detectável como um Bot? Teste Seu Navegador em Busca de Vazamentos de Automação

](https://bscan.info/pt/blog/bot-detection)[

![Um navegador, cinco alegações de SO: por que os spoofs de plataforma são flagrados](https://bscan.info/platformCover.svg)

Um navegador, cinco alegações de SO: por que os spoofs de plataforma são flagrados

](https://bscan.info/pt/blog/platform-spoofing)[

![Seu User-Agent Mente. Sua Versão do Chromium Não.](https://bscan.info/chromiumVersionCover.svg)

Seu User-Agent Mente. Sua Versão do Chromium Não.

](https://bscan.info/pt/blog/chromium-version)

---
This is the page's server-rendered documentation. Interactive browser tests, file processing and permission prompts require the HTML page; Markdown does not contain live measurements or process files.
