Saltar al contenido
sábado, 7 de noviembre de 2026
Tecnología

macOS construye un grafo de conocimiento personal desde 2022

Investigadores revelan que macOS crea un grafo de conocimiento personal con tus contactos y ubicaciones desde 2022. Conoce los riesgos de privacidad y cómo revisarlo.

Por Editor11 min de lectura0 comentarios
Compartir
Cortesía
Cortesía

Un investigador de seguridad ha documentado cómo macOS construye, desde 2022, un grafo de conocimiento personal sobre cada usuario: una base de datos local que modela con quién hablas, adónde vas, con quién vives y cuándo. El hallazgo, difundido en octubre de 2026, expone un mecanismo que Apple nunca explicó en detalle más allá de una página de manual de tres párrafos. La relevancia para México y Latinoamérica es directa: millones de usuarios de Mac en la región —y los desarrolladores que crean aplicaciones para ellos— operan sin saber que el sistema mantiene una red explícita de relaciones personales, con inferencias propias sobre quién es tu pareja, tu jefe o tu médico.

El grafo no es un experimento de laboratorio. Es la memoria que Apple Intelligence utiliza para dar contexto a Siri y a otras funciones on-device, repartida en 51 bases de datos SQLite que cualquier aplicación con el permiso correcto podría leer. El hallazgo importa porque revela un cambio silencioso de alcance: Apple pasó de guardar datos sueltos —una lista de contactos, un calendario— a mantener una red de relaciones personales explícita, sin que ese salto apareciera en ninguna nota de prensa ni keynote.

Qué es el grafo de conocimiento personal

El grafo de conocimiento personal es la base de datos que macOS construye en cada Mac para modelar al usuario y a su entorno: contactos, eventos, mensajes, ubicaciones y patrones de uso, cruzados automáticamente en un triple store local que alimenta a Apple Intelligence sin salir del dispositivo. La analogía más simple es la del corcho de un investigador privado, ese tablero de fotos conectadas con hilos rojos que marcan quién conoce a quién. macOS hace algo parecido, pero de forma automática: en vez de hilos usa filas en una base de datos, y en vez de un investigador hay dos demonios del sistema, knowledgeconstructiond e intelligenceplatformd, que procesan cada contacto nuevo, cada mensaje y cada visita a un lugar para decidir qué relación describe mejor a las personas y los lugares que aparecen en tu vida.

El Apple Platform Security Guide describe decenas de mecanismos de protección de datos en iOS y macOS, pero no menciona esta base de contexto on-device por su nombre. La única referencia pública es la página de manual de knowledgeconstructiond, que dice que el demonio analiza el contenido del dispositivo “para ayudar a construir un grafo de conocimiento de propósito general que representa al dispositivo y al usuario”.

Cómo funciona por dentro

Los datos llegan desde Contactos, Calendario, Fotos, Mensajes, Mail, ubicación, Screen Time y una larga lista de señales de comportamiento. knowledgeconstructiond hace el trabajo pesado de análisis; intelligenceplatformd coordina el resultado y lo escribe en disco. Este grafo no vive en la nube: vive localmente, en ~/Library/IntelligencePlatform, una carpeta con 51 bases SQLite protegida por el permiso de Full Disk Access de TCC (Transparency, Consent and Control), el mismo sistema que te pregunta si una aplicación puede acceder a tus Fotos o a tu micrófono.

macOS incluye estos demonios por defecto desde la versión 13, lanzada en 2022. La base más interesante de las 51 es graph.db, el triple store propiamente dicho. Un triple store guarda cada hecho como tres columnas: sujeto, predicado y objeto. Por ejemplo, “yo” es el sujeto, “empleador” es el predicado y una organización es el objeto. graph.db define 181 clases de entidad (persona, aplicación, evento, organización) y 278 predicados distintos que describen cómo se relacionan esas entidades entre sí.

Hay un detalle de diseño que vale la pena entender porque explica por qué el esquema es tan grande: una relación como “empleador” no apunta directo del sujeto al objeto. En cambio, crea un nodo intermedio que representa el tipo de relación, y dos filas comparten el mismo relationshipId: una fila dice qué tipo de vínculo es (empleo, parentesco, amistad) y la otra dice a qué entidad apunta. Esa indirección le permite al sistema reclasificar una relación sin reescribir el grafo entero, algo útil cuando infiere que dos contactos dejaron de ser pareja.

Cada fila del triple store además guarda metadatos propios: una confidence (qué tan segura está la inferencia), una lista de sources (de qué aplicación vino el dato), un contador de sourceDuplicates y un timestamp. Ese diseño es clásico de sistemas de razonamiento probabilístico: el grafo no asume que una inferencia es verdadera, le asigna un grado de certeza y la revisa a medida que llega evidencia nueva.

Implicaciones para desarrolladores en LATAM

Si programas una aplicación para macOS y en algún momento le pides al usuario permiso de Full Disk Access o de Automatización, estás pidiendo acceso a la misma carpeta protegida donde vive el triple store de macOS, aunque tu aplicación nunca lo toque. Explicar con claridad por qué necesitas ese permiso, y no pedirlo por si acaso, es cada vez más relevante: los usuarios en Latinoamérica que empiezan a entender qué hay detrás de ese cuadro de diálogo van a desconfiar de una aplicación que lo solicita sin justificación visible en su flujo.

Para equipos que trabajan con App Sandbox o con Endpoint Security, vale la pena auditar qué entitlements declara tu propio binario antes de publicar, con un comando como codesign -d --entitlements - /ruta/a/tu.app, para confirmar que no estás arrastrando un permiso amplio que no usas.

Cómo inspeccionar tu propio grafo

No necesitas herramientas de terceros para mirar qué guarda tu Mac. macOS trae sqlite3 preinstalado, y el único requisito extra es darle permiso de Full Disk Access a la Terminal. Estos tres pasos son progresivos: primero confirmas que las bases existen, después listas sus tablas y por último verificas si tienes acceso real.

  1. Lista el contenido de la carpeta con ls ~/Library/IntelligencePlatform. Si tu Terminal no tiene Full Disk Access vas a ver Operation not permitted para cada archivo; si lo tiene, vas a ver varias decenas de archivos .db, entre ellos graph.db.
  2. Lista las tablas con sqlite3 ~/Library/IntelligencePlatform/graph.db ".tables". Apple no documenta el esquema interno, así que los nombres de tabla varían entre versiones de macOS. Usa .schema nombre_de_tabla sobre cada resultado para ver sus columnas reales en tu equipo.
  3. Cuenta las tablas con sqlite3 ~/Library/IntelligencePlatform/graph.db "SELECT count(*) FROM sqlite_master WHERE type='table';". Con Full Disk Access concedido, este comando devuelve un número: la cantidad total de tablas en la base. Sin ese permiso vas a ver Error: unable to open database file, que es la forma en que TCC bloquea el acceso incluso antes de que sqlite3 llegue a abrir el archivo.

⚠️ Ojo: otorgarle Full Disk Access a la Terminal le da acceso a toda tu carpeta de usuario, no solo a IntelligencePlatform. Revoca el permiso en Ajustes del Sistema cuando termines de inspeccionar tu grafo.

El riesgo de seguridad

El caso de uso que justifica todo esto, desde la perspectiva de Apple, es razonable: Siri puede responder cuándo juega tu hijo el próximo partido sin que ninguna aplicación tenga que mandar tus contactos a un servidor. El problema aparece cuando ese mismo sistema, ya resuelto y estructurado, termina en manos de alguien que no es su dueño.

El escenario no requiere un atacante sofisticado. En casos de violencia de pareja o de dispositivos compartidos en una familia, el acceso físico ya está dado: alguien con esa cercanía no necesita robar la Mac, solo necesita un momento de sesión desbloqueada y, eventualmente, el mismo permiso de Full Disk Access que un usuario avanzado otorga para instalar una herramienta legítima.

El investigador de 8rank plantea un experimento mental concreto: si un atacante con acceso físico o remoto a una Mac desbloqueada extrae graph.db y lo carga como contexto de un modelo de lenguaje sin filtros de seguridad, lo que suele llamarse un modelo “abliterado”, no necesita reconstruir manualmente quién es la familia de la víctima, dónde vive o con quién trabaja. El grafo ya hizo ese trabajo. Lo que antes tomaba horas de ingeniería social ahora es una consulta de texto, porque el sistema ya es, en los hechos, un mapa de vínculos familiares completo.

💭 Clave: el riesgo no está en romper el cifrado del disco, está en que un grafo ya resuelto convierte horas de trabajo de inteligencia en una sola consulta a un modelo de lenguaje. FileVault, el cifrado de disco de macOS documentado en la guía oficial de seguridad de Apple, no protege de este escenario: cifra los datos en reposo, pero mientras la sesión está desbloqueada ya hizo su trabajo y el archivo se lee en claro. La barrera activa en este caso es exclusivamente TCC, y TCC depende de qué aplicaciones ya tienes autorizadas, no de si la sesión está abierta o cerrada.

La buena práctica equivalente es simple: revisar Ajustes > Privacidad y seguridad > Full Disk Access cada tanto, y tratar ese permiso con la misma cautela que una contraseña de administrador.

Comparación con otros enfoques

  • Grafo de Apple en macOS: vive on-device, en ~/Library/IntelligencePlatform. No sale del dispositivo; alimenta a Siri sin depender de la nube. Limitación: es opaco, sin documentación pública completa del esquema.
  • Personalización por cuenta (historial de actividad de Google): reside en servidores del proveedor, ligada a tu cuenta. Es portable entre dispositivos y se puede exportar o borrar desde ajustes de privacidad. Limitación: depende de la red y de confiar en el proveedor con los datos en la nube.
  • Grafo de conocimiento personal manual (notas tipo PKG): archivos locales que el propio usuario edita. Control total sobre qué entra y qué no. Limitación: no se actualiza solo; hay que mantenerlo a mano.

Lo que Apple no documenta

Apple publicó en 2023 un artículo técnico sobre las técnicas detrás de esta construcción de grafos, según recoge la investigación de 8rank; el catálogo completo de publicaciones de Apple Machine Learning Research está disponible en su sitio oficial. Lo que ese artículo no cubre es la integración real en macOS: qué versiones exactas lo activan, el inventario completo de las otras 50 bases además de graph.db, y la inferencia de parentesco que el sistema hace entre contactos sin que el usuario la declare explícitamente.

Ese vacío documental no es nuevo. Meses antes del análisis de 8rank, otro investigador independiente había encontrado la misma base de datos mientras construía su propio sistema de notas personales, y se topó, sin buscarlo, con el que Apple ya tenía corriendo en su laptop. La coincidencia resume bien el problema: dos personas distintas, trabajando por separado, llegaron al mismo hallazgo porque no hay una fuente oficial a la que consultar primero.

Para quien quiera ir más allá de sqlite3, el equipo de 8rank liberó un dashboard local llamado iKnow para navegar el grafo sin usar la línea de comandos; puedes rastrearlo a partir del artículo original citado en Referencias.

Preguntas frecuentes

¿Cómo puedo ver qué tablas existen en mi grafo ahora mismo?

Otorga Full Disk Access a la Terminal en Ajustes del Sistema y corre sqlite3 ~/Library/IntelligencePlatform/graph.db ".tables".

¿Puedo desactivar la construcción del grafo?

Apple no ofrece un interruptor único. Lo más cercano es revisar Ajustes > Privacidad y seguridad y desactivar fuentes de datos puntuales, como ubicación o Screen Time, aunque eso solo frena entradas nuevas y no borra lo ya inferido.

¿El grafo se envía a la nube?

Según la página de manual oficial y el análisis de 8rank, el procesamiento descrito ocurre on-device. Apple Intelligence usa Private Cloud Compute para tareas que exceden la capacidad del dispositivo, pero eso es un mecanismo distinto al de graph.db.

¿Necesito instalar algo para inspeccionarlo?

No. sqlite3 viene preinstalado en macOS; solo necesitas otorgarle Full Disk Access a la Terminal, como mostramos en la sección práctica de este artículo.

¿Qué pasa si vendo o regalo mi Mac?

Un borrado de fábrica con “Borrar todo el contenido y los ajustes” elimina toda la carpeta ~/Library, incluida IntelligencePlatform. Copiar archivos a mano o restaurar desde un respaldo sin ese paso puede dejar el grafo del dueño anterior intacto.

¿Android o Windows tienen algo similar?

Ninguno de los dos mantiene oficialmente una base de contexto local con esta estructura. Android personaliza asistentes principalmente a través de la cuenta de Google en la nube, no con un grafo local equivalente.