Sanitización Hermes → ECC · Informe de conversión
CULTIVA IA · Seguridad · Automatización interna · 18 jun 2026
3 workflows 11 hallazgos críticos 3 skills ECC listas
Workflows analizados
3
Datos sensibles eliminados
11
Skills ECC generadas
3
Riesgos residuales
2
1
Generación de contenido para cliente SaaS
4 hallazgos Skill: content-saas-monthly
⚠ Prompt Hermes original (PRIVADO — NO publicar)
Lee /Users/alvaro/hermes/clientes/fakturia-saas/brand-brief.md
y el CRM de Salesforce con token
Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIi...
Accede a la cuenta @fakturia_oficial de Twitter/X
y genera 10 hilos para junio.
Consulta el ARR actual (€287.400) y los churned
accounts de mayo (Cliente Banca ABC, Telefónica)
para el contexto.
Exporta a /Users/alvaro/Dropbox/cultiva/entregas/fakturia/junio-2026/
  • Ruta absoluta local — /Users/alvaro/...
  • Token Bearer OAuth — credencial Salesforce expuesta
  • Nombre de cliente privado — @fakturia_oficial, Banca ABC
  • Datos financieros — ARR real €287.400, churns
✓ Versión ECC sanitizada (segura para publicar)
Lee el brand brief del cliente en
docs/clients/<client-slug>/brand-brief.md
y los datos de negocio exportados en
docs/clients/<client-slug>/context/monthly-data.json

Credenciales requeridas: [SOCIAL_API_KEY]
(proveedor: Twitter/X API v2, rol: workspace owner)

Genera 10 hilos para el mes indicado en el brief.
Usa el contexto de negocio incluido (segmento,
propuesta de valor, audiencia). No incluir métricas
específicas de ARR ni nombres de cuentas perdidas.

Exporta en
output/content/<client-slug>/<month>/threads.md
  • Ruta convertida a repo-relativa con placeholder
  • Token eliminado, reemplazado por variable de entorno
  • Nombre de cliente → slug genérico
  • Datos financieros eliminados del contexto
Output Contract — Skill ECC: content-saas-monthly
Nombre skill ECC
content-saas-monthly
Inputs públicos requeridos
brand-brief.md · monthly-data.json · SOCIAL_API_KEY
Inputs privados eliminados
Token Bearer · ARR real · Nombres clientes · Rutas locales
Riesgos residuales
Ninguno
Archivos a crear/actualizar
skills/content-saas-monthly/SKILL.md · .env.example
Estado
Listo para PR
2
Auditoría nocturna de seguridad
5 hallazgos Skill: nightly-security-audit
⚠ Prompt Hermes original (PRIVADO)
Corre el chequeo nocturno:
- Revisa ~/.hermes/oauth/google-workspace-alvaro.json
  y escanea el Drive de alvarogimeno2002@gmail.com
- Verifica Vercel para proyectos cultivaia-next
  y nutripaw-landing
- Comprueba Sentry org "cultiva-ia-org" con DSN
  https://abc123@sentry.io/4507...
- Si errores críticos, llama al +34 612 345 678
  o escribe a ops@cultivaia.com
- Log en /Users/alvaro/.hermes/logs/nightly-2026-06-18.log
  • Archivo OAuth — credencial Google Workspace
  • Email personal — alvarogimeno2002@gmail.com
  • DSN de Sentry — token incrustado en URL
  • Número de teléfono — +34 612 345 678
  • Ruta de log privada — ~/.hermes/logs/
✓ Versión ECC sanitizada
Política de scheduler: ventana nocturna definida
en config/nightly-audit.yaml

Categorías de checks:
- Drive/almacenamiento (credencial: [GOOGLE_OAUTH_FILE])
- Deployments activos (proveedor: Vercel)
  Lista de proyectos en config/projects.json
- Error tracking (proveedor: Sentry)
  DSN via env: SENTRY_DSN

Escalado: si errores críticos, notificar al canal
definido en config/escalation.yaml
(no incluir contactos personales en el skill)

Logs en: logs/nightly/<YYYY-MM-DD>.log
(relativo al workspace root)
  • OAuth file → variable de entorno GOOGLE_OAUTH_FILE
  • Email personal eliminado completamente
  • DSN → variable SENTRY_DSN
  • Teléfono → config externa escalation.yaml
  • Ruta log → relativa al workspace root
Output Contract — Skill ECC: nightly-security-audit
Nombre skill ECC
nightly-security-audit
Inputs públicos requeridos
nightly-audit.yaml · projects.json · escalation.yaml · GOOGLE_OAUTH_FILE · SENTRY_DSN
Inputs privados eliminados
OAuth file path · Email · Teléfono · DSN hardcoded · Ruta log local
Riesgos residuales
Verificar que escalation.yaml no se commitee con datos reales
Archivos a crear/actualizar
skills/nightly-security-audit/SKILL.md · config/*.yaml.example · .env.example
Estado
Listo con cautela — revisar escalation.yaml
3
Onboarding de nuevo cliente de automatización
2 hallazgos críticos Skill: client-onboarding-automation
⚠ Prompt Hermes original (PRIVADO)
Nuevo cliente: María Fernández (CEO Logística
Rápida S.L., CIF B12345678, contacto directo:
maria.fernandez@logisticarapida.es,
móvil 677 123 456).

Accede a Notion con mi token
secret_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345
workspace "cultiva-interno" y crea el espacio
de proyecto en /Clientes/Activos/.

Copiar template desde
/Users/alvaro/plantillas/onboarding-automatizacion-v3.md

Presupuesto: €4.800/mes.
SEPA firmado en
/Users/alvaro/legal/sepa-logistica-rapida.pdf
  • Datos personales — nombre, email, móvil, CIF
  • Token Notion — secret_aBcDe...
  • Rutas locales — plantillas/ y legal/
  • Datos financieros/CRM — €4.800/mes, doc SEPA
✓ Versión ECC sanitizada
Carga el perfil del nuevo cliente desde
input/client-profile.yaml
(campos: company_slug, sector, services_contracted)

Credencial requerida: NOTION_API_KEY
(proveedor: Notion, rol: workspace owner)

Workspace target: definido en
config/notion-workspace.yaml

Usa la plantilla de onboarding en
templates/onboarding-automation/v3.md

Crea el espacio de proyecto según la estructura
definida en la plantilla. Omite datos personales,
financieros y documentos legales firmados.

Checklist de entregables:
- Espacio Notion creado
- Brief de automatización completado
- Próximos pasos acordados y documentados
  • Datos personales → client-profile.yaml (local, no commitear)
  • Token Notion → variable NOTION_API_KEY
  • Plantilla → ruta repo-relativa
  • Presupuesto y SEPA → excluidos (datos privados CRM)
Output Contract — Skill ECC: client-onboarding-automation
Nombre skill ECC
client-onboarding-automation
Inputs públicos requeridos
client-profile.yaml · notion-workspace.yaml · NOTION_API_KEY · templates/onboarding-automation/v3.md
Inputs privados eliminados
Nombre/email/móvil/CIF cliente · Token Notion · Presupuesto · Doc SEPA · Rutas locales
Riesgos residuales
client-profile.yaml debe estar en .gitignore
Archivos a crear/actualizar
skills/client-onboarding-automation/SKILL.md · templates/onboarding-automation/v3.md · .gitignore
Estado
Listo — verificar .gitignore antes del PR
!
Tabla de riesgos residuales y checklist final
2 items pendientes
Skill ECC Riesgo residual Severidad Acción requerida Estado
content-saas-monthly Sin riesgos identificados Ninguno Listo para PR ✓
nightly-security-audit escalation.yaml puede contener emails/teléfonos reales si se rellena con datos reales Medio Añadir escalation.yaml a .gitignore · Proveer escalation.yaml.example sin datos reales Pendiente revisión
client-onboarding-automation client-profile.yaml contendrá datos personales del cliente real Medio Añadir client-profile.yaml a .gitignore · Proveer client-profile.yaml.example Pendiente revisión
Checklist de sanitización ejecutada (todos los workflows)
  • Rutas absolutas (/Users/...) — ELIMINADAS
  • Rutas ~/.hermes — ELIMINADAS
  • API keys, tokens, OAuth — ELIMINADOS
  • Emails personales — ELIMINADOS
  • Números de teléfono — ELIMINADOS
  • DSN con credenciales — REEMPLAZADOS por env vars
  • Nombres de clientes privados — REEMPLAZADOS por slugs
  • Datos de ARR/revenue — ELIMINADOS
  • Datos CRM (churns, presupuestos) — ELIMINADOS
  • Documentos legales firmados — EXCLUIDOS
  • !Configs con escalado — marcar como .gitignore
  • !Perfiles de cliente — marcar como .gitignore