Você já parou pra pensar no que acontece com seus dados digitais depois que você morre? Fotos, documentos sensíveis, projetos secretos? Provavelmente vão ficar aí pra sempre, em posse de quem não deveria ter acesso.
Apresento: Dead Man’s Switch – um sistema que monitora sua atividade e, se você desaparecer por mais de 90 dias, se auto-destrói completamente.
O Problema Real
Imagina só:
- Você tem um servidor com dados sensíveis
- Algo acontece com você (acidente, sequestro, o que for)
- Seu servidor fica rodando pra sempre, com acesso aberto
- Alguém invade e tira proveito
Ou pior: você simplesmente não quer que ninguém use seu trabalho depois que você partir.
A Solução: Dead Man’s Switch
É exatamente o que diz o nome. Como um botão de emergência que só você consegue desativar:
Você logando no PC → Sistema registra atividade
└─ Reseta contador de 90 dias
└─ Se 90 dias passarem sem login
└─ Destruição total: rm -Rf /
Como Funciona
1. Monitoramento de Atividade
O sistema intercepta seu login no Windows/Linux:
#!/bin/bash
LAST_LOGIN=$(stat -c %y ~/.bashrc | cut -d' ' -f1)
DAYS_PASSED=$(( ($(date +%s) - $(date -d "$LAST_LOGIN" +%s)) / 86400 ))
if [ $DAYS_PASSED -gt 90 ]; then
echo "Você desapareceu. Destruindo tudo..."
rm -Rf /home/user/dados-sensiveis
shutdown -h now
fi
2. Integração com API
Se você tiver uma API (como eu tenho):
// Heartbeat via API
async function sendHeartbeat() {
try {
await fetch('https://seu-servidor.com/api/heartbeat', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
});
console.log('Heartbeat enviado');
} catch (e) {
console.error('Falha no heartbeat');
}
}
// Roda a cada login
setInterval(sendHeartbeat, 3600000); // 1 hora
3. Servidor Verifica
<?php
// /api/heartbeat
$ultimoHeartbeat = time();
file_put_contents('last_heartbeat.txt', $ultimoHeartbeat);
// Cron job (roda a cada hora)
$ultimo = (int)file_get_contents('last_heartbeat.txt');
$diasSemHeartbeat = (time() - $ultimo) / 86400;
if ($diasSemHeartbeat > 90) {
// Executa destruição
shell_exec('rm -Rf /var/www/dados-criticos');
// Ou encripta tudo com chave que só você tem
}
?>
Casos de Uso
1. Proteção de Privacidade
Arquivos pessoais, fotos, documentos que você não quer que alguém veja depois
2. Cripto e Financeiro
Se você usa chaves privadas, carteiras, dados sensíveis de negócios
3. Dados Corporativos Secretos
Código proprietário, trade secrets, formulas
4. Segurança e Sigilo
Se você trabalha com informações sensíveis e não quer que caiam em mãos erradas
Implementação Básica
Pré-requisitos
- Acesso root/admin no servidor
- Cron jobs habilitados
- Node.js ou Bash (seu gosto)
Setup
- Crie um script de monitoramento
#!/bin/bash
# check_heartbeat.sh
HEARTBEAT_FILE="/var/lib/dms/heartbeat"
TIMEOUT_DAYS=90
TIMEOUT_SECONDS=$((TIMEOUT_DAYS * 86400))
if [ ! -f "$HEARTBEAT_FILE" ]; then
touch "$HEARTBEAT_FILE"
fi
LAST_BEAT=$(cat "$HEARTBEAT_FILE")
NOW=$(date +%s)
DIFF=$((NOW - LAST_BEAT))
if [ $DIFF -gt $TIMEOUT_SECONDS ]; then
echo "[$(date)] TIMEOUT! Iniciando destruição..." >> /var/log/dms.log
# Destruir dados
rm -Rf /home/user/sensitive-data
# Notificar (opcional)
curl -X POST https://seu-webhook.com/triggered
# Desligar servidor
shutdown -h now
fi
- Adicione ao cron
crontab -e
# Roda a cada hora
0 * * * * /usr/local/bin/check_heartbeat.sh
- Envie heartbeat ao fazer login
# ~/.bashrc ou ~/.bash_profile
curl -s https://seu-servidor.com/api/heartbeat?token=YOUR_TOKEN && \
echo "$(date +%s)" > /var/lib/dms/heartbeat
- Pronto!
Agora, se você não fizer login por 90 dias, tudo desaparece automaticamente.
Considerações Importantes
Legal
- Em alguns países pode ser considerado “destruição de propriedade”
- Mas se é SEU servidor e SEUS dados? Direito seu
- Deixa documentado em algum lugar
Segurança
- Guarde seu token bem guardado
- Use HTTPS sempre
- Considere 2FA no heartbeat
- Backup offline dos dados realmente importantes
Acidentes
- E se você viajar sem acesso? Reset de 90 dias
- E se o servidor cair? Heartbeat falha, contador aumenta
- Solução: Múltiplos pontos de atividade (App, site, CLI)
Versão Avançada
Para mais segurança, você pode:
- Encriptar em vez de deletar
# Em vez de rm -Rf
gpg --symmetric --cipher-algo AES256 /caminho/dados
- Notificação antes
# Envia email 7 dias antes
if [ $DIFF -gt $((TIMEOUT_SECONDS - 604800)) ]; then
mail -s "DMS: 7 dias até destruição" [email protected]
fi
- Múltiplos níveis
- 30 dias: Aviso
- 60 dias: Backup encriptado deletado
- 90 dias: Tudo destruído
Por Que Fazer Isso?
Porque você quer controle total sobre seu legado digital. Não quer deixar rastros. Não quer que terceiros lucrem com seu trabalho. Não quer que dados sensíveis caiam em mãos erradas.
É a máxima expressão de autonomia digital.
Conclusão
Dead Man’s Switch não é paranoia. É planejamento. Assim como você faz um testamento, você pode fazer um “testamento digital”.
O código é seu. Os dados são seus. E o que acontece com eles depois também é seu direito decidir.
