2 puntos por justn 2026-04-17 | 10 comentarios | Compartir por WhatsApp

Intenté borrar un repo de prueba y terminé eliminando por completo una organización de GitHub de 9 personas.

Estaba haciendo pruebas end-to-end de un bot de webhook de Discord, y pensé que estaba en los Settings del repo de prueba. Bajé hasta Danger Zone y le di a "Delete this repository". Justo después de borrarlo, la página a la que me redirigió no fue un 404 del repo, sino un 404 de la organización, y recién ahí me di cuenta de que había estado todo el tiempo en los Settings de la organización.

El golpe final fue que ni siquiera leí bien el texto de confirmación. Como daba por hecho que lo que iba a borrar era el repo de prueba, copié y pegué sin pensar, y lo que realmente entró en el campo fue el nombre de la organización. Un solo copy-paste y pasó sin problemas. Repos, issues, PRs, discussions y todo el historial de CI desaparecieron de una sola vez.

Le mandé un mensaje urgente por KakaoTalk a mi equipo y le escribí al soporte de GitHub; luego tuve que esperar 7 días hábiles. Mientras tanto, no se puede hacer push ni ver issues.

Pero mientras más lo pensaba, más raro me parecía.

Tanto para borrar un repo como para borrar una organización, la vía de recuperación es la misma: "mandar un correo al soporte". Pero en el caso de una organización, pueden desaparecer de golpe decenas de miembros y decenas de repos, y aun así la UI reutiliza tal cual el flujo de borrado de repositorio, permite copy-paste y ni siquiera da una advertencia proporcional al nivel de destrucción. Un botón capaz de borrar 100 veces más cosas está protegido por exactamente las mismas barreras débiles.

Por eso hice for-real.

Cuando presionas el botón de borrar en un repo u organización que registraste, intercepta el clic y solo lo desbloquea por 5 minutos si escribes manualmente un código aleatorio de 20 caracteres. El copy-paste está bloqueado. Si realmente estás decidido, solo tienes que teclearlo.

Sé que GitHub ya advierte con su Danger Zone. Pero pensé que si esto puede evitar que aunque sea una sola persona cometa el mismo error que yo, esos pocos segundos extra valen totalmente la pena.

Ahora mismo solo se puede instalar descomprimida, porque todavía está en revisión en la Web Store. La guía de instalación y el código fuente están en el repo. Se agradece el feedback.

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

10 comentarios

 
joyfui 2026-04-17

Había escuchado la historia de alguien que intentó borrar su canal de YouTube y terminó borrando su cuenta de Google (por suerte logró recuperarla).
Si esa persona hubiera tenido un proceso como este, ¿habría podido evitarse una tragedia así...?

 
dydwls140 2026-04-17

Vaya, sí que se pueden confundir entre Delete this repository y Delete this organization.

 
justn 2026-04-17

La interfaz de Settings se parece más de lo que uno pensaría, así que cuando uno está medio distraído, termina confundiéndose;;
GitHub lo separó en Danger Zone, pero al final el error humano igual ocurre incluso ahí,,

 
dydwls140 2026-04-17

Hay que tener cuidado..

 
ipeng 2026-04-17

https://httpie.io/blog/stardust Antes ya hubo un caso similar en el que se reiniciaron 54k stars; en ese momento también se señaló un problema de UI, pero ya pasaron 4 años.

 
runableapp 2026-04-17

Debe haber sido escalofriante. Es admirable cómo compartes tu experiencia y propones soluciones para evitar que el problema vuelva a ocurrir.

Siento que una eliminación de esta magnitud debería tener algo como un período de gracia. Como la papelera de una computadora, parecería necesario un mecanismo que haga que el borrado real ocurra unos días después, para que se pueda restaurar.

 
hshim 2026-04-17

Uf, qué susto...

 
holywork 2026-04-17

Parece que bastaría con impedir copiar y pegar.

 
justn 2026-04-17

A mí también se me voló por hacer copy-paste sin pensarlo... así que en este proyecto también bloqueamos el copy-paste. Gracias por leer.

 
holywork 2026-04-21

Gracias por compartir un buen programa. Estaría bien que GitHub implementara por su cuenta un retraso de unas 24 a 72 horas para la eliminación de organizaciones o cuentas.