# Identidade visual dos dados

Bandeiras, marcas e favicons nos relatórios, com fallback e proteção de rede.

## Países e produtos

As tabelas de tráfego usam bandeiras SVG locais e nomes de países em pt-BR. O filtro preserva o código original: clicar em Brasil aplica BR. Navegadores e sistemas conhecidos têm marcas reconhecíveis, mantendo proporções e cores. Valores desconhecidos continuam com seu texto e ícone funcional de fallback. Nenhuma bandeira depende de emoji.


## Referrers

Fontes conhecidas usam marcas locais. Outros domínios consultam uma rota autenticada da própria API; o navegador do dashboard não acessa provedores externos de favicon por linha. O backend busca somente HTTPS /favicon.ico no hostname validado, sem cookies, autorização ou referrer do usuário, sem seguir redirecionamentos. Isso é identificação visual, não uma verificação de legitimidade do domínio ou de atribuição.


## Validação e formatos

DNS é validado e fixado como nos webhooks de saída, com certificado/SNI e timeout de dez segundos. Respostas têm MIME permitido e no máximo 64 KiB; somente PNG, JPEG, WebP e quadros PNG dentro de ICO são decodificados. SVG, HTML e formatos não suportados usam fallback. O decodificador limita a entrada a 1.048.576 pixels e produz PNG estático 32×32 de até 32 KiB. Não devolvemos SVG arbitrário ativo ao navegador.


## Cache e limites

O PNG fica no S3 privado e pode ser reutilizado entre consultas de domínios públicos somente após verificar acesso ao workspace/site. Validade de leitura: sete dias; falhas têm cache negativo de uma hora. Até 60 buscas novas por hora por conta, sem consumir unidades de eventos. Um lock temporário reduz buscas concorrentes. Configure lifecycle do bucket para remover objetos antigos sob icons/favicons/; entradas vencidas deixam de ser reutilizadas mesmo sem essa limpeza operacional. Sem armazenamento/ícone elegível, o relatório mantém texto e fallback.


## Fontes e evidências

Bandeiras: flag-icons/MIT. Marcas selecionadas: SVG Logos/Gil Barbara, CC0-1.0. Licenças e inventário acompanham o repositório; marcas continuam pertencendo aos respectivos titulares. Testes verificam hostname, DNS, MIME/bytes, decodificação, cache privado, concorrência e isolamento. O teste integrado usa uma fonte de imagem controlada, não é uma validação de favicons externos específicos. As verificações de navegador usam assets locais reais e respostas de API de teste.

