dontallow pulsa el botón Don’t Allow del aviso de red local de macOS en una fracción de segundo, sin que el usuario toque nada. Es un agente de un solo archivo Swift, sin dependencias y con licencia MIT, publicado como proyecto abierto en GitHub.
Si tu equipo trabaja en Mac y usa Chrome, Brave, Edge o Arc, ese diálogo reaparece en cada arranque y ensucia los ajustes de privacidad con filas duplicadas. Esta herramienta lo silencia sin desactivar ninguna protección del sistema.
¿Qué hace exactamente dontallow?
dontallow es un agente que vive en tu Mac y responde «no» por ti. Detecta el diálogo que pregunta si permites que una aplicación encuentre dispositivos en la red local y pulsa Don’t Allow cada vez que aparece. El autor lo describe como un proyecto de un solo archivo Swift, sin dependencias, que consume cero CPU mientras está inactivo y sobrevive a los reinicios.
¿Y esto cómo se aplica en tu negocio?
Dueños de negocio de Latinoamérica y España usan un agente de IA para ganar más y recuperar su tiempo. El Kit «tu mano derecha con IA» te muestra cómo en un video de 11 minutos, con una ficha para armar el tuyo. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.
👥 Quiero el Kit →El aviso existe desde macOS Sequoia: el sistema lo muestra la primera vez que una app toca la red local. En teoría, la decisión se recuerda y no vuelve a preguntar. En la práctica, para muchas aplicaciones no es así.
¿Por qué el aviso de red local vuelve una y otra vez?
El repositorio documenta tres causas concretas, y las tres son problemas de diseño del propio macOS, no de las apps:
- Navegadores basados en Chromium. Chrome, Brave, Edge, Island y Arc copian su propio bundle a una carpeta temporal aleatoria al arrancar, para que la firma de código sobreviva a las actualizaciones in-place. macOS asocia el permiso de red local a esa ruta aleatoria, así que en el siguiente arranque el sistema cree que es una app nueva. Resultado: los ajustes de privacidad se llenan de filas duplicadas de «Google Chrome.app» que ya no apuntan a nada.
- Apps con rutas de instalación versionadas. Cualquier aplicación que se instale en una ruta del tipo
.../versions/1.2.3/genera una fila nueva por cada actualización. - Avisos mal atribuidos. macOS ancla el diálogo a la app que considera «responsable», así que puedes ver avisos de aplicaciones que ni siquiera están corriendo.
A esto se suma que casi nada en un Mac típico necesita ese permiso: una utilidad de impresora o escáner, un servidor multimedia o una herramienta de descubrimiento de red. Esos se responden una vez y listo.
Y no hay salida oficial: no existe forma soportada de podar la lista, no hay payload de MDM para pre-denegar el permiso y tccutil reset no lo cubre.
¿Cómo funciona por dentro?
El detalle técnico es lo más interesante del proyecto. El diálogo no es una ventana de la app que lo provoca: es una ventana propiedad del proceso del sistema UserNotificationCenter. dontallow registra un observador de Accesibilidad sobre la creación de ventanas de ese proceso y duerme hasta que una se dispara.
Cuando eso pasa, lee el texto del diálogo, confirma que es un aviso de red local y no otra cosa, revisa el estado de pausa y la lista blanca, y ejecuta la acción de pulsación por Accesibilidad sobre el botón Don’t Allow. Si la pulsación es rechazada, cae a un clic sintético en la ubicación del botón.
El autor es explícito en los límites: nunca modifica archivos del sistema, nunca desactiva protecciones y nunca elige Allow.
¿Cómo se instala y qué comandos incluye?
La instalación es de una línea:
brew install johncassil/tap/dontallow(omake && make install)dontallow install
Ese comando escribe un agente launchd por usuario, lo arranca, abre System Settings > Privacy & Security > Accessibility e imprime la ruta exacta que hay que añadir si macOS no muestra el diálogo. Accesibilidad es el permiso que le permite pulsar el botón. El instalador espera a que se conceda y confirma cuando el agente está activo; dontallow status repite las instrucciones cuando falta el permiso.
Los comandos disponibles:
dontallow status— estado del agente, pausa, lista blanca y descartes recientesdontallow pause [1h]— deja los avisos en paz un rato (acepta30m,2h,1d,forever)dontallow resume— vuelve a descartardontallow rules— decodifica el almacén de reglas de red local del sistema y muestra qué es realmente cada fila de privacidad, incluidas las huérfanasdontallow uninstall— detiene y elimina el agentedontallow run --dry-run— corre en primer plano y registra lo que haría, sin pulsar nada
Cada descarte lanza una notificación con el nombre de la app y el comando de pausa, así no hay que recordar cómo apagarlo. Y si quieres una ventana para pulsar Allow antes de que el agente actúe, define ~/.config/dontallow/grace con un número de segundos (por defecto 0,25).
¿Qué significa esto para tu startup?
Más allá del alivio personal, hay tres decisiones operativas que este proyecto habilita o condiciona.
1. Audita las filas huérfanas de tus Macs. Si tu equipo usa Chrome o cualquier navegador Chromium, los ajustes de privacidad de cada máquina acumulan entradas duplicadas que ya no apuntan a ninguna app. dontallow rules decodifica el almacén de reglas y te dice qué es cada fila. Es una forma rápida de entender por qué un permiso «ya concedido» sigue preguntando.
2. Usa la lista blanca antes que la pausa. Si tu producto o tus herramientas internas sí necesitan red local —un servidor de desarrollo, un cliente de impresión, una app de descubrimiento en LAN—, añade el nombre a ~/.config/dontallow/allowlist (una entrada por línea, coincidencia de subcadena sin distinguir mayúsculas). Así el agente nunca toca esos avisos y no rompes un flujo de trabajo legítimo. La tercera vía es la más simple: cambia el interruptor en System Settings > Privacy & Security > Local Network, porque un aviso descartado registra una denegación que puedes revertir ahí.
3. Si gestionas un parque de Macs, el camino es PPPC. El permiso de red local no se puede preconfigurar por MDM, pero el de Accesibilidad sí. El autor propone compilar una vez, firmar con Developer ID, distribuir el binario junto a un perfil PPPC (Privacy Preferences Policy Control) que conceda Accesibilidad a su requisito de código, y correr dontallow install por usuario. Sin paso manual en Ajustes.
¿Qué límites conviene conocer antes de instalarlo?
- El permiso de Accesibilidad se ata a la firma del binario. Cada compilación —incluido un
brew upgrade— produce una nueva. Después de actualizar hay que correrdontallow status; si dice que falta el permiso, hay que eliminar la fila de dontallow en Accesibilidad y volver a añadirla desde la ruta que imprime. El agente se reengancha solo en diez segundos. Una versión futura firmada con Developer ID eliminará este paso. - Solo macOS en inglés por ahora. El matcher se apoya en el texto del diálogo y en el título del botón Don’t Allow; hay cadenas localizadas planificadas.
- Requisitos de compilación. Se construye solo con las Command Line Tools de Apple, sin Xcode. macOS 13 o posterior para compilar; el aviso en sí solo existe en macOS 15 Sequoia y posteriores. Probado hasta ahora en Intel con macOS 26.6.
- Antes de una demo, pausa.
dontallow pause 10my luego abre la app y pulsa Allow tú mismo. Es la vía limpia cuando necesitas el permiso de verdad.
Contexto: Apple y los avisos de privacidad en Sequoia
El aviso de red local no es un caso aislado. Con macOS Sequoia, Apple endureció varios diálogos de privacidad. 9to5Mac reportó en agosto de 2024 que el sistema pedía permiso explícito de forma semanal a las apps de captura y grabación de pantalla, además de cada vez que se reiniciaba el Mac, y que Apple confirmó a los desarrolladores que no era un bug. MacRumors documentó después que la frecuencia pasó a mensual tras las quejas de los usuarios, con una opción de «Allow For One Month», y que se eliminó el requisito de reaprobar tras cada reinicio.
La lección para quien construye producto en Mac es la misma en ambos casos: cuando el sistema no ofrece una vía soportada para gestionar un permiso, la comunidad la construye por fuera. Y esas soluciones viven en el filo de lo que Apple tolera.
Conclusión
dontallow no es una herramienta para desactivar protecciones: es un atajo para un permiso que casi ningún Mac necesita y que el sistema no sabe recordar bien. Para un founder con equipo en Mac, el valor real está en dos cosas: menos interrupciones en el día a día y una forma de auditar, con dontallow rules, por qué los ajustes de privacidad de tus máquinas acumulan basura.
Si tu producto depende de la red local, no lo instales a ciegas: usa la lista blanca. Si gestionas flotas, el perfil PPPC es el camino. Y si solo quieres silenciar el diálogo en tu laptop, la instalación de una línea es todo lo que hace falta.
Fuentes
- johncassil/dontallow (GitHub) (fuente original)
- macOS Sequoia adds weekly permission prompt for screenshot and screen recording apps (9to5Mac)
- macOS Sequoia Will Require Users to Update Screen Recording App Permissions Monthly (MacRumors)
¿Y esto cómo se aplica en tu negocio?
Dueños de negocio de Latinoamérica y España usan un agente de IA para ganar más y recuperar su tiempo. El Kit «tu mano derecha con IA» te muestra cómo en un video de 11 minutos, con una ficha para armar el tuyo. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.
👥 Quiero el Kit →












