O que o Analytics mede
São registrados somente eventos úteis para melhorar o jogo:
- entrada na página, descartando recargas detectadas como F5, pull-to-refresh ou atualização automática, e abertura do jogo;
- início e conclusão de uma luta, etapa e ritmo de dificuldade acolhedora, além do pedido explícito de jogar a próxima luta;
- quantidade e soma de pontos creditados quando a luta é perdida para uma das duas identidades da casa (o Aluno e o Mestre Bibico);
- estilo escolhido, estilo sorteado para o oponente e origem categórica do rival: posição à frente, último do ranking, quem convidou ou Bibico. O convite não altera o ritmo da luta;
- técnica tentada, estilo e desfecho: sucesso, falha, escape ou finalização;
- XP atribuído às tentativas, progresso de grau e promoção de faixa; quando uma conquista é apresentada após a luta, registramos somente a família do marco: lutas, vitórias, finalizações, sequência, faixas, medalhas ou ouros. Não enviamos o valor do marco nem o contador;
- exibição, toque, compartilhamento e confirmação agregada de convites, separados apenas entre tela inicial e ranking;
- abertura deliberada da explicação de apoio, toque no botão seguro e checkout entregue, além de confirmação, falha, expiração ou reembolso informados pela Stripe;
- uso do acesso que leva a conta para outro aparelho: abertura do painel, revelação ou cópia do código, QR, entrada com outro código, opções avançadas, troca ou cancelamento da troca, tentativa e desfecho do vínculo, separados apenas entre QR e digitado. O código em si nunca é registrado, nem inteiro, nem em parte, nem em forma cifrada;
- resultado categórico da escolha do nome no ranking: aceito, já em uso ou recusado pelo formato. O nome tentado não é registrado;
- ações explícitas no perfil: abrir os detalhes da progressão, abrir a edição do nome e seguir para a próxima luta. Entram apenas três categorias fechadas, sem nome, XP, faixa, marco, posição, endereço ou texto. Esses contadores não permitem ligar as ações a uma mesma pessoa nem reconstruir um funil individual;
- uso de detalhes da técnica, replay, abertura dos passos e seleção do número de um passo para ver seu quadro, descanso, ranking, carregamento de mais linhas, salto para a própria posição e retorno ao topo. No ranking entram somente a ação, sucesso ou falha e uma faixa fechada de profundidade; posição numérica, nome e cursor não são enviados. Também medimos troca de idioma e mudança do som entre música com efeitos e mudo. O texto do passo e a imagem do quadro não são enviados. O volume do aparelho, os sons reproduzidos e o tempo de escuta não são registrados.
- na tela Aprender: técnica que iniciou ou concluiu a demonstração em 3D, incluindo cada repetição, e o número de um passo revisto depois da conclusão. Pausar, continuar e mudar a velocidade não são registrados. O texto do passo, o tempo assistido, a pose e o quadro não são enviados.
- abertura, conclusão ou pulo do criador de avatar, slots alterados e valores finais salvos para sexo, pele, cabelo, cor de cabelo, expressão e kimono. Cada escolha vira um contador independente, sem identificador que permita reconstruir o avatar completo de alguém. O dashboard compara somente distribuições agregadas por característica, separando estreia de edição pelo perfil.
- categoria de uma máxima curta do dojo exibida antes do primeiro golpe. Não registramos o texto, o rival, seed, perfil ou o clique em continuar.
- primeira abertura do teaser oculto JDX em cada carregamento. A sequência digitada e o fechamento não são registrados.
- método de confirmação da técnica e do estilo, velocidade efetiva escolhida e se o replay foi pausado ou continuado, saída da luta e confirmação antes de deixar o jogo. Na saída entram somente a tela categórica ou o placar, o terço e uma faixa ampla de duração da luta, o painel ativo, o método e se a pessoa continuou ou saiu. Não registramos o tempo assistido, quadro, pose, motivo escrito, tempo de inatividade ou identidade.
- atualização automática segura do jogo na tela inicial. Categorias manuais antigas podem permanecer nos totais históricos.
- convite, abertura, adiamento, falha e envio de feedback, além das notas agregadas de entendimento das técnicas, clareza dos passos e vontade de jogar novamente.
- funcionamento agregado da proteção do ranking: reservas, desafios adaptativos e replays aceitos ou recusados, separados somente por categorias fechadas. Não entram jogador, IP, token, seed ou log.
O servidor transforma esses eventos imediatamente em contadores diários. Não existe uma tabela com a jornada individual de cada visita.
Uma entrada é uma navegação técnica, não uma pessoa única. A mesma pessoa pode voltar em outro momento e contar novamente. Versões antigas do jogo ainda podiam contar F5; os dados históricos não são reescritos. User agents conhecidos de robôs, crawlers, previews e navegadores headless também são descartados, sem transformar o restante em uma contagem de humanos únicos.
O XP de uma luta é dividido entre as tentativas realizadas sem criar identificador de luta. Convites são contados por etapa e resultado, nunca pelo nome ou código de quem enviou ou recebeu.
O nome público do rival pode aparecer no jogo, mas nunca entra no Analytics. As métricas recebem somente a categoria que originou esse nome, e os créditos são somados sem nick, posição, identidade ou vínculo entre jogadores.
Contexto agregado
Os contadores podem ser separados somente por:
- dia;
- idioma do jogo;
- categoria ampla do dispositivo: celular ou desktop;
- país aproximado informado pela infraestrutura da Cloudflare;
- versão técnica do jogo.
O que o Analytics não coleta
- nome, apelido, e-mail ou dados de pagamento;
- cookie, conteúdo de cookie ou armazenamento local;
- ID de usuário, ID de sessão ou identificador persistente;
- endereço IP armazenado pelo aplicativo;
- fingerprint do navegador;
- coordenadas de clique ou histórico individual de navegação.
Os pedidos de Analytics são enviados com credenciais omitidas, portanto nem um eventual cookie funcional do ranking viaja junto.
Cloudflare Web Analytics
Também usamos o Cloudflare Web Analytics para pageviews e desempenho da página. Esse serviço não usa cookies nem armazenamento do navegador e não acompanha pessoas entre sites.
Diagnóstico de erros técnicos
Quando o jogo falha no navegador, enviamos um registro técnico pequeno para descobrir e corrigir o problema. Ele pode conter a categoria do erro, mensagem sanitizada, caminho relativo do arquivo, linha, coluna, versão do jogo, idioma, categoria do dispositivo e país aproximado. Erros iguais são agrupados. O painel mostra no máximo os últimos 30 dias e registros mais antigos entram em exclusão gradual em lotes.
Antes do envio e novamente no servidor, removemos e-mail, código de acesso, UUID, apelido local, parâmetros e fragmentos de URL. Nunca enviamos identidade, nome, cookie, endereço IP ou hash de IP, URL completa, stack, tela atual, sequência de ações ou jornada individual. Erros de arquivos externos entram somente como contador, sem mensagem, arquivo, linha ou coluna.
Esse diagnóstico de funcionamento usa credenciais omitidas e acontece mesmo com Global Privacy Control ou Do Not Track ativo. Essas preferências continuam desativando os eventos de produto descritos nesta página; a exceção limitada existe apenas para detectar software quebrado, sem medir comportamento.
Apoio voluntário e Stripe
A opção de apoio abre primeiro uma explicação dentro do jogo. Ela não inicia pagamento e pode ser fechada sem chamar o servidor. Somente o botão de apoio seguro abre uma página hospedada pela Stripe. A Stripe processa os dados necessários ao pagamento segundo os próprios termos e política de privacidade; o BJJ DOJO não recebe nem armazena número de cartão ou credenciais bancárias.
Neste Analytics entram somente contadores por etapa, método e moeda, além do total agregado em centavos após uma notificação assinada da Stripe. Não copiamos nome, e-mail, identificador de pagamento, cobrança ou sessão de checkout. Um recibo técnico mínimo do evento da Stripe é mantido apenas para impedir contagem duplicada em reenvios.
Aberturas da explicação, cliques e checkouts entregues podem ser separados somente pela origem categórica da opção. Cliques também podem ser separados por idioma, categoria de dispositivo e país aproximado. Pagamentos confirmados não carregam a origem. Esses dados continuam agregados e não permitem saber qual pessoa clicou.
Dados funcionais do jogo
Separadamente do Analytics, o navegador pode guardar localmente progresso, idioma, preferência de som, nome opcional do ranking e envios pendentes quando estiver sem conexão. Esses dados permitem funcionalidades solicitadas pelo próprio jogador e podem ser apagados limpando os dados do site.
Ao entrar no ranking ou usar um link de indicação, uma identidade técnica primária pode ser criada para acumular pontuação e bônus. Ela não é lida nem enviada pelo sistema de Analytics.
Cada luta do ranking recebe do servidor uma configuração aleatória e o resultado só é aceito se o servidor conseguir repetir as jogadas. Em padrões funcionais anormais, a próxima luta pode pedir uma verificação Cloudflare Turnstile. O token é verificado e descartado; não entra no ranking nem no Analytics. Todas as lutas válidas continuam somando integralmente no placar cumulativo.
Para montar a próxima luta, o servidor pode consultar a posição atual e devolver o nome público do rival imediatamente à frente ou do último jogador ativo. Para a maioria dos rivais o nome serve apenas para apresentar o adversário, e o resultado pontua somente quem enviou a própria partida.
Há duas exceções fixas: o Aluno e o Mestre Bibico, as identidades da casa. Quando a luta é contra uma delas, um identificador aleatório, vinculado à identidade técnica e válido por tempo limitado, permite creditar a vitória dela uma única vez se você perder. Esse uso é funcional e separado do Analytics.
Se você optar por enviar feedback, guardamos a mensagem, suas notas, o nome público do ranking (quando existir) e o e-mail somente se você o informar para receber uma resposta. Esses dados ficam numa caixa privada do administrador do BJJ DOJO, separada do Analytics anônimo, e não são usados para publicidade ou perfis de visitantes. Você pode enviar novas opiniões sempre que precisar. O formulário não dispara mensagens de e-mail automáticas: o contato fica disponível nessa caixa privada até a leitura do administrador.
Notificações de convocação
No modo multijogador você pode ligar avisos que chamam para uma partida quando alguém está procurando adversário. Isso é opcional, nasce desligado e só acontece depois de você tocar no controle que explica para que serve e de o navegador conceder a permissão. Em iPhone e iPad, os avisos funcionam apenas com o jogo instalado na tela de início.
Ao ligar, guardamos por aparelho o endereço técnico que o seu navegador gera para receber notificações, as duas chaves de criptografia que ele entrega junto, o idioma escolhido e o texto traduzido que aquele aparelho deve exibir. Esse endereço é necessário para enviar a notificação e é tratado como segredo: não aparece em nenhuma resposta, nem para você, não é registrado em log e não entra no Analytics anônimo.
Você escolhe entre avisos sempre ativos, avisos por duas horas e desativado. No modo sempre ativo, o servidor não envia entre 23h e 8h no horário local do aparelho. Para isso guardamos apenas o deslocamento atual do fuso em minutos, atualizado quando o jogo abre. Ele é um dado funcional, não entra no Analytics e não é usado para identificar ou acompanhar ninguém. No modo de duas horas, a disponibilidade termina automaticamente ao fim do prazo.
Quando alguém procura partida e não encontra ninguém, chamamos as pessoas que se declararam disponíveis naquele momento, e a primeira que aceitar ocupa a vaga. Quem tocar no aviso depois de a vaga ir embora começa uma nova busca, e pode encontrar quem também chegou depois. Cada pessoa recebe no máximo seis avisos por dia, com pelo menos vinte minutos entre dois avisos, e nunca entre 23h e 8h no modo permanente. O conteúdo enviado é apenas o identificador aleatório daquela chamada mais o texto que o seu próprio aparelho pediu, e ele viaja criptografado: o serviço de notificações do navegador não consegue ler.
Se você continuar na fila com o jogo suspenso, também podemos avisar que a partida foi encontrada e precisa ser aceita em até trinta segundos. Esse alerta é enviado no máximo uma vez por partida e pessoa. Ele leva o identificador aleatório da sua própria partida, removido da barra de endereço assim que o jogo abre, e nunca leva dados do adversário.
O título da chamada diz quem está procurando pelo apelido e pela posição no ranking, que já são públicos no ranking do jogo; ela nunca carrega o identificador, o estilo nem qualquer outro dado de quem procura, e o alerta de partida encontrada não carrega identidade nenhuma. Você pode desligar os avisos no mesmo lugar em que os ligou, com um toque, e isso apaga tanto a inscrição no navegador quanto o registro no servidor. Se você limpar os dados do site ou revogar a permissão, o serviço de notificações informa que a inscrição não existe mais e nós a apagamos na primeira tentativa de envio.
O teste de notificação envia somente para o aparelho que pediu. Primeiro registramos se o navegador recebeu o push e aceitou a solicitação de exibição. Depois você confirma se realmente viu ou não viu. Essa resposta fica ligada apenas ao lote funcional do teste e não é enviada ao Analytics anônimo.
Sobre o Analytics anônimo: contamos quantas pessoas viram o controle, quantas pediram a permissão e quantas concederam, negaram, renovaram ou desligaram, qual dos três modos foi selecionado e quais motivos fechados fizeram o cliente recuperar uma conexão. São somas por categoria, sem nome, sem identificador e sem o endereço técnico do seu aparelho, que continua fora do Analytics em qualquer forma. Global Privacy Control e Do Not Track desligam também essas somas.
Partidas contra outra pessoa
No modo multijogador guardamos a partida em si: quem jogou, quem venceu, as jogadas e o motivo pelo qual ela terminou. Isso é o próprio jogo, e é o que permite reconstruir a luta, mostrar o resultado aos dois lados e conferir se alguém estava forçando o sistema. Esses dados ficam disponíveis apenas para o administrador do jogo.
Separado disso, o Analytics anônimo conta em quais controles as pessoas tocam (criar sala, buscar partida, confirmar prontidão, pedir revanche), se o link da sala chegou a ser compartilhado, quanto tempo a fila converte em partida, quantos segundos uma busca durou até ser cancelada, vencer ou parear (em faixas, somados), se os avisos estavam ligados no toque em buscar, se o cartão que sugere ligar os avisos foi visto, aceito ou dispensado, como cada chamada por notificação terminou e como o pedra, papel ou tesoura decidiu quem começa. São somas por categoria. O identificador da partida, o código do convite, o seu nome e o seu identificador nunca entram nessas somas, e por isso elas não permitem reconstruir o caminho de uma pessoa.
Preferências de privacidade
O Analytics anônimo respeita Global Privacy Control e Do Not Track: quando uma dessas preferências está ativa, o jogo não envia os eventos descritos nesta página.
Responsável e contato
Patrick Carmo é o responsável pelo projeto BJJ DOJO. Esta página será atualizada se as métricas ou suas finalidades mudarem.
Para falar sobre o jogo ou privacidade, ou para pedir acesso, correção ou exclusão do que você enviou pelo feedback, escreva para [email protected].
Última atualização: 22 de agosto de 2026.