Llevar un registro de las herramientas de IA de tu proyecto, sus datos, base legal y transferencias, y dejar que una comprobación blanda avise de toda integración de IA que el registro omita.
Los asistentes de código, las líneas de comandos de agentes, las API de modelos que llama tu producto y los servidores MCP tratan datos, a veces personales. ai-register mantiene un archivo, _bmad/ai-processing-register.yaml, que dice para cada herramienta quién la ofrece, con qué finalidad, qué datos ve, con qué base legal, durante cuánto tiempo y a dónde van los datos fuera del EEE. Su acción check busca integraciones de IA en el repositorio y avisa de las que el registro no cubre. Forma parte del instrumental del pack Shield y sirve a quien tiene que preparar un registro de actividades de tratamiento, una EIPD que implique herramientas de IA o una revisión de proveedores.
Nota· Una puerta blanda, a propósito
Una entrada ausente es un aviso y nunca hace fallar una compilación; solo un registro ilegible sale con código distinto de cero. El registro documenta tratamientos, no los hace lícitos. La base legal, el mecanismo de transferencia y los acuerdos son decisiones del responsable y de su delegado de protección de datos, y la comprobación solo ve la configuración dentro del repositorio: una herramienta instalada en el equipo de un desarrollador sin archivos de proyecto se descubre preguntando, no con la comprobación.
Copia la plantilla de Shield en _bmad/ai-processing-register.yaml. Nunca sobrescribe un registro existente. Las entradas de la plantilla son ejemplos, así que check sigue avisando hasta que las sustituyas.
check
-
-
Detecta las integraciones de IA del proyecto, las compara con el registro e imprime el resultado.
schema: bmad-plus/ai-processing-register/1
controller: Example Ltd, 1 Example Street, Example City
reviewed: 2026-09-29
tools:
- id: coding-assistant
name: Claude Code
provider: Anthropic PBC
integrations: [claude-code]
purpose: Assist developers in reading, writing and reviewing the code of this repository.
data:
- Source code and commit history of this repository
personalData: true
legalBasis: legitimate-interests
retention: The period set by the provider’s terms, written here in days.
transfers:
- to: United States
mechanism: standard-contractual-clauses
agreement: Data processing addendum attached to the commercial terms.
Reglas que impone la comprobación
Campo
Regla
schema
Debe ser bmad-plus/ai-processing-register/1. Las claves de primer nivel desconocidas se rechazan (admitidas: schema, controller, reviewed, tools).
controller
Texto obligatorio: quién es responsable del tratamiento.
reviewed
Fecha obligatoria escrita YYYY-MM-DD. La comprobación avisa cuando tiene más de 365 días.
tools[].id
Único, minúsculas, dígitos y guiones.
tools[].name, provider, purpose, retention
Texto obligatorio de hasta 2000 caracteres.
tools[].integrations
Lista no vacía de los ids de integración que cubre la entrada: un id de herramienta de adaptador (claude-code, gemini-cli, antigravity, cursor, codex-cli, opencode, aider), otra herramienta como github-copilot, windsurf o continue, o mcp:<server name as declared>. Un id solo puede cubrirlo una entrada.
tools[].data
Lista no vacía de las categorías de datos que ve la herramienta.
tools[].personalData
true o false, obligatorio.
tools[].legalBasis
Obligatoria cuando personalData es true, prohibida en caso contrario. Una de consent, contract, legal-obligation, vital-interests, public-task, legitimate-interests (RGPD art. 6.1).
tools[].transfers
Lista obligatoria, [] si no hay ninguna. Cada elemento es { to, mechanism } con un mecanismo entre adequacy-decision, standard-contractual-clauses, binding-corporate-rules, derogation.
tools[].agreement
Texto opcional: el acuerdo de tratamiento vigente.
init escribe un solo archivo, _bmad/ai-processing-register.yaml, creando _bmad si hace falta. Se niega si _bmad no es una carpeta (un enlace escribiría fuera del proyecto).
check no escribe nada. Lee el registro (hasta 256 KB) y busca integraciones de IA en cuatro sitios: los archivos de adaptador que instala BMAD+ (CLAUDE.md, GEMINI.md, .cursor/rules/bmad-plus.mdc, .codex/AGENTS.md, .opencode/AGENTS.md, CONVENTIONS.md), los marcadores propios de las herramientas (.claude, .cursor, .cursorrules, .gemini, .codex, .opencode, opencode.json, .aider.conf.yml, .github/copilot-instructions.md, .windsurf, .windsurfrules, .continue) y los servidores MCP declarados en .mcp.json, .cursor/mcp.json, .gemini/settings.json y .vscode/mcp.json (se aceptan comentarios y comas finales).
No se envía nada a ningún sitio ni se inicia ningún programa. No se siguen los enlaces simbólicos.
Las transcripciones se componen a partir de las plantillas de mensajes del código fuente, sobre un proyecto imaginario que usa Claude Code y un servidor MCP de GitHub y luego añade Cursor. Están marcadas como simuladas.
Iniciar el registro y comprobarlo
$ npx bmad-plus ai-register init_bmad/ai-processing-register.yaml: started from the Shield template. Replace the example entries, then run bmad-plus ai-register check.$ npx bmad-plus ai-register check_bmad/ai-processing-register.yaml: reviewed 2026-09-29 — 2/2 AI integration(s) registered registered claude-code → coding-assistant registered mcp:github → issue-tracker-connector# El 2/2 supone que el .mcp.json del proyecto declara un servidor github. Sin él, el recuento es 1/1 y una línea indica que mcp:github «not found here (may be used outside the repository)».
Salida capturada de una ejecución real. Fuente: Reproducido con el paquete 0.23.0 (packs Core y Shield, Claude Code) en un proyecto desechable cuyo .mcp.json declara un servidor github
Una herramienta que el registro omite
$ npx bmad-plus ai-register check_bmad/ai-processing-register.yaml: reviewed 2026-09-29 — 2/3 AI integration(s) registered registered claude-code → coding-assistant registered mcp:github → issue-tracker-connector warning cursor is set up (.cursor/rules/bmad-plus.mdc, .cursor) but not in the AI processing register Add each tool with its purpose, data, legal basis, retention and transfers; see the Shield template shared/ai-processing-register-template.yaml.# Código de salida 0: un aviso nunca hace fallar el comando.
npx bmad-plus ai-register check
Salida capturada de una ejecución real. Fuente: Reproducido con el paquete 0.23.0 en el mismo proyecto desechable tras añadir el adaptador de Cursor
Otras líneas posibles: <file>: absent — 0/N AI integration(s) registered con el aviso no AI processing register at _bmad/ai-processing-register.yaml cuando hay integraciones pero no registro; warning the register was last reviewed on <date>, <n> days ago; not found here (may be used outside the repository): <ids> para entradas que no coinciden con nada del repositorio (normal en una API de modelo que solo llama tu producto); y líneas error en el flujo de error cuando el registro es inválido. Con --json, el resultado incluye status (ok, warning o error), integrations (cada una con ids, sources, coveredBy), unmatched, warnings y errors.
Cuando el pack Shield está instalado, bmad-plus doctor ejecuta la misma comparación como la comprobación shield.ai-register. Es un pass («AI processing register covers the N AI integration(s) found.») o un warning que lista los problemas y remite a bmad-plus ai-register check. Doctor nunca lo convierte en error, así que un registro incompleto no hace fallar la comprobación de salud de una instalación.
Inventariar las herramientas de IA y rellenar el registro#
Tu equipo usa un asistente de código y dos servidores MCP, y nadie ha anotado qué ven.
En tu asistente de IA
Shield, ¿qué herramientas de IA tocan los datos de este proyecto? Ejecuta la comprobación del registro, crea el registro si no existe y rellena una entrada por herramienta. Pregúntame lo que no puedas leer en el repositorio en lugar de adivinarlo.
Lo que deberías obtener Shield ejecuta bmad-plus ai-register check, lista las integraciones encontradas (archivos de adaptador, carpetas de herramientas, servidores MCP) y las que debe preguntarte porque no dejan rastro en el repositorio, como una API de modelo que llama tu producto. Ejecuta ai-register init, sustituye los ejemplos de la plantilla por una entrada por herramienta, rellenando proveedor, finalidad, datos, retención y transferencias a partir de los términos del proveedor y de lo que la herramienta puede leer, y lo dice con claridad cuando un dato se desconoce. Para las entradas con datos personales propone una base legal que tú decides. Termina volviendo a ejecutar check e informando de las integraciones registradas y de los avisos que queden.
Vas a realizar una evaluación de impacto sobre la protección de datos de una funcionalidad que usa herramientas de IA.
En tu asistente de IA
Shield, antes de empezar la EIPD, comprueba que el registro de tratamiento de IA está completo y revisado. Lista las herramientas sin entrada, las entradas sin base legal y todo lo revisado hace más de un año.
Lo que deberías obtener Shield ejecuta bmad-plus ai-register check (solo lectura). Informa de cada línea warning (herramientas configuradas pero no registradas, una revisión de más de 365 días) y, si el registro es inválido, de cada línea error, lo que también implica el código de salida 1. Después lee el archivo de registro para localizar entradas que aún necesitan una decisión y recuerda que la detección solo ve lo configurado en el repositorio. No elige una base legal por ti; para un tratamiento a gran escala o novedoso recomienda seguir con el flujo de EIPD.