Manual do Usuário

Ajuda & FAQ

Tudo o que precisa saber para tirar o máximo partido do TrueContact.

Índice

Seção 1

Primeiros Passos

O que é o TrueContact?

O TrueContact é um CRM pessoal automático para Mac e Windows. Liga-se ao iCloud, ao Google Contacts, ao LinkedIn e ao WhatsApp para sincronizar, enriquecer e organizar os seus contatos — e envia mensagens de aniversário automaticamente, em segundo plano.

Ao contrário das soluções cloud (HubSpot, Salesforce, etc.), o TrueContact roda 100% no seu computador. Não há subscrição, não há conta, não há servidor salvando os seus dados.

Para quem é:

  • Profissionais de networking que querem manter contatos sempre atualizados
  • Quem usa iPhone/Mac e quer aproveitar ao máximo o iCloud Contacts
  • Quem usa o Gmail e quer manter o Google Contacts em sincronia com o iCloud
  • Quem quer enviar parabéns automáticos sem parecer um bot
  • Quem valoriza a privacidade total dos seus dados de contato
Requisitos do sistema e como instalar

macOS

Ventura 13 ou superior

Windows

Windows 10 (64-bit) ou superior

Passos de instalação:

  1. Acesse a página de download e baixe o arquivo para o seu sistema
  2. macOS: Abre o .dmg e arrasta o TrueContact para Aplicações
  3. Windows: Executa o instalador .exe e segue os passos
  4. Na primeira abertura, o Assistente de Configuração guia-te por todas as integrações
macOS: Se aparecer o aviso "app de desenvolvedor desconhecido", vai a Configurações do Sistema → Privacidade e Segurança e clica em "Abrir na mesma". O TrueContact não está na App Store por opção — isso é intencional para manter a app gratuita.
Qual é a sequência de configuração recomendada?

Na primeira abertura, o Assistente de Configuração guia-te automaticamente por todos estes passos:

  1. 1 Configurar o iCloud — introduz o Apple ID e a App-Specific Password para importar os seus contatos
  2. 2 Conectar o Google Contacts — autoriza via OAuth para sincronização bidirecional com o Google
  3. 3 Conectar o WhatsApp — lê o QR Code nas Configurações para ativar o envio de mensagens
  4. 4 Criar templates de aniversário — define as mensagens automáticas que o sistema vai enviar
  5. 5 Deixar correr — o TrueContact faz tudo o resto em segundo plano

Seção 2

Segurança e Privacidade

Como apagar todos os dados e começar do zero?

Em Configurações → Configurações Gerais → Resetar banco de dados. O TrueContact volta ao estado de recém-instalado e o assistente de configuração reaparece:

  • É apagado: todos os contatos, grupos, filas, histórico de alterações, histórico de mensagens e mensagens agendadas.
  • É desconectado: iCloud, Google, WhatsApp, LinkedIn, Facebook, Instagram, X e a chave do PeopleDataLabs.
  • Continua como está: suas preferências (limites, listas de normalização, agenda, idioma) e os modelos de mensagem.

Para evitar um clique acidental, é preciso digitar RESETAR para confirmar.

Nada é apagado no iCloud nem no Google — só o banco local do TrueContact. Quando você reconectar as contas, os contatos voltam a ser importados de lá.

Antes de apagar, o TrueContact salva uma cópia completa do banco atual na mesma pasta, com o nome truecontact.db.backup-antes-do-reset-<data> — só a mais recente é mantida. Para voltar atrás: com o TrueContact fechado, apague truecontact.db-wal e truecontact.db-shm (se existirem) e renomeie a cópia para truecontact.db. No servidor Linux, o banco fica em /var/lib/truecontact.

Onde ficam armazenados os meus dados?

100% no seu próprio computador. O TrueContact usa uma base de dados SQLite local — nenhum contato, foto, nota ou histórico de mensagens é enviado para servidores externos. Não existem servidores TrueContact.

macOS

~/Library/Application Support/truecontact/database.sqlite

Windows

%APPDATA%\truecontact\database.sqlite

Podes abrir, copiar ou fazer backup deste arquivo com ferramentas como o DB Browser for SQLite.

O TrueContact envia algum dado para a internet?

O TrueContact apenas faz conexões diretamente com os serviços que já usas — nada passa por servidores TrueContact:

iCloud CardDAV

Conexão direta aos servidores da Apple — as suas credenciais nunca passam pelo TrueContact

Google People API

Autenticação via OAuth 2.0 — o token fica local e nunca passa por servidores TrueContact

LinkedIn

Lê perfis públicos como um browser normal — só leitura, nenhum dado seu é enviado

WhatsApp Web

Conexão direta aos servidores do WhatsApp — sessão autenticada localmente

GitHub Releases

Apenas verifica um número de versão — nenhum dado pessoal envolvido

Como funciona a sessão do WhatsApp — é segura?

Quando ligas o WhatsApp através do QR Code, é gerado um arquivo de sessão local no seu computador. Este arquivo mantém a autenticação sem necessidade de introduzir credenciais repetidamente.

macOS

~/Library/Application Support/truecontact/whatsapp-session/

Windows

%APPDATA%\truecontact\whatsapp-session\
Aviso: Nunca compartilhe esta pasta com ninguém. Quem tiver acesso a estes arquivos pode enviar mensagens em seu nome. Se suspeitar de comprometimento, vá em WhatsApp → Configurações → Dispositivos conectados e remove a sessão TrueContact.
O que é a App-Specific Password do iCloud?

O TrueContact usa uma App-Specific Password para aceder ao iCloud Contacts — nunca a sua password principal do Apple ID. É uma password de uso único gerada pela Apple especificamente para esta app.

Vantagens:

  • Se for comprometida, podes revogá-la sem alterar o seu Apple ID
  • Dá acesso apenas ao CardDAV (Contatos), não ao restante do iCloud
  • A Apple permite revogar individualmente por app

Para gerar, vai a appleid.apple.com → Iniciar sessão e segurança → Senhas específicas de app.

Seção 3

Sincronização de Contatos

Quanto tempo uma alteração leva para chegar ao iCloud e ao Google?

Segundos. Desde a 1.0.256, toda alteração sai para os provedores assim que entra no TrueContact: edição no painel, leitura do LinkedIn, dado do WhatsApp, merge, reversão. O app junta o que mudou em 1,5 segundo e envia um contato por vez, para cada provedor em que ele está. Medido: uma URL adicionada chegou ao iCloud e ao Google em 4 segundos. Antes, a alteração esperava o radar de 5 minutos ou o fim do ciclo, de até 25 minutos.

  • Nada volta para a origem: uma alteração lida do Google só vai para o iCloud, e vice-versa.
  • Se falhar, fica na fila: o que não sair na hora é retentado pelo radar, como sempre.

Opção em Configurações → Agendamento → Enviar alterações em seguida, ligada por padrão.

O TrueContact confere se o iCloud e o Google aceitaram o que foi enviado?

Sim, desde a 1.0.255. Logo depois de cada envio, o TrueContact lê o contato de volta do provedor e compara com o que mandou. O que o provedor devolveu sem é tratado como recusa do provedor, não como exclusão sua: o item continua no TrueContact e nos outros provedores, e nenhuma leitura futura daquele provedor o apaga. Exemplo real: um endereço com a cidade grafada "maceioal" foi recusado pelo Google e permaneceu no TrueContact e no iCloud.

O retrato guardado de cada contato em cada provedor passou a ser sempre o real, lido do provedor. É ele que decide, nas leituras seguintes, o que foi uma exclusão feita por você.

Uma fonte pode apagar um dado meu só porque não o trouxe?

Não. Depois de uma auditoria completa do histórico em outubro de 2026, as regras de remoção ficaram assim:

  • Só uma leitura completa do próprio provedor remove algo, e só o que aquele provedor tinha mostrado numa leitura real anterior.
  • Leitura de rede social nunca esvazia campo. Uma leitura interrompida por lentidão fica fora do pacote, em vez de entrar como lista vazia.
  • Empresa, cargo, aniversário, notas, apelido e foto só são esvaziados por um provedor que já os tinha mostrado. A primeira leitura de um provedor recém-conectado não apaga nada.
  • Grupos seguem a mesma regra no Google e no iCloud: só sai do grupo quem o provedor já tinha listado. Se o iPhone regravar um grupo com menos membros, os que ele não devolveu ficam e o grupo é reenviado.
  • Conflito de versão no iCloud adia o envio e lê o aparelho primeiro, em vez de sobrescrever a sua edição.

Tudo o que uma leitura remove aparece no histórico do contato, em vermelho, com a origem. Uma auditoria semanal confere o que ainda falta (seção 9).

Meus endereços foram corrigidos sozinhos. O que aconteceu?

Na 1.0.258 o TrueContact ganhou regras novas de normalização de endereços, vindas da análise de 8 mil endereços de uma base real, e as aplicou uma vez em toda a base. Cada contato alterado recebeu no histórico uma entrada Sanitização → Normalização automática com o antes e o depois.

  • País no campo cidade ("Brasil") vai para país; nome de estado no campo cidade ("Paraná") vira a UF. São Paulo e Rio de Janeiro ficam: também são cidades.
  • Capital com UF errada ("Curitiba, SP", "Porto Alegre, PR") recebe a UF certa.
  • Estado ou cidade com sobras ("Sp | Brazil", "Sp.", "Capital", "Curitiba e Região", um site) são limpos; "Alphaville-sp" vira cidade e estado.
  • Localidade no campo de rua com o estado no campo cidade ("Jundiaí | São Paulo") vira Jundiaí/SP; rua que só repete a cidade é esvaziada.
  • CEP de 7 dígitos em São Paulo recebe o zero perdido; "Complemento: …" dentro da rua vai para complemento.
  • Linhas vazias somem e um endereço contido em outro ("SP, Brasil" ao lado de "Osasco, SP, Brasil") é absorvido pelo mais completo.

O que não muda, de propósito: duas ruas na mesma cidade (casa e trabalho), duas cidades diferentes, estados estrangeiros e contradições reais, como "Itália" na cidade com "Brasil" no país. As mesmas regras valem para todo endereço que entra daqui em diante.

Como os grupos ficam iguais no iPhone, no Google e no TrueContact?

Um grupo é um só, com uma etiqueta no Google e um grupo no iCloud. O que mudou em outubro de 2026:

  • Grupo novo no iPhone vira etiqueta nova no Google. O TrueContact não tenta mais adivinhar se é um grupo antigo renomeado, o que podia renomear a etiqueta errada. Renomear de verdade continua sendo reconhecido.
  • Só sai de um grupo quem o provedor já tinha listado numa leitura anterior. Membros recém-adicionados que o iPhone ainda não devolveu ficam, e o grupo é reenviado. Logo após a 1.0.257, a primeira remoção feita no iPhone em cada grupo é desfeita uma vez; da segunda leitura em diante, vale.
  • Um grupo do iCloud que o TrueContact não conhece é importado com os membros do aparelho, em vez de ser ignorado.
  • Na ficha do contato, + Grupo oferece "Criar grupo e adicionar" quando o nome não existe. O grupo nasce já com cartão no iCloud e etiqueta no Google.
O nome de um contato pode ser trocado por uma rede social ou por um merge?

Trocam o nome: LinkedIn, iCloud e Google. O Facebook troca só quando o contato não tem LinkedIn. X, Instagram, TikTok, Goodreads, Duolingo, Telegram e WhatsApp só dão nome ao contato que criam: o nome de exibição dessas redes costuma ser apelido ou marca.

O merge nunca mistura nomes. Primeiro nome, nome do meio e sobrenome do vencedor vêm do mesmo contato. Até a 1.0.258 o merge automático pegava campo a campo, e um nome do meio vazio podia receber o do outro contato. Redes sociais também não marcam nem desmarcam um contato existente como empresa.

Alterei um contato — por que todas as fontes dele foram atualizadas?

Quando o TrueContact detecta uma alteração real em um contato — edição no iPhone/iCloud, no Google Contacts, no próprio painel, ou um dado novo trazido por uma das redes — ele agenda a atualização de todas as outras fontes vinculadas àquele contato: perfis sociais entram na fila de enriquecimento e telefones voltam para verificação no WhatsApp.

  • Só alteração de verdade conta — o eco da própria sincronização é reconhecido e não dispara nada
  • No máximo uma vez por dia — fonte já verificada hoje não volta para a fila
  • Prioridade baixa — pedidos feitos por você no painel sempre passam na frente
Como o TrueContact une dados do iCloud, LinkedIn, Facebook, Instagram, X e WhatsApp?

O TrueContact funciona como um Hub central: a base de dados local é a fonte de verdade, e os provedores bidirecionais (iCloud, Google Contacts) leem e escrevem contatos, enquanto LinkedIn, Facebook, Instagram, X e WhatsApp apenas enriquecem.

  1. 1Pull do iCloud — lê todos os contatos e grupos via CardDAV, preservando ETags para detectar alterações
  2. 2Pull do Google — lê alterações desde o último sync via SyncToken, bidirecional
  3. 3Enriquecimento LinkedIn — importa cargo, empresa, foto e redes sociais automaticamente
  4. 4Enriquecimento Facebook — importa foto, cidade, sites e o que estiver público no "Sobre", além da data de amizade
  5. 5Enriquecimento Instagram e X — importa nome, foto, bio e site dos perfis; o Instagram pode ainda criar contatos a partir de quem você segue ou dos seus Amigos Próximos
  6. 6Enriquecimento WhatsApp — importa a foto de perfil em alta resolução e, nas contas comerciais, e-mail, endereço, site e perfis de Facebook e Instagram
  7. 7Push para iCloud e Google — escreve as alterações de volta em ambos, ficando disponíveis em todos os dispositivos
Regra fundamental: O TrueContact nunca apaga dados manuais. Se você adicionar uma nota ou e-mail a um contato no iPhone, essa informação é preservada mesmo que o LinkedIn devolva um campo vazio.
Como funciona a normalização de números de telefone?

O mesmo número pode estar salvo de formas completamente diferentes no iCloud e no WhatsApp. O TrueContact normaliza todos eles automaticamente para fazer a correspondência:

(11) 98765-4321→ normalizado →5511987654321
+55 11 9 8765-4321→ normalizado →5511987654321
11 8765-4321→ + 9º dígito →5511987654321

Inclui suporte ao 9º dígito brasileiro para números de DDDs onde a transição ocorreu depois de 2012 — sem que precises de atualizar os seus contatos manualmente.

Porque não vejo a foto de alguns contatos do WhatsApp?

Esta é uma das perguntas mais frequentes. A resposta é simples: o WhatsApp respeita as configurações de privacidade de cada usuário.

Se um contato configurou a sua foto de perfil para ser visível apenas para os seus próprios contatos (ou para ninguém), o WhatsApp não disponibiliza essa foto a nenhuma aplicação — incluindo o TrueContact. Quando isso acontece, o TrueContact mostra um ícone de privacidade em vez da foto, sinalizando que o contato existe no WhatsApp mas optou por restringir a sua imagem.

Isto é um comportamento correto, não um bug. O TrueContact respeita as escolhas de privacidade dos seus contatos da mesma forma que o próprio WhatsApp faz.
Dica: Se quiseres ver a foto de um contato específico, pede-lhe que abra WhatsApp → Configurações → Privacidade → Foto de perfil → "Todos os Meus Contatos".
Como o TrueContact detecta e resolve contatos duplicados?

O TrueContact analisa automaticamente a sua base de dados em busca de contatos com nome, email, telefone ou perfil social semelhantes.

Quando encontra sugestões:

  • Na sidebar, aparece o bloco Sugestões de Merge
  • Clica em Rever para comparar os dois contatos lado a lado
  • Escolhe quais os campos a manter de cada lado

Para fazer merge manual:

  1. Passa o cursor sobre um contato → aparece um ✓ no avatar
  2. Seleciona 2 ou mais contatos
  3. Clica em Merge na barra inferior

Seção 4

Conectar o Google Contacts

Passo a passo: autorização OAuth
  1. Abra o Assistente de Configuração (na primeira abertura) ou vá a Configurações → Google Contacts
  2. Clique em "Conectar Google Contacts"
  3. Uma janela de autenticação do Google será aberta no seu navegador
  4. Faça login com a sua conta Google e conceda as permissões solicitadas
  5. O TrueContact receberá o token automaticamente e iniciará a sincronização inicial
O TrueContact usa OAuth 2.0 — você nunca insere a sua senha do Google no app. O token fica armazenado localmente e pode ser revogado a qualquer momento em myaccount.google.com/permissions.
O que acontece na primeira conexão?

Quando você conecta o Google Contacts pela primeira vez:

  1. 1. O TrueContact lê todos os contatos existentes no Google
  2. 2. Todos os contatos locais que ainda não estão no Google são enfileirados para criação (propagação total automática)
  3. 3. A sincronização ocorre gradualmente para respeitar os limites da API Google
  4. 4. Um badge azul Google no cabeçalho indica quantos contatos ainda estão a ser processados
Grupos: Os grupos de contatos também são sincronizados. Um grupo criado no iCloud aparece automaticamente no Google Contacts, e vice-versa.
Como revogar o acesso ao Google?
  1. Vá a myaccount.google.com/permissions
  2. Localize "TrueContact" na lista
  3. Clique em "Revogar acesso"

Isso não apaga os contatos do seu Google Contacts — apenas interrompe a sincronização futura.

Seção 5

Conectar LinkedIn, Facebook, Instagram e X

Como funciona a fonte GitHub?

Em Configurações → Fontes → GitHub, clique em "Conectar GitHub" e faça login no GitHub na janela do navegador (senha, código do aplicativo ou passkey). Uma vez por dia o TrueContact lê quem você segue (e, se você escolher, quem segue você) e cria um contato para cada pessoa que ainda não existe. Cada perfil é lido pela página do GitHub com a sua sessão: nome, foto, e-mail público (o GitHub só o mostra para quem está logado), empresa, local, site, os links sociais do perfil e os links pessoais do README, como LinkedIn, X, YouTube, Medium e dev.to, além da data de criação da conta. Logos de tecnologias, selos, repositórios e páginas de empresas citadas no README ficam de fora, assim como as organizações que você segue e o avatar padrão do GitHub. O nome só cria o contato, a foto, a empresa e o endereço só preenchem o que está vazio, e nada vai para as notas. Quem já é seu contato é achado pelo @ do GitHub, pelo e-mail ou por outro perfil social, nunca pelo nome; o resto vira contato próprio e o merge decide.

Como funciona a fonte Slack?

Em Configurações → Fontes → Slack, clique em "Conectar Slack" e faça login no Slack Web (código por e-mail, senha ou SSO). Não é preciso criar app nem token. A cada ciclo, todos os membros do workspace viram contatos e ficam atualizados: nome, @, e-mail, telefone, cargo, foto e os campos personalizados do perfil. Quem já é contato é achado pelo e-mail ou telefone e nunca é duplicado. Cargo, empresa e foto só são trocados quando vieram do próprio Slack. Dá para escolher o workspace, incluir ou não convidados e escolher um dos seus grupos para os membros ativos. Contas desativadas também viram contato, sem empresa, cargo e grupo. Bots e apps ficam de fora.

Como funciona a fonte Snapchat?

Em Configurações → Fontes → Snapchat, clique em "Conectar Snapchat" e faça login no Snapchat Web (usuário, senha e o código que o Snapchat manda para o celular). Uma vez por dia o TrueContact lê a sua lista de amigos e os pedidos de amizade que você enviou e cria um contato para cada um que ainda não existe — o objetivo é limpar a lista e ter o @ de todos. O perfil de cada pessoa é lido pela página pública do Snapchat, sem abrir o navegador: nome de exibição e, em perfis públicos, foto, bio e site. O Bitmoji nunca vira foto, o nome só cria o contato e a foto só preenche quem ainda não tem. Cada amigo e cada pedido vira um contato próprio, nunca ligado a outro só pelo nome: o nome de um pedido é o da sua agenda, e o @ é de quem tem hoje aquele número. Quem já é seu contato é juntado pelo merge automático ou aparece nas sugestões de merge.

Como funciona a fonte Chess.com?

Em Configurações → Fontes → Chess.com, clique em "Conectar Chess.com" e faça login na janela do navegador. Uma vez por dia o TrueContact lê as suas listas (amigos e os pedidos de amizade que você enviou) e cria um contato para cada pessoa que ainda não existe. Cada perfil é lido pela API pública do Chess.com, sem abrir o navegador: nome, foto, cidade e país (como endereço, só para quem ainda não tem), a data de cadastro, o título de xadrez, a Twitch de quem é streamer, a bio e os links de outras redes da página do perfil. O nome só cria o contato, a foto só preenche quem não tem. Da bio entram só os links; as notas do contato nunca são alteradas.

Como funciona a fonte Discord?

Desde a 1.0.265. Em Configurações → Fontes → Discord, clique em "Conectar Discord" e faça login na janela do navegador (e-mail e senha, QR pelo app do celular ou login social). Uma vez por dia o TrueContact lê a sua lista de amigos e cria um contato para cada amigo que ainda não existe (quem já é contato nunca é duplicado). Depois, perfil a perfil, com pausa de 20 a 45 segundos, lê o @, o nome de exibição, a foto, os links da bio e as contas verificadas de outras redes ligadas ao Discord: GitHub, X, Instagram, TikTok, Facebook, YouTube, Twitch, Reddit, Spotify, Steam, Bluesky, Mastodon, Roblox, Xbox, eBay e PayPal viram perfis sociais do contato, com a URL do próprio serviço; PlayStation, Epic Games, Battle.net, Riot e afins, sem página pública, ficam só com o @; um domínio próprio vira site e o Skype vira mensageiro. Essas contas também servem para reconhecer um contato que você já tinha por outra rede. "Amigos desde" entra como data. O nome do Discord só cria o contato (costuma ser apelido), e a foto só preenche quem ainda não tem foto.

O TikTok deixa de seguir automaticamente quem eu excluo?

Sim. Ao excluir um contato sem grupo que veio do TikTok e que você segue, o TrueContact agenda o unfollow. Ele é feito na sua própria lista "Seguindo", sem visitar o perfil de ninguém, porque visitar perfis é o que dispara o captcha. Pausa de 8 a 20 segundos entre um e outro; limites "por ciclo" (10) e "por dia" (100) em Configurações → Fontes → TikTok. Uma sessão que parou no meio da lista retoma de onde ficou. Restaurar o contato da lixeira cancela o unfollow, e quem passou por ele nunca mais é recriado pela lista.

A sessão do botão Resolver captcha na tela virtual também faz os unfollows pendentes, com você presente.

Por que o TikTok abre o navegador só duas vezes por dia?

Cada abertura do navegador automatizado é exposição ao anti-robô do TikTok. O limite fica em Configurações → Fontes → TikTok → Sessões por dia (padrão 2); esgotado, o ciclo espera a meia-noite. O botão Resolver captcha e o Enriquecer manual não contam. Depois de um bloqueio, a pausa cresce: 24 horas no primeiro em 7 dias, 72 no segundo, 7 dias do terceiro em diante; o Resolver captcha libera na hora. A recomendação é manter Visitar perfis automaticamente desligado: todos os captchas registrados vieram de visitas a perfil, nenhum da leitura da lista, e a lista "Seguindo" já cria os contatos sem navegador.

O X estava criando contatos de perfis que eu não sigo. Foi corrigido?

Sim, na 1.0.248. A página "Seguindo" do X também devolve as sugestões "Quem seguir", e o TrueContact aceitava todo perfil que a página trazia. Agora só entra quem o X confirma como seguido (ou seguidor). Contatos criados antes a partir de sugestões podem ser excluídos normalmente.

Amigos Próximos do Instagram: como o TrueContact sabe quem está na lista?

Lendo a lista como ela aparece na tela de Amigos Próximos do próprio Instagram, linha a linha: o controle marcado tem um ícone diferente do vazio. Os dados brutos da página não servem, porque misturam a folha de compartilhar e a bandeja de stories; até a 1.0.249 isso fazia contas como Netflix Brasil entrarem como amigos próximos. Se a tela mudar e nenhum marcador for reconhecido, o TrueContact não enfileira ninguém e salva o HTML para diagnóstico.

O LinkedIn leu o perfil pela metade. Perco os dados?

Não. Se empresa e cargo, a foto ou uma das listas não foi lida por lentidão, o perfil é salvo com o que foi lido, nada do que já existia é apagado, e o item volta para a fila. O próximo ciclo tenta completar, e na terceira vez aceita o que tiver. O LinkedIn mudou o layout em outubro de 2026 e o nome passou a ser lido pelo título da aba; se o mesmo campo deixar de ser lido em três perfis seguidos, o log avisa que o layout provavelmente mudou de novo.

Como conectar o Instagram e o X (Twitter)?

O fluxo é o mesmo do LinkedIn e do Facebook: em Configurações → Fontes, clique em Conectar Instagram ou Conectar X, faça o login na janela do navegador que abre (no servidor sem tela, pela tela virtual embutida na própria página) e pronto — a sessão fica guardada localmente.

  • Carência de 24 horas — após um login novo, as leituras só começam no dia seguinte, para a conta não levantar suspeita
  • Pausa automática — ao menor sinal de bloqueio ou limitação, a rede entra em pausa e tenta de novo mais tarde, sozinha
  • Adicionar como contato — o Instagram pode criar contatos de quem você segue, dos mútuos ou dos Amigos Próximos; o X, de quem você segue. Perfis sem nome completo são ignorados e quem já é contato nunca é duplicado
Instalei em um servidor Linux sem tela (Raspberry Pi). Como conecto o LinkedIn e o Facebook?

O login acontece no próprio servidor, numa tela virtual que o instalador monta para isso — e você a acessa do seu computador como se estivesse controlando outro à distância:

  • Na interface web do servidor (ex.: http://IP-DO-SERVIDOR:6969) → Configurações → seção LinkedIn ou Facebook, clique em Reconectar (ou Conectar)
  • A tela de login do servidor aparece ali mesmo, embaixo do botão, já conectada. Não é preciso terminal, senha nem outro aplicativo
  • Faça o login normalmente — verificação em duas etapas, captcha, o que aparecer. Você tem 10 minutos
  • Assim que a rede confirmar a sessão, o TrueContact a salva, fecha o navegador e o bloco passa a Conectado

Se preferir, a mesma tela pode ser aberta em outra aba (link ao lado do título) ou por qualquer cliente VNC no endereço mostrado abaixo dela.

Por que não copiar os cookies do meu navegador? O LinkedIn e o Facebook amarram a sessão ao navegador e ao dispositivo em que o login foi feito. Uma sessão copiada — pela extensão Cookie-Editor ou pelo arquivo auth.json do app de desktop — é reconhecida como sequestro de sessão: a rede a revoga no servidor e derruba também o navegador de origem (você é deslogado no seu computador). Foi assim em testes reais. Por isso a sessão precisa nascer no navegador do servidor. Por isso a tela não oferece mais importação de sessão por arquivo ou colagem.

A tela virtual fica sempre ligada: além do login, a própria raspagem roda com janela nela, o que reduz os sinais de automação que essas redes procuram. O acesso à tela (VNC na porta 5900, noVNC na 6080) tem senha; em redes que não sejam totalmente confiáveis, restrinja com firewall ou use um túnel SSH.

Importante: não deixe o app do Mac e o servidor rodando ao mesmo tempo com as mesmas contas — dois hubs sincronizando a mesma agenda do iCloud/Google geram conflitos, e duas máquinas raspando o LinkedIn com a mesma sessão podem fazer a rede derrubá-la.

Como conectar o LinkedIn ou o Facebook?

As duas redes são fontes de enriquecimento: o TrueContact lê perfis públicos para preencher os seus contatos, mas nunca publica, comenta ou envia nada em seu nome.

O processo é o mesmo para as duas:

  • Abra as Configurações e vá à seção LinkedIn ou Facebook
  • Clique em Conectar
  • Uma janela de navegador se abre na página de login da rede
  • Faça login normalmente, incluindo a verificação em duas etapas, se houver
  • Assim que a rede confirmar a sessão, a janela fecha e o TrueContact assume dali em diante

A sessão fica salva localmente, como no seu próprio navegador. Se a rede encerrar a sessão — troca de senha, logout remoto, inatividade — o app avisa nas Configurações e basta reconectar.

O que cada radar faz?

Os dois radares acompanham a sua rede e alimentam a fila de enriquecimento:

  • Novos contatos — novas conexões do LinkedIn; novos amigos e solicitações pendentes do Facebook
  • Aniversários — nas duas redes
  • Mudança de cargo ou emprego — nas duas redes
  • Convites e solicitações — convites do LinkedIn ainda não aceitos aparecem no painel inicial; solicitações enviadas no Facebook são priorizadas na fila
  • Data de início do vínculo — data da conexão no LinkedIn, data de amizade no Facebook
Existe risco de bloqueio? Como o app se protege?

Tanto o LinkedIn quanto o Facebook são agressivos contra automação. O TrueContact trabalha devagar de propósito:

  • Limite por ciclo — quantos perfis são visitados a cada execução. O recomendado para o Facebook é 1 a 5; acima disso o risco de bloqueio temporário cresce bastante
  • Intervalo de reverificação — de quantos em quantos dias o perfil de cada contato é revisitado. O contador reinicia após qualquer enriquecimento, manual ou automático
  • Uma varredura de lista por dia — a lista de amigos e a de conexões são varridas no máximo uma vez a cada 24 horas
Se o TrueContact detectar um bloqueio ou limitação de taxa, ele encerra a sessão sozinho e mostra um aviso nas Configurações, em vez de insistir e agravar a situação.
Perfis de empresa, memorializados e apagados

Nem todo perfil é uma pessoa, e o sistema reconhece os casos especiais:

  • Páginas de empresa — marcadas como empresa, não como pessoa
  • Perfis memorializados — perfis de pessoas falecidas são detectados e retirados da fila de raspagem após o processamento
  • Perfis apagados — quando o endereço deixa de existir (erro 404), o perfil é marcado como inativo em vez de ser tentado indefinidamente

Não precisa esperar o ciclo automático para atualizar alguém: no painel do contato, o botão de enriquecimento ao lado do perfil social visita aquele perfil na hora.

Seção 6

Conectar o WhatsApp

Passo a passo: como ler o QR Code

No TrueContact:

  1. 1. Abre as Configurações (ícone ⚙️)
  2. 2. Vai à secção WhatsApp
  3. 3. Clica em "Conectar WhatsApp"
  4. 4. Aparece um QR Code — tens 60 segundos

No seu celular:

  1. 1. Abre o WhatsApp
  2. 2. Vai a Definições → Dispositivos conectados
  3. 3. Toca em "Conectar um dispositivo"
  4. 4. Aponta a câmara para o QR Code
O TrueContact aparece como "Chrome em [nome do computador]" na lista de dispositivos conectados. O WhatsApp permite até 4 dispositivos ao mesmo tempo.
Resolver problemas de conexão

O QR Code expira antes de conseguir ler

Clica em "Atualizar QR Code" nas Configurações. O código é regenerado instantaneamente.

"Sessão desligada" aparece nas Configurações

O WhatsApp desliga dispositivos inativos por mais de 14 dias. Repete o processo de conexão com o QR Code.

O WhatsApp diz "Número de aparelhos atingido"

Remove um dispositivo existente em WhatsApp → Configurações → Dispositivos conectados e tenta novamente.

As mensagens não estão a ser enviadas

Verifica em Configurações → WhatsApp se o estado mostra "Conectado". Se não, reconecta através do QR Code.

Seção 7

Templates e Automações

Como criar templates de mensagem de aniversário?
  1. Abre as Configurações
  2. Vai à secção Templates de Aniversário
  3. Clica em "Adicionar Template"
  4. Escreve a mensagem, usando {{nome_amigavel}} para o nome do contato
  5. Clica em "Salvar"

Exemplos de templates:

Olá {{nome_amigavel}}! 🎂 Hoje é o seu dia especial — muitas felicidades e que este novo ano traga tudo o que mereces! 🥳
{{nome_amigavel}}, parabéns pelo seu dia! 🎉 Que seja um ano cheio de conquistas e momentos especiais.
Feliz aniversário, {{nome_amigavel}}! 🎈 Que a vida te sorria sempre.
Cria 3 a 6 variações diferentes. O sistema garante que não envia a mesma mensagem duas vezes seguidas ao mesmo contato.
O que é a variável {{nome_amigavel}} e como funciona?

A variável {{nome_amigavel}} é substituída automaticamente pelo nome mais natural do contato. O sistema segue esta ordem de prioridade:

1

Apelido (Nickname)

Se o contato tiver um apelido definido no iCloud (ex: Zé), usa esse

2

Primeiro nome

Se não tiver apelido, usa o primeiro nome (ex: José)

3

Nome completo

Apenas como último recurso

Exemplo prático:

O seu contato está salvo como "José Manuel Ferreira da Silva" no iCloud, mas todo mundo o chama de "Zé". Com o apelido definido, a mensagem será:

"Olá Zé! 🎂..."

em vez de: "Olá José Manuel Ferreira da Silva! 🎂..."

Dica: Para adicionar um apelido no iPhone, abre o contato → "Editar" → "adicionar campo" → "Apelido".
Como funcionam o sorteio de mensagens e o delay de digitação?

Sorteio Aleatório

Quando há múltiplos templates, o sistema escolhe um aleatoriamente. O mesmo contato receberá uma mensagem diferente a cada aniversário.

Delay de Digitação

Antes de enviar, ativa o indicador "a escrever..." e aguarda um tempo proporcional ao comprimento da mensagem — como se fosses tu a escrever.

Aviso: Não configures templates com linguagem de marketing ou links promocionais. O WhatsApp pode suspender contas que enviam mensagens em massa com conteúdo publicitário. Os templates devem ser mensagens genuínas e pessoais.

Seção 8

Operações em Lote e Indicadores

Que pistas novas a tela de sugestões de merge usa?
  • Só um tem grupo (+20): o contato sem grupo costuma ser a cópia que uma rede criou depois. Os dois têm grupo (−15) é pista contra.
  • @ é o nome abreviado em ordem ("Cristiane" @crisluzsa = Cristiane Luz Salustiano) e @ é a inicial + um sobrenome raro ("Dan" @dfamano = Daniel Famano).
  • @ é o nome sem a letra acentuada (Tércio Gaspar × @trciogaspar).
  • E-mail sem o sufixo curto é o @ ("fabriciovmartins.sp" × @fabriciovmartins), primeiro nome + iniciais + sobrenome ("julioaoliveira") e nome invertido ("santosigor").

Essas pistas só alimentam a sugestão manual. O merge automático continua restrito aos casos de Configurações → Normalização → Deduplicação e Merge, cada um com interruptor. Filtros Com / Sem por pista, com contagem, ficam no topo da lista, e valem sobre todos os pares calculados. Fundir, excluir ou ignorar tira o par da lista na hora.

O merge pode misturar o nome de dois contatos?

Não mais. O nome do vencedor é mantido como um bloco: primeiro nome, nome do meio e sobrenome do mesmo contato. Até a 1.0.258 o merge automático pegava cada campo do primeiro contato que o tinha, e "Heitor Kuser" virou "Heitor Kuser Mercado Imobiliário Kuser" ao absorver um contato criado pelo Instagram. O vencedor é o contato que está no iCloud e, entre dois, o mais antigo; um "User" nunca vence.

Como funciona o cartão "Sem grupo" da tela inicial?

Ele abre em Outras, escondendo os contatos criados pelas listas do TikTok, Duolingo e Goodreads. O filtro por origem mostra cada rede com a contagem, inclusive o Telegram. Cada linha traz o chip da rede de onde o contato veio, o botão de grupo e um botão de excluir; atribuir um grupo tira o contato da lista na hora. No celular, aniversariantes, sem grupo e convites do LinkedIn ficam numa faixa no topo da lista, e cada um abre o cartão em tela cheia.

O painel inicial: aniversariantes, sem grupo e convites

Quando nenhum contato está selecionado, o TrueContact mostra o painel do dia, com três cards:

  • Aniversariantes de Hoje — quem faz aniversário hoje, com o botão de parabéns direto no card
  • Sem Grupo — contatos ainda não classificados; o botão Grupo atribui um grupo ali mesmo, com os usados recentemente no topo da lista
  • Convite Pendente — contatos com perfil do LinkedIn mas sem data de conexão, ou seja, convites que provavelmente ainda não foram aceitos
Excluir e fazer merge de vários contatos de uma vez

Na lista lateral, o ícone de seleção múltipla no topo permite marcar vários contatos ao mesmo tempo. Com eles marcados você pode:

  • Excluir selecionados — os contatos vão para a lixeira e a remoção é enfileirada para o iCloud e o Google
  • Fazer merge — abre a tela de merge já com os contatos escolhidos
Lixeira: recuperar contatos excluídos

Contatos excluídos não somem na hora — vão para a Lixeira, no ícone de lixo do cabeçalho.

A Lixeira tem o mesmo formato da tela principal: lista à esquerda, dados completos à direita. A diferença é que tudo fica em modo de leitura — não dá para editar campos, enviar mensagens nem enriquecer o perfil enquanto o contato estiver ali.

Para trazer alguém de volta, abra a Lixeira, localize o contato e clique em Restaurar. Ele volta à listagem principal e é reenfileirado para sincronização com todos os provedores conectados. Cada ida e volta fica registrada no histórico do contato — inclusive quando a exclusão veio de um merge ("Fundido em…") ou foi detectada pelos radares do iCloud/Google.

Contatos que sumiram por causa de um merge aparecem com a marcação "fundido em [nome]", indicando onde os dados foram consolidados.

O botão Limpar lixeira apaga permanentemente tudo o que está lá e propaga a exclusão para os provedores. Essa ação não pode ser desfeita.
O que significam os badges no cabeçalho?

Os badges coloridos no cabeçalho indicam contatos aguardando processamento:

  • LinkedIn — contatos na fila de enriquecimento do LinkedIn
  • Facebook — contatos na fila de enriquecimento do Facebook
  • WhatsApp — números aguardando verificação
  • Google — contatos aguardando sincronização com o Google Contacts
  • Apple — contatos aguardando sincronização com o iCloud

Quando há itens em fila, o ícone pulsa. Uma fonte desconectada aparece com ⚠️ ao lado do logo — a fila dela segue acumulando e será processada quando reconectar. Clicar em qualquer badge abre as Configurações direto na aba daquela fonte.

O que mostram os ícones de origem junto a cada campo?

Cada campo na ficha do contato e na tela de merge exibe um pequeno ícone colorido à direita do valor, indicando de onde aquela informação veio:

  • Apple (cinza) — campo importado ou sincronizado via iCloud
  • Google (azul) — campo importado ou sincronizado via Google Contacts
  • LinkedIn (azul escuro) — campo extraído automaticamente do perfil do LinkedIn
  • Facebook (azul) — campo extraído automaticamente do perfil do Facebook
  • WhatsApp (verde) — campo importado do perfil ou da conta comercial via WhatsApp
  • Lápis (âmbar) — campo editado manualmente
  • Merge (violeta) — campo resultado de uma fusão de contatos

Passe o mouse sobre o ícone para ver o nome completo da fonte. Na tela de merge, esses ícones ajudam a decidir qual versão de cada campo preservar.

O que faz o botão Reprocessar perfis nas Configurações?

Em Configurações → Agendamento, o botão Reprocessar perfis não enriquecidos faz três coisas em sequência:

  1. Zera a data de última verificação de todos os perfis do LinkedIn e Facebook que ainda não estão na fila de trabalho
  2. Zera a verificação de WhatsApp de todos os telefones nas mesmas condições
  3. Re-enfileira imediatamente tudo para o próximo ciclo do agendador

É útil quando você instala o TrueContact num computador novo, conecta o LinkedIn, o Facebook ou o WhatsApp e quer que o enriquecimento comece já — sem esperar o ciclo anual de rotação. Também serve para forçar uma segunda rodada de enriquecimento após uma sessão desconectada por muito tempo.

Dependendo do número de contatos, a fila pode demorar horas ou dias para ser processada completamente — o agendador trabalha em lotes pequenos para não acionar bloqueios. Acompanhe o progresso pelos badges coloridos no cabeçalho.

Seção 9

Histórico e Reversão

O que é o selo "Novo" ou "Alterado" ao lado da fonte de um campo?

Desde a 1.0.260, cada campo da ficha (e-mails, telefones, redes sociais, sites, endereços, datas, grupos, mensageiros, relacionados, nome, cargo, empresa, apelido, notas e foto) mostra, ao lado do ícone da fonte, um selo Novo quando o item foi acrescentado nos últimos 7 dias, ou Alterado quando o valor mudou nesse período. Um e-mail que não existia e chegou pelo iCloud aparece como "Novo"; um cargo ou empresa que o LinkedIn atualizou aparece como "Alterado". Passe o mouse sobre o selo para ver a origem e a data. Na lista de contatos, à esquerda, um brilho verde ao lado do nome indica que o contato ganhou campos novos nesse período, e âmbar que só houve alterações. Um contato criado nesse período aparece com um ícone azul de pessoa com "+", que substitui o brilho. Um contato que passou por merge nesse período mostra também um ícone de merge: rosa quando foi manual, um robô verde-azulado quando foi automático. E o mesmo ícone roxo de merge que aparece na ficha indica, na lista, que existe uma sugestão de merge envolvendo o contato. O selo vem do histórico do contato, então vale igual para qualquer fonte. A janela de 7 dias é a chave novidades_dias em Configurações.

Existe uma auditoria do que os provedores removeram?

Sim, desde a 1.0.255. Todo domingo às 04:10 o TrueContact varre o histórico dos últimos 7 dias e lista o que o iCloud ou o Google removeram e ainda falta no contato, marcando como suspeito o item que o outro provedor ainda tem. O resultado fica em /api/diagnostico/perdas e cada item suspeito vai para o log do painel. Para rodar fora de hora: POST /api/auditoria/perdas com { "dias": 7 }. Roda num processo separado e não trava o painel.

Por que "Desfazer merge" às vezes é recusado?

Porque o contato absorvido já não está na lixeira: foi excluído em definitivo ou a lixeira foi esvaziada. Sem ele não há o que restaurar, e o botão avisa em vez de refazer um merge pela metade. Desfazer merge também passou a remover do vencedor só o que o merge acrescentou, comparando o retrato de antes com o de depois.

O que o histórico de um contato mostra?

Todo contato tem uma aba de Histórico que registra tudo o que aconteceu com ele: sincronizações, enriquecimentos, edições manuais, merges, idas e voltas da lixeira, limpezas automáticas e mensagens enviadas pelo WhatsApp.

Cada entrada mostra:

  • Quando aconteceu, com data e hora
  • De onde veio — ícone da fonte: Apple, Google, LinkedIn, Facebook, WhatsApp, edição manual, merge, lixeira ou limpeza automática
  • O que mudou — campos acrescentados em verde, removidos em vermelho e alterados com o valor antes e depois

Entradas que não alteraram nada — uma sincronização que apenas confirmou o que já existia — ficam recolhidas por padrão. Um botão no topo da aba exibe todas.

Como reverter um contato para um estado anterior?

Se um radar sobrescreveu algo que não devia, você não precisa reconstruir o contato à mão:

  • Abra o contato e vá à aba Histórico
  • Encontre a entrada imediatamente anterior ao problema
  • Clique em Reverter para este estado e confirme

O contato volta exatamente àquele estado — inclusive campos que tinham sido acrescentados depois são removidos, não apenas os que tinham sido perdidos. A reversão é propagada para o iCloud e o Google como qualquer outra alteração.

Como desfazer um merge?

Merges têm um botão próprio: Desfazer merge. Além de devolver o contato vencedor ao estado anterior, ele restaura os contatos que tinham sido absorvidos, com os grupos e relacionamentos que existiam na época.

Isso vale tanto para merges manuais quanto para os feitos automaticamente pelo auto-merge. Vencedor e restaurados são reenviados para todos os provedores conectados.

Exclusões e restaurações ficam registradas?

Sim. Toda ida e volta da Lixeira gera uma entrada no histórico do contato — Enviado para a lixeira ou Restaurado da lixeira — com a origem de quem fez:

  • Exclusão no painel — única ou em lote
  • Merge — o duplicado absorvido recebe o registro "Fundido em…", apontando o contato vencedor
  • Radares — contato apagado diretamente no iCloud ou no Google Contacts fica marcado como detectado pelo radar

Como a exclusão preserva os dados, o registro sobrevive: se o contato for restaurado, a linha do tempo conta a história completa. A restauração reenvia o contato para todos os provedores conectados, não apenas o iCloud.

Por quanto tempo o histórico é mantido?

A interface mostra as últimas 100 entradas de cada contato. Desde a 1.0.255, as últimas 10 entradas de cada contato ficam sempre, por mais antigas que sejam, e o registro de um merge é mantido enquanto o contato absorvido existir. Cada registro guarda só uma referência à foto, que fica uma única vez numa tabela própria.

No banco de dados, registros com mais de 30 dias são apagados numa limpeza automática que roda todas as madrugadas, às 03:30. Confirmações de envio, que não servem para desfazer nada, são apagadas após 2 dias. O espaço é devolvido ao sistema imediatamente.

Numa base ativa o histórico cresce cerca de 30 MB por dia, porque cada estado guarda também a foto do contato — por isso a limpeza existe.

Seção 10

Atualizações

Como funciona a atualização automática?

O TrueContact usa um sistema de atualização OTA (Over-The-Air) — silencioso, automático e seguro. Você não precisa fazer nada.

  1. 1Quando a app inicia, verifica discretamente se existe uma versão mais recente
  2. 2Se encontrar uma versão nova, baixa em segundo plano sem interromper o seu trabalho
  3. 3Uma notificação discreta pergunta se queres instalar agora ou na próxima abertura
  4. 4A atualização é instalada e a app reinicia automaticamente
As atualizações são seguras?

Sim. Cada arquivo de atualização é assinado criptograficamente antes de ser publicado. O TrueContact verifica esta assinatura antes de instalar qualquer atualização — se a assinatura não corresponder, a atualização é rejeitada automaticamente. Isto protege-te contra arquivos corrompidos ou adulterados.

Nota técnica: As atualizações são publicadas no repositório público osnipassos/truecontact-releases. O código-fonte nunca é publicado nesse repositório — apenas os binários compilados e assinados.

Podes sempre ver a versão instalada em Configurações → Sobre o TrueContact, no fundo da página.

Não encontrou resposta?

Abra uma issue no GitHub e responderemos assim que possível.

Abrir Issue no GitHub