2 pontos por justn 2026-04-17 | 10 comentários | Compartilhar no WhatsApp

Ao tentar apagar um repositório de teste, acabei apagando uma organização inteira do GitHub com 9 pessoas.

Eu estava fazendo testes end-to-end de um bot de webhook do Discord e, achando que estava nas Settings do repositório de teste, rolei até a Danger Zone e cliquei em "Delete this repository". Logo após a exclusão, a página para a qual fui redirecionado não era um 404 do repositório, mas um 404 da organização. Só então percebi que eu tinha passado o tempo todo nas Settings da organização.

O golpe final foi que eu não li direito o texto de confirmação. Convencido de que o alvo a ser apagado era, obviamente, o repositório de teste, copiei e colei sem pensar. O que realmente entrou no campo foi o nome da organização. Um único copiar e colar, e passou direto. Repositórios, issues, PRs, discussões e todo o histórico de CI sumiram de uma vez.

Mandei uma mensagem urgente para o time no KakaoTalk e enviei um e-mail para o suporte do GitHub, então esperei 7 dias úteis. Durante esse período, não dava nem para fazer push nem para ver issues.

Mas, quanto mais eu pensava nisso, mais estranho parecia.

Seja para apagar um repositório ou uma organização, o caminho de recuperação é o mesmo: "mandar um e-mail para o suporte". Só que, no caso de uma organização, dezenas de membros e dezenas de repositórios podem sumir de uma vez, mas a UI reaproveita exatamente o mesmo fluxo de exclusão de repositório, permite copiar e colar e não traz nenhum alerta proporcional ao poder destrutivo. Um botão capaz de apagar 100 vezes mais coisas está protegido pelos mesmos guardrails fracos.

Por isso criei o for-real.

Quando você aperta o botão de excluir em um repositório ou organização cadastrados, ele intercepta o clique, e só libera por 5 minutos depois que você digita manualmente um código aleatório de 20 caracteres. Copiar e colar foi bloqueado. Se a intenção for séria, basta digitar.

Eu sei que o GitHub já alerta por meio da Danger Zone. Mas achei que, se isso puder impedir que pelo menos uma pessoa cometa o mesmo erro que eu, esse pequeno tempo extra já vale muito a pena.

A extensão ainda está em análise na Web Store, então por enquanto só dá para instalar sem empacotar. O guia de instalação e o código-fonte estão no repositório. Feedback é bem-vindo.

Showcase: https://www.youtube.com/watch?v=n3q9DMqOb_s

10 comentários

 
joyfui 2026-04-17

Eu já tinha ouvido uma história de alguém que, ao tentar apagar um canal no YouTube, acabou apagando a conta do Google inteira (ainda bem que conseguiu recuperar).
Será que, se essa pessoa tivesse passado por um procedimento assim, teria sido possível evitar uma tragédia dessas...?

 
dydwls140 2026-04-17

Dá mesmo para confundir Delete this repository com Delete this organization.

 
justn 2026-04-17

A interface de Settings parece mais parecida do que eu imaginava, então, fazendo isso meio distraído, acabei me confundindo;;
O GitHub até separou isso numa Danger Zone, mas no fim erro humano acontece até lá,,

 
dydwls140 2026-04-17

Tem que tomar cuidado mesmo..

 
ipeng 2026-04-17

https://httpie.io/blog/stardust Já houve um caso parecido antes, em que 54k stars foram zeradas; naquela época também apontaram problemas de UI, e já se passaram 4 anos desde então.

 
runableapp 2026-04-17

Deve ter dado um frio na espinha. É admirável ver você compartilhar a experiência e apresentar uma solução para evitar esse problema.

Uma exclusão dessa magnitude parece mesmo algo que deveria ter um período de carência. Como a lixeira do computador, seria bom que a exclusão de fato só acontecesse alguns dias depois, para que houvesse um mecanismo de recuperação.

 
hshim 2026-04-17

Nossa, que susto...

 
holywork 2026-04-17

Parece que basta impedir copiar e colar.

 
justn 2026-04-17

Eu também apaguei tudo por ter copiado e colado sem pensar... então, neste projeto, até o copiar e colar foi bloqueado. Obrigado por ler.

 
holywork 2026-04-21

Obrigado por compartilhar um programa tão bom. Seria ótimo se o próprio GitHub atrasasse a exclusão de organizações ou contas em algo como 24 a 72 horas.