Portada de UrsaKit para la guía de auditar y controlar Full Disk Access en macOS

Cada permiso en macOS está acotado. El acceso a la cámara deja que una app vea la cámara; el acceso a Contactos la deja leer tus contactos. Full Disk Access es distinto: elimina por completo las protecciones por app de una aplicación, de modo que puede leer datos que macOS existe precisamente para proteger de ella.

Eso lo convierte en lo más valioso que podría pedir un agente de IA malicioso o simplemente demasiado entusiasta, y es la razón de que Apple esté endureciendo las reglas. Esta guía cubre qué significa de verdad el permiso y cómo auditarlo en unos minutos.

01Qué concede realmente Full Disk Access

macOS protege ubicaciones mediante el sistema TCC (Transparency, Consent and Control). Una app sin la concesión correspondiente queda bloqueada de tu calendario, contactos, fotos, micrófono y de los contenedores de otras apps. Full Disk Access concede la exención general más fuerte: la app puede leer los archivos que cubren esas protecciones, incluidos Mail, Mensajes, el historial de Safari y los datos de Time Machine.

Puedes ver la protección en acción desde un terminal normal. El propio almacén TCC es ilegible salvo que el proceso que lo consulta ya tenga Full Disk Access:

ls -la "$HOME/Library/Application Support/com.apple.TCC/"
# ls: Operation not permitted

Ese error es justamente el punto. Si una app puede leer ese directorio, ya le entregaron las llaves.

FDA no son «unas carpetas de más»

Es una exención de todo el sistema, no una concesión de carpeta. Una app con FDA suele poder leer datos de otras aplicaciones y tu historial de comunicaciones, mucho más de lo que exige la tarea que dice hacer.

02Por qué Apple lo está endureciendo ahora

El 2 de octubre de 2026, las noticias para desarrolladores de Apple publicaron «Updates to Full Disk Access in macOS». Apple dijo que algunos desarrolladores usan Full Disk Access de formas que exponen todo en un sistema —archivos, correo, mensajes e historial de navegación— sin pleno conocimiento del usuario, y que en apps de comunicación esto también compromete la privacidad de las personas con quienes habla el usuario. El anuncio se compromete a controles adicionales para que conceder este acceso exija una acción muy explícita, citando explícitamente a los agentes de IA autónomos como motivo.

La conclusión práctica es que merece la pena auditar la lista actual de concesiones antes de que cambien las reglas y las apps empiecen a pedir re-aprobación.

03Audita qué tiene acceso ahora mismo

  1. Abre la lista autoritativa. Ajustes del Sistema → Privacidad y seguridad → Full Disk Access. Lee cada entrada, no solo las que recuerdas haber añadido.
  2. Pregunta si cada app lo necesita de verdad. Las herramientas de copia de seguridad, sincronización y discos sí. Una app de notas, un lanzador o un cliente de chat normalmente no.
  3. Revisa los elementos en segundo plano. Ajustes del Sistema → General → Inicio y extensiones lista lo que se lanza automáticamente, incluidos helpers del fabricante que pueden tener acceso en nombre de una app principal.
  4. Lista los launch agents de terceros desde el terminal.
launchctl list | grep -v '^\s*-\?\s*[0-9-]*\s*com\.apple\.' | head -30
ls -la "$HOME/Library/LaunchAgents/" 2>/dev/null
  1. Vuelve a revisar tras cada actualización importante. Una concesión sobrevive a una actualización firmada, así que una app puede ganar capacidades nuevas después de que aprobaras una versión anterior y más limitada.

Guarda la lista y compárala después

Una captura o una lista pegada basta. Compararla un mes después saca a la luz concesiones que aprobaste con prisa y olvidaste, que es exactamente como se acumula el acceso amplio.

04Verifica una app antes de concederla

Antes de activar el interruptor, confirma qué es realmente la app. Dos comandos cubren casi todo.

# ¿Quién la firmó y cuál es su identificador?
codesign -dv --verbose=2 /Applications/Example.app
# Identifier=com.example.app
# TeamIdentifier=ABCDE12345
# Authority=Developer ID Application: Example Inc (ABCDE12345)

# ¿Está notarizada y aceptada por Gatekeeper?
spctl -a -vv /Applications/Example.app
# /Applications/Example.app: accepted

Una app firmada por un desarrollador conocido con un Team ID estable es una cosa distinta de un bundle sin firmar descargado de un foro. Si el identificador o el equipo no coinciden con el proveedor que esperas, detente ahí.

05Reduce la exposición sin romper tus herramientas

La mayoría de flujos no necesitan Full Disk Access cuando miras lo que tocan de verdad. Mejores opciones, en orden aproximado de preferencia:

ObjetivoPrefierePor qué
Leer una carpeta de proyectoArchivos y carpetas, o ejecutar desde ese directorioEl acceso queda acotado
Copiar un solo volumenUna herramienta de backup dedicada más el volumenEvita el alcance de todo el disco
Ejecutar un agente de IAUn contenedor o una cuenta de usuario aparteEl agente no puede escalar a toda tu carpeta personal
Automatizar un scriptUna concesión por carpeta, no una exención del sistemaUn script comprometido afecta a menos

Para los agentes en concreto, el aislamiento gana a la gestión de permisos. Un agente en sandbox que solo puede leer el repositorio en el que trabaja no necesita Full Disk Access, y si lo comprometen mediante inyección de prompts, el radio de impacto es un proyecto en lugar de tu historial de Mensajes.

Para revocar el acceso, desactiva la app en Ajustes del Sistema o borra todas sus aprobaciones de privacidad desde el terminal:

# Borra todas las aprobaciones de privacidad de un bundle identifier.
tccutil reset All com.example.app

06Vigila los elementos en segundo plano y los agentes

Full Disk Access es más peligroso cuando se esconde detrás de algo que no ves. Dos patrones merecen atención: un proceso helper que hereda el acceso de una app principal, y un launch agent residual de una app que desinstalaste. Ambos siguen ejecutándose después de cerrar la app visible.

Revisa Inicio y extensiones una vez al mes, comprueba ~/Library/LaunchAgents en busca de scripts que no reconozcas y elimina los agentes de software que ya no uses. Si usas un Mac gestionado, tu equipo de IT puede auditar el almacén TCC del sistema de forma centralizada con acceso root, pero no ejecutes esas consultas en una máquina que no sea tuya: el almacén contiene registros sensibles.

07Errores comunes y soluciones

ErrorPor qué fallaSolución
Conceder FDA para que una app «deje de preguntar»Silencia todos los avisos futurosConcede acceso por carpeta
Aprobar un helper en lugar de la appEl acceso se ata al bundle equivocadoRevisa Inicio y el bundle id exacto
Asumir que las actualizaciones reinician la concesiónLas actualizaciones firmadas suelen conservarlaVuelve a revisar tras cambios importantes
Ejecutar un agente con FDAUna inyección de prompts alcanza todoAíslalo en sandbox y acota el montaje
No revocar nunca nadaEl acceso se acumula en silencioAudita cada trimestre y desactiva apps antiguas

El modelo mental que conviene mantener: Full Disk Access es una exención del sistema que existe para contener apps. Concédelo solo a software cuyo trabajo sea intrínsecamente de todo el sistema, y haz que las herramientas que construyas para todo lo demás se ejecuten dentro de un límite lo bastante pequeño como para no necesitar pedirlo.

Preguntas frecuentes

¿Qué permite realmente Full Disk Access?

Elimina las protecciones de privacidad por app para una aplicación, dejándola leer datos que macOS normalmente protege, incluidos Mail, Mensajes, el historial de Safari y los datos de otras aplicaciones. Apple lo describe como un atajo que esquiva los controles estándar.

¿Por qué está cambiando Apple Full Disk Access?

Apple dijo que algunos desarrolladores lo usan de formas que exponen todo el sistema sin que el usuario lo entienda del todo, y que los agentes de IA cada vez más capaces y autónomos elevan el riesgo. Vienen controles adicionales que exigirán una acción muy explícita del usuario.

¿Cómo veo qué apps tienen Full Disk Access?

Abre Ajustes del Sistema → Privacidad y seguridad → Full Disk Access. Esa lista es el registro autoritativo de cara al usuario; la base de datos TCC subyacente está protegida y no es legible desde un proceso normal.

¿Conserva una app el Full Disk Access tras actualizarse?

Las concesiones se atan a la firma de código de la app, así que una actualización firmada correctamente por el mismo desarrollador suele conservarla. Una app cuya identidad de firma cambia pierde la concesión, lo que es una señal útil para volver a revisar qué aprobaste.

¿Puedo revocar Full Disk Access desde la línea de comandos?

Sí. `tccutil reset All <bundle-id>` borra las aprobaciones de privacidad de esa app. Para una sola app suele ser más rápido desactivar el interruptor en Ajustes del Sistema y confirmar que deja de funcionar.

Volver a los artículos

Artículos relacionados

Herramientas relacionadas