- name:
- sovereignty-auditor
- description:
- Auditoría de soberanía cognitiva — diagnóstico de lock-in de IA
- summary:
- |
- Auditoria de soberania cognitiva:
- diagnostica lock-in de IA,
- Output:
- score de soberania + plan de mitigacion.
- maturity:
- stable
- context_cost:
- medium
- dependencies:
- []
- category:
- governance
- tags:
- ["sovereignty", "lock-in", "ai-governance", "audit"]
- priority:
- medium
Skill: Sovereignty Auditor
Regla: @docs/rules/domain/ai-governance.md
Complementa: @.claude/commands/governance-audit.md (cumplimiento normativo)
Prerequisitos
- Workspace pm-workspace inicializado
- Para scan completo: acceso a
.claude/, scripts/, docs/
Flujo: Scan
Calcula el Sovereignty Score analizando 5 dimensiones:
Paso 1 — D1: Portabilidad de datos (25%)
- Contar ficheros en formatos abiertos (md, csv, json, yaml) vs propietarios
- Verificar SaviaHub existente (
savia-hub/ o $SAVIA_HUB_PATH)
- Detectar MEMORY.md en
.claude/agent-memory/ (memoria portable)
- Verificar BacklogGit configurado (snapshots en markdown)
- Score: % datos en formatos abiertos × presencia de SaviaHub/BacklogGit
Paso 2 — D2: Independencia LLM (25%)
- Verificar
scripts/emergency-setup.sh existe
- Comprobar si Ollama está mencionado en configuración
- Analizar smart-frontmatter: ¿hay variedad de modelos? (haiku/sonnet/opus)
- Buscar dependencias Claude-específicas en prompts
- Score: emergency_mode_ready × multi_model_usage × prompt_portability
Paso 3 — D3: Protección del grafo (20%)
- Verificar
.gitignore excluye datos sensibles (PAT, credenciales, PII)
- Detectar Company Savia con cifrado (RSA-4096, AES-256)
- Comprobar perfiles de cliente en local (no cloud)
- Verificar hook-pii-gate activo en settings.json
- Score: gitignore_coverage × encryption_present × pii_protection
Paso 4 — D4: Gobernanza del consumo (15%)
- Verificar
company/policies.md existe (governance policy)
- Detectar audit-trail configurado (action-log, agent-trace-log)
- Buscar trazas de ejecución de governance-audit
- Verificar token tracking (context-budget, scoring-curves)
- Score: policy_exists × audit_active × tracking_present
Paso 5 — D5: Opcionalidad de salida (15%)
- Verificar documentación completa (README, guides, rules en markdown)
- Buscar exit plan documentado
- Comprobar backups configurados (backup-encrypt, backup-verify)
- Verificar datos de empresa separados de herramienta
- Score: docs_complete × exit_plan × backups × data_separation
Paso 6 — Score global
- Calcular:
Score = D1×0.25 + D2×0.25 + D3×0.20 + D4×0.15 + D5×0.15
- Clasificar nivel (plena/alta/medio/alto/crítico)
- Generar gráfico ASCII de barras por dimensión
- Guardar en
output/sovereignty-scan-YYYYMMDD.md
Flujo: Report
- Cargar último scan de
output/sovereignty-scan-*.md
- Si no existe → ejecutar scan primero
- Cargar scans anteriores para tendencia (si hay)
- Generar informe ejecutivo:
- Score global + clasificación
- Desglose por dimensión con evidencia concreta
- Tendencia temporal (mejora/empeora/estable)
- Riesgos priorizados
- Benchmarks: comparación con configuración ideal
- Formato: markdown (default) o delegado a skill PDF si --format pdf
Flujo: Exit Plan
- Inventariar datos organizacionales:
- SaviaHub: company/, clients/, users/ (tamaño, items)
- Perfiles:
.claude/profiles/ (users, teams)
- Memorias:
.claude/agent-memory/ (MEMORY.md por agente)
- Backlogs: snapshots en BacklogGit
- Specs, decisiones, playbooks
- Listar dependencias del proveedor actual:
- API Anthropic (Claude Code)
- Azure DevOps / Jira (si configurado)
- MCP servers activos
- Estimar esfuerzo de migración por categoría
- Generar timeline realista (72h/1 semana/1 mes)
- Listar alternativas: otros LLMs, herramientas PM, plataformas
- Output:
output/exit-plan-YYYYMMDD.md
Flujo: Recommend
- Leer último scan
- Identificar dimensiones con score < 70
- Para cada gap, mapear a acción concreta:
- D1 bajo → "Configura SaviaHub:
/savia-hub init"
- D2 bajo → "Configura Emergency Mode:
/emergency-mode setup"
- D3 bajo → "Activa PII gate: revisa
.claude/settings.json"
- D4 bajo → "Crea governance policy:
/governance-policy create"
- D5 bajo → "Genera exit plan:
/sovereignty-audit exit-plan"
- Ordenar por impacto/esfuerzo (quick wins primero)
- Presentar como checklist accionable con prioridad
Errores
| Error | Acción |
|-------|--------|
| Workspace no inicializado | Sugerir git init + setup básico |
| Sin datos para scan | Ejecutar scan con defaults (score bajo) |
| Sin scans anteriores | Report sin tendencia, solo snapshot actual |
| Fichero de scan corrupto | Re-ejecutar scan |
Seguridad
- El scan NUNCA envía datos organizacionales a APIs externas
- Los resultados se guardan localmente en
output/
- El exit plan no ejecuta ninguna migración, solo documenta
- Las recomendaciones son informativas, no ejecutan comandos automáticamente