O seu Mac e o seu PC Windows mantêm um diário de tudo o que faz: como o ler e como o desligar
O seu computador mantém um diário sobre si, e não é o histórico do navegador. O macOS anota que aplicação estava à sua frente e durante quanto tempo, ao segundo, quando o ecrã se ligou e desligou, que sites o Safari abriu e que notificações recebeu; no macOS 26 fá-lo em dois sítios, uma base de dados chamada knowledgeC e 118 fluxos "Biome" que cobrem a área de transferência, o Wi-Fi, a localização e os pedidos à Siri. O Windows regista cada programa que abriu a partir do menu Iniciar com um contador e uma marca temporal, os últimos oito arranques de cada executável, um mês de tráfego de rede por aplicação e, nos PC Copilot+, capturas de ecrã de poucos em poucos segundos. Nada disto sai da máquina por defeito, o que tranquiliza tanto quanto inquieta, porque quem fica com a máquina fica com o diário. Abaixo: o que é guardado, um script para cada sistema para ler a sua própria cópia e o que pode ser desligado.
Em resumo
- Num Mac,
~/Library/Application Support/Knowledge/knowledgeC.dbguarda cerca de quatro semanas de tempo em primeiro plano por aplicação, ligar e desligar do ecrã e domínios do Safari; abre-se com o sqlite3 integrado, e a pasta Biome ao lado (110 MB no nosso Mac de teste) é onde as versões recentes do macOS guardam o resto. - No Windows, a chave de registo UserAssist guarda o número de arranques e o último início de cada programa com interface, o Prefetch guarda os últimos oito arranques de cada executável, o SRUM regista 30 dias de bytes de rede por aplicação, o Histórico de atividades guarda o que abriu e o Recall o que viu.
- Para o ler é preciso ser você: no Mac o terminal precisa de Acesso total ao disco, no Windows de uma janela de administrador. Esse é também o modelo de ameaça: uma aplicação a que deu esse acesso, um ladrão com a sua palavra-passe, o administrador da sua entidade patronal, um agente de fronteira que obteve o código.
- Não há um único interruptor. O que funciona é um conjunto: desligar as funções que alimentam os registos (sugestões da Siri, Tempo de ecrã, rastreio de arranques, Histórico de atividades, Recall), apagar os arquivos quando quiser recomeçar do zero e tratar a cifragem total do disco mais o ecrã bloqueado como a verdadeira defesa.
O que um Mac se lembra e como o ler
A comunidade forense da Apple documenta o knowledgeC.db desde 2018, quando a investigadora Sarah Edwards o descreveu como a melhor fonte de "padrão de vida" num Mac. É o arquivo por trás do Tempo de ecrã e das sugestões da Siri. Cada linha da tabela ZOBJECT é um evento com um nome de fluxo, um início e um fim: /app/usage é a aplicação em primeiro plano e durante quanto tempo, /display/isBacklit o ecrã a ligar ou desligar, /app/webUsage e /safari/history a navegação, /notification/usage o que o notificou. No nosso Mac de teste com macOS 26.6, a base continha 757 eventos, quatro semanas para trás no uso de aplicações e cinco meses em alguns fluxos. Mostrava 113 horas no Chrome, 5,7 no Terminal, 2,4 no Telegram e uma cronologia completa de quando o ecrã esteve ligado, até uma sessão de três minutos às 21:25 de uma sexta-feira. Desde o macOS Catalina, a Apple tem passado a maior parte disto para o Biome, uma framework que Howard Oakley descreveu em 2022 como a maquinaria das sugestões: ~/Library/Biome/streams tem uma pasta por fluxo, e os nomes dos fluxos são a lista do que é observado: App.InFocus, App.WebUsage, Pasteboard.Change, Device.Wireless.WiFi, Location.MicroLocationVisit, Notification.Usage, Media.NowPlaying, Siri.Query, ProactiveHarvesting.Safari.PageView, ProactiveHarvesting.Mail, ProactiveHarvesting.Messages, ProactiveHarvesting.Notes, ScreenTime.AppUsage, TextUnderstanding.Deletions.Document. Os ficheiros Biome usam um formato binário chamado SEGB; as ferramentas forenses leem-no, o utilizador comum não, mas a presença e o tamanho verificam-se facilmente.
O script abaixo copia a base para uma pasta temporária (o macOS bloqueia o ficheiro ativo) e imprime o resumo. Dê primeiro ao Terminal Acesso total ao disco (Definições do Sistema, Privacidade e segurança, Acesso total ao disco) e retire-o depois se não precisar: é essa permissão que deixa qualquer aplicação ler o diário.
#!/bin/bash
# What this Mac remembers about you. Read-only.
T=$(mktemp -d)
cp ~/Library/Application\ Support/Knowledge/knowledgeC.db* "$T"/ 2>/dev/null || { echo "No access: give Terminal Full Disk Access first"; exit 1; }
DB="$T/knowledgeC.db"
echo "== Time in focus per app, last 7 days (hours)"
sqlite3 -column "$DB" "SELECT ROUND(SUM(ZENDDATE-ZSTARTDATE)/3600.0,1) AS hours, ZVALUESTRING AS app FROM ZOBJECT WHERE ZSTREAMNAME='/app/usage' AND ZSTARTDATE > strftime('%s','now','-7 days')-978307200 GROUP BY app ORDER BY hours DESC LIMIT 15;"
echo "== Screen on/off, last 15 events (local time)"
sqlite3 -column "$DB" "SELECT datetime(ZSTARTDATE+978307200,'unixepoch','localtime') AS at, CASE ZVALUEINTEGER WHEN 1 THEN 'on' ELSE 'off' END AS screen, ROUND((ZENDDATE-ZSTARTDATE)/60.0) AS minutes FROM ZOBJECT WHERE ZSTREAMNAME='/display/isBacklit' ORDER BY ZSTARTDATE DESC LIMIT 15;"
echo "== Every stream in the database: records and oldest entry"
sqlite3 -column "$DB" "SELECT ZSTREAMNAME AS stream, COUNT(*) AS records, datetime(MIN(ZSTARTDATE)+978307200,'unixepoch') AS oldest FROM ZOBJECT GROUP BY 1 ORDER BY 2 DESC;"
echo "== Biome streams that hold data"
for d in ~/Library/Biome/streams/restricted/*/local; do n=$(ls "$d" 2>/dev/null | grep -c '^[0-9]'); [ "$n" -gt 0 ] && echo "$(basename "$(dirname "$d")"): $n file(s), $(du -sh "$d" | cut -f1)"; done
rm -rf "$T"
Como reduzir num Mac
A Apple não oferece nenhum interruptor com a etiqueta "parar de registar". O que existe são as funções que se alimentam destes registos, e cada uma pode ser desligada. O Tempo de ecrã é a óbvia: Definições do Sistema, Tempo de ecrã, desligue-o se não o usa e deixa de construir a sua própria base de utilização. As sugestões da Siri são a fonte maior: Definições do Sistema, Apple Intelligence e Siri, "Sugestões da Siri e privacidade", e aí, para cada aplicação, desligue "Aprender com esta aplicação" e "Mostrar sugestões da Siri na aplicação"; é a definição que o próprio texto da Apple descreve como "permitir que a Siri aprenda com a forma como usa esta aplicação". Os arquivos knowledgeC e Biome continuam a existir para as necessidades do sistema, por isso o segundo passo é apagá-los quando quiser um recomeço limpo: no Terminal execute rm ~/Library/Application\ Support/Knowledge/knowledgeC.db* e rm -r ~/Library/Biome/streams/*, depois reinicie; o macOS recria arquivos vazios. O terceiro passo importa mais do que os dois primeiros. Abra Definições do Sistema, Privacidade e segurança, Acesso total ao disco e leia a lista: cada aplicação ali pode ler o diário e tudo o resto na sua pasta pessoal. Mantenha o FileVault ligado, faça o ecrã bloquear ao fim de poucos minutos e dê aos convidados uma conta própria; os registos são por utilizador, e um Mac bloqueado e cifrado não os entrega a ninguém.
O que o Windows se lembra e como o ler
O Windows espalha o diário por vários sítios, cada um documentado pelos peritos forenses porque cada um sobrevive ao que o utilizador julga ser apagar. O UserAssist, uma chave de registo em HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist, regista cada programa iniciado pelo menu Iniciar ou pelo Explorador com um contador de arranques, um contador de foco e a hora do último arranque; os nomes estão em ROT13, um deslocamento de letras que não esconde nada de quem o conhece. O Prefetch, em C:\Windows\Prefetch, guarda um ficheiro por executável com os últimos oito arranques, até 1.024 programas. O SRUM, o System Resource Usage Monitor em C:\Windows\System32\sru\SRUDB.dat, é o registo por trás do "Histórico de aplicações" do Gestor de Tarefas: cerca de um mês de bytes enviados e recebidos e energia gasta, por aplicação, quer olhe ou não. O Histórico de atividades, em ActivitiesCache.db no perfil local, guarda as aplicações, ficheiros e sites abertos; a Microsoft retirou a opção de o carregar em janeiro de 2024, mas a cópia local permanece. E nos PC Copilot+, o Recall tira "uma captura do ecrã ativo de poucos em poucos segundos e quando o conteúdo da janela ativa muda", indexa texto e imagens e guarda-os localmente atrás do Windows Hello. É opcional e vem removido por defeito em dispositivos geridos, pode ser filtrado por aplicação e por site; continua a ser um filme pesquisável de tudo o que olhou.
# What this PC remembers about you. Read-only. Run PowerShell as administrator for Prefetch and Recall.
function Rot13([string]$s){ -join ($s.ToCharArray() | ForEach-Object { $c=[int]$_; if($c -ge 65 -and $c -le 90){[char]((($c-65+13)%26)+65)} elseif($c -ge 97 -and $c -le 122){[char]((($c-97+13)%26)+97)} else {[char]$c} }) }
Write-Host "== UserAssist: programs started from Start or Explorer (runs, last run)"
Get-ChildItem 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist' | ForEach-Object {
$count = Join-Path $_.PSPath 'Count'
if (Test-Path $count) {
(Get-ItemProperty $count).PSObject.Properties | Where-Object { $_.Name -notlike 'PS*' -and $_.Value -is [byte[]] -and $_.Value.Length -ge 68 } | ForEach-Object {
$b = $_.Value; $runs = [BitConverter]::ToInt32($b, 4); $ft = [BitConverter]::ToInt64($b, 60)
if ($runs -gt 0 -and $ft -gt 0) { [pscustomobject]@{ Runs=$runs; LastRun=[DateTime]::FromFileTime($ft); Program=(Rot13 $_.Name) } }
}
}
} | Sort-Object LastRun -Descending | Select-Object -First 25 | Format-Table -AutoSize
Write-Host "== Prefetch: last 20 programs Windows saw start"
Get-ChildItem C:\Windows\Prefetch -Filter *.pf -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 20 Name, LastWriteTime | Format-Table -AutoSize
Write-Host "== Activity history and SRUM databases"
Get-ChildItem "$env:LOCALAPPDATA\ConnectedDevicesPlatform" -Recurse -Filter ActivitiesCache.db -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime | Format-Table -AutoSize
Get-Item C:\Windows\System32\sru\SRUDB.dat -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime | Format-Table -AutoSize
Write-Host "== Recall (Copilot+ PCs only)"
Get-WindowsOptionalFeature -Online -FeatureName Recall -ErrorAction SilentlyContinue | Select-Object FeatureName, State
Como reduzir no Windows, e a parte que não é técnica
Quatro definições cobrem a maior parte. Definições, Privacidade e segurança, Geral: desligue "Permitir que o Windows melhore os resultados do Iniciar e da pesquisa acompanhando os arranques de aplicações"; isso trava as novas entradas do UserAssist, e as antigas ficam até apagar as chaves Count sob UserAssist no Editor de Registo. Definições, Privacidade e segurança, Histórico de atividades: desligue "Armazenar o meu histórico de atividades neste dispositivo" e carregue em "Limpar histórico". Num PC Copilot+, Definições, Privacidade e segurança, Recall e capturas: desligue a gravação de capturas e apague-as, ou remova a funcionalidade por completo em "Ativar ou desativar funcionalidades do Windows", o que, segundo a Microsoft, apaga todas as capturas guardadas. O Prefetch e o SRUM não têm interruptor: o Prefetch pode ser desativado no registo à custa de arranques mais lentos, e o SRUM é reconstruído pelo Serviço de Política de Diagnóstico assim que o ficheiro é removido. Tal como no Mac, a defesa que aguenta é o BitLocker ou a cifragem do dispositivo com um início de sessão forte e um ecrã que bloqueia, mais uma conta padrão separada para quem mais usar a máquina.
De tudo isto seguem-se duas coisas para quem se importa com a privacidade. A primeira: "apenas local" é uma promessa sobre a nuvem, não sobre si. A Apple e a Microsoft têm razão em que estes arquivos não saem do dispositivo, e mesmo assim são o registo mais completo do seu dia que existe em qualquer lado. A segunda: a mesma permissão que o deixa lê-los deixa qualquer ferramenta lê-los, e é por isso que dar a um assistente de IA Acesso total ao disco ou direitos de administrador para "analisar os seus hábitos", como sugerem os prompts virais, significa enviar quatro semanas da sua vida ao modelo que responder. Leia o diário você mesmo; os scripts acima chegam.
A Apple ou a Microsoft recebem estes dados?
Posso simplesmente apagar o knowledgeC.db?
Quem pode ler estes ficheiros?
O Recall vem ligado por defeito?
E no Linux?
• Knowledge is Power! Using the macOS/iOS knowledgeC.db Database - Sarah Edwards, mac4n6
• Biome isn't about biometrics, but suggestions - Howard Oakley, The Eclectic Light Company
• 84 Streams Later: Exploring the Evolution of Apple Biome - Mattia Epifani
• UserAssist Forensic Artifacts - Magnet Forensics
• Windows activity history and your privacy - Microsoft Support
• Retrace your steps with Recall - Microsoft Support
• Manage Recall - Microsoft Learn