Cuando alimentas herramientas de IA con material privado (cursos, llamadas, notas), la pregunta habitual es qué modelo lo ve. La pregunta que aquí importa es otra: qué procesos pueden leer el sitio donde lo guardas.
Este artículo repasa cómo se resolvió eso en el Learning Vault de Jarvis, mi sistema local. Lo que cuento sale de un documento del propio repo con la ruta canónica del vault y de un mensaje de commit; no es una medición. El documento lleva fecha 2026-10-06.
La separación básica: código en el repo, datos fuera
Según el documento de la ruta canónica, el código vive en el repo y los datos privados (material de curso, transcripciones, registros destilados y el índice FTS) viven fuera de Git. Ese mismo documento dice que el directorio está fuera de todo repo.
Los canales de fuga, uno a uno
Git. Lo que está dentro de un repo puede acabar versionado. El documento sitúa el vault fuera de todo repo.
Bind mounts de Docker. La documentación de Docker dice que un bind mount monta un fichero o directorio del host dentro de un contenedor, y que los bind mounts tienen acceso de escritura al host por defecto. El documento del vault nombra un directorio montado en el contenedor voice y afirma que todo lo que se guarde ahí es legible por el contenedor. El vault queda fuera de ese mount.
Contextos de build. El documento dice que el vault no está en ningún contexto de build de Docker, y que los builds usan git archive del repo. La documentación de Git describe git archive como un comando que crea un archivo con la estructura del árbol indicado, es decir, de lo que Git versiona.
Logs. El documento dice que el vault registra ids y recuentos, no texto.
Worktrees. El documento descarta también un worktree: dice que es desechable y que su bandeja de entrada está a un git clean de perderse.
Endurecimiento adicional
El mensaje de un commit de revisión del vault lista salidas de transcripción con permisos 0700/0600. El documento de ruta describe además el directorio del vault como accesible solo por su propietario.
La lección
Enumera cada canal por el que los datos podrían salir (Git, bind mounts, contextos de build, logs, worktrees que se limpian) y elige una ubicación que ninguno toque. En mi opinión, la arquitectura de privacidad consiste sobre todo en decidir dónde no se permite que estén los datos.
¿Qué canales has comprobado tú en tu configuración local? Cuéntamelo y lo comparamos.



