Sobre o projeto

Aurora é uma aplicação de web analytics de código aberto e auto-hospedada, projetada para medir o tráfego de websites sem armazenar nada nos dispositivos dos visitantes. Não utiliza cookies, nem localStorage ou fingerprinting, e mantém os dados de eventos em um banco de dados PostgreSQL controlado pelo operador. O script de rastreamento do navegador é reportado como tendo 2,4 KB de transferência. Os visitantes são identificados através de um HMAC rotativo derivado do endereço IP, user agent e um salt no lado do servidor. A entrada do hash rotaciona diariamente, portanto, os IDs dos visitantes não podem ser vinculados entre dias, e nada que sai do navegador tem a intenção de ser rastreável a uma pessoa. Esta abordagem é apresentada como relevante para o Art. 5(3) da ePrivacy, pois o armazenamento de informações em equipamentos terminais, como o localStorage, é tratado de forma semelhante aos cookies. O dashboard mostra visitas, visitantes únicos, sessões, taxa de rejeição e duração média da sessão para um intervalo e fuso horário selecionados. Inclui uma série temporal do Recharts e detalhamentos de páginas, referenciadores, canais de aquisição, países, navegadores, sistemas operacionais, dispositivos, idiomas e parâmetros UTM. Eventos personalizados podem carregar propriedades escalares e valores de receita, com moedas ISO-4217. Um site pode ser marcado como público para expor um dashboard de analytics de apenas leitura sem login. A implantação está disponível através de imagens Docker publicadas para linux/amd64 e linux/arm64. A configuração necessária inclui DATABASE_URL e SESSION_SECRET, enquanto o AURORA_SALT é obrigatório em produção. O AURORA_IP_HEADER é fortemente recomendado para que o salto de proxy confiável determine os dados de IP do cliente; se não for definido, a aplicação avisa e recorre a cabeçalhos que os clientes podem definir. O AURORA_COUNTRY_HEADER é opcional para o código do país vindo de um edge. Para rastrear um site, o dashboard fornece uma tag de script com o ID do site. Visualizações de página e alterações de rota no lado do cliente são rastreadas automaticamente. Eventos personalizados chamam uma função global aurora, que enfileira as chamadas feitas antes do carregamento do script. As propriedades aceitam apenas escalares, com até 24 chaves. O desenvolvimento requer Node 20+ e pnpm 10. O projeto é um workspace pnpm com uma aplicação web React Router e um pacote tracker agrupado ao script servido. Utiliza Drizzle no PostgreSQL, Tailwind CSS com shadcn/ui, Recharts, Vitest e oxlint/oxfmt. Os commits seguem o Conventional Commits, os lançamentos são automatizados com release-please e o versionamento segue o SemVer. O Aurora 4 é descrito como uma reescrita completa, sem caminho de migração a partir do 1.x ou 2.x. O projeto possui licença MIT.