Helpike

O que o Helpike coleta

Esta página é o contrato. Ela descreve tudo que o Helpike envia sobre o seu uso, em que circunstância, e como desligar. Se algo aqui divergir do que o software faz, é bug — e a lista de campos está congelada por um teste no código-fonte. O acordo em si é a seção 5 dos termos de uso; esta página é o detalhamento campo a campo por trás dele.

A busca continua 100% offline. O servidor MCP local (helpike-mcp), que é quem o seu assistente consulta, não faz requisição de rede nenhuma por causa de telemetria — nem uma. Nada nesta página muda isso.

As duas camadas

Camada 0 — o log do CDN (sempre ativa, como em qualquer download)

O app faz requisições HTTPS a este site: quando você baixa o instalador, o catálogo, um DocPack ou o modelo — e também de hora em hora, sozinho, para perguntar se existe versão nova (/download/latest.json, com a versão, o sistema e a arquitetura na query string). O app aberto também recarrega o catálogo a cada 30 minutos.

Como todo servidor da internet, o CDN registra a linha de cada uma dessas requisições: data, caminho pedido, status, bytes, IP e User-Agent. Isso vale para qualquer arquivo que você baixe de qualquer lugar, e existe desde antes de qualquer decisão nossa. O que o projeto faz com essas linhas:

O User-Agent do app é Helpike/2.3.0 (macos; aarch64) e o do sidecar é helpike-mcp/0.1.0 (macos; aarch64). Nome do produto, versão, sistema e arquitetura — nada mais.

Camada 1 — o beacon (declarado nos termos de uso)

Depois que você aceita os termos de uso — a tela que o app mostra na primeira abertura, cuja seção 5 declara isto — o app faz uma requisição GET por dia, com os contadores do dia anterior. Antes desse aceite, nada é enviado.

O aceite não é retroativo. Aceitar marca o dia de ontem como já reportado: o que foi registrado antes de os termos serem lidos nunca é enviado. Exportar DO_NOT_TRACK interrompe o envio na hora, inclusive no meio de um envio em andamento.

Não existe servidor recebendo isso: o alvo é um arquivo de 3 bytes no mesmo CDN, e a linha que o CDN escreve no log de acesso é a coleta.

O payload literal

O app mostra esta URL na própria tela. Ela é montada pela mesma função que faz o envio:

GET https://helpike.com/beacon.txt
    ?v=1
    &i=0123456789abcdef0123456789abcdef
    &d=2026-08-23
    &a=2.3.0&o=macos&r=aarch64
    &fd=41&pk=7&pb=3120&ao=3&am=214&sc=5&em=95
    &q=88&q0=4&t=12&p50=31&p95=84&md=1
    &cl=claude-code:4,cursor:1
    &tp=rails,turbo,rubyllm
CampoSignificado
vversão do formato
iid da instalação: 16 bytes aleatórios, gerados nesta máquina
do dia (fechado) a que os números se referem, UTC
a · o · rversão do app · sistema · arquitetura
fddias desde a primeira execução
pk · pbpacotes instalados · MB em disco
md1 se o modelo de embedding está instalado
ao · amvezes que o app abriu · minutos com a janela aberta
scsessões de assistentes MCP
emminutos engajados: janelas de 5 min com pelo menos um evento MCP
q · q0 · tbuscas · buscas com zero resultado · outras chamadas de ferramenta
p50 · p95latência das buscas, em ms
classistentes que conectaram, com quantas sessões cada
tpaté 8 pacotes que responderam às buscas

O que NUNCA é enviado

Não existe conta, login, sessão ou cookie em lugar nenhum do produto.

tp é a única exceção aparente, e não é: um slug de pacote (rails) é dado público do catálogo, e é a única forma de responder "quais pacotes as pessoas realmente consultam depois de baixar". Só nomes que existem no catálogo publicado são enviados — um pacote que você mesmo construiu e copiou para ~/.helpike/packs é filtrado antes do envio, porque o nome dele é um diretório e um arquivo do seu disco. Sem catálogo acessível, tp sai vazio.

Como desligar

No ambiente: exportar DO_NOT_TRACK=1 ou HELPIKE_NO_TELEMETRY=1. É reconsultado antes de cada envio, então vale sem reiniciar o app. DO_NOT_TRACK é a convenção entre ferramentas; a variável do Helpike existe para calar só este app.

Não existe chave no app. A camada 1 está declarada na seção 5 dos termos de uso e começa junto com o uso do produto; o que o app oferece na tela é a transparência — o painel de dados de uso em Início mostra a URL literal que seria enviada e o id desta instalação.

Para trocar de identificador, apague ~/.helpike/install.json: um novo é gerado na próxima execução e nada liga um ao outro. Para apagar o que já foi enviado, mande o i que o app mostra nessa mesma tela para support@helpike.com — todas as linhas daquele id somem. O mesmo endereço recebe relatos de segurança.

O que fica na sua máquina, e onde

ArquivoO que é
~/.helpike/activity.jsonltudo que os assistentes fizeram, com o texto das buscas. Escrito desde sempre, nunca enviado. O botão "Limpar histórico" em Início apaga.
~/.helpike/appuse.jsonluma linha a cada 5 min com o app aberto
~/.helpike/usage/<dia>.jsono resumo diário — exatamente os números da tabela acima
~/.helpike/install.jsono id da instalação, a revisão dos termos aceita e o dia do aceite

Todos são texto, legíveis com cat. Apagar qualquer um é seguro.

Por que existe

O projeto é gratuito, não tem receita e é mantido por uma pessoa. As perguntas que a telemetria responde são as que decidem no que trabalhar: quais pacotes valem manutenção, quantas pessoas o usam de fato, e — a mais cara delas — quando o tráfego de download vai passar da cota gratuita do CDN e começar a custar centenas de dólares por mês.

A alternativa honesta a medir é adivinhar. A alternativa desonesta é medir sem contar.