67
/ 100
Auditoria de Seguridad — Workspace CULTIVA IA
Generado por python3 scripts/workspace_audit.py --demo --json | 13 junio 2026
7
Pasados
5
Avisos
2
Fallos
14
Total checks
C
Grado
Hallazgos de Seguridad
⚠ Fallos Criticos (2)
Drive
Admin Console > Drive > Sharing settings > Restringir
FALLO
OAuth
Admin Console > Security > API controls > Revisar
FALLO
⚡ Avisos (5)
Drive
Revisar ajustes en Admin Console
AVISO
Gmail
Actualizar DNS: v=DMARC1; p=quarantine
AVISO
Calendar
Cambiar a Free/Busy en Admin Console
AVISO
OAuth
Auditar via Directory API tokens
AVISO
Admin
Reducir via Directory API users.list
AVISO
Recetas Recomendadas para CULTIVA IA
morning-briefing
Resumen del dia: eventos del calendario + emails sin leer + tareas pendientes
inbox-zero
Procesar bandeja a cero: etiquetar, archivar, responder, crear tareas
weekly-summary
Resumen semanal de emails, eventos y tareas completadas
share-folder
Compartir carpeta de Drive con el equipo de un nuevo cliente
standup-report
Standup diario desde Calendar + Tasks, listo para pegar en Slack
workspace_audit
Auditoria completa de seguridad del workspace con plan de accion
Comandos CLI — Listos para Ejecutar
# Verificar instalacion y autenticacion
$ python3 scripts/gws_doctor.py
✓ gws v0.7.2 instalado
✓ OAuth tokens validos (gmail, calendar, tasks)
# Morning briefing — todos los dias 08:30
$ gws workflow +morning-briefing | python3 scripts/output_analyzer.py --format table
EVENTOS HOY — 3 reuniones
10:00 Sync cliente NutriFlow (45min)
12:30 Revision propuesta Dentiz IA
16:00 Retrospectiva equipo
EMAILS SIN LEER — 23 mensajes
TAREAS PENDIENTES — 5 items
$ python3 scripts/gws_doctor.py
✓ gws v0.7.2 instalado
✓ OAuth tokens validos (gmail, calendar, tasks)
# Morning briefing — todos los dias 08:30
$ gws workflow +morning-briefing | python3 scripts/output_analyzer.py --format table
EVENTOS HOY — 3 reuniones
10:00 Sync cliente NutriFlow (45min)
12:30 Revision propuesta Dentiz IA
16:00 Retrospectiva equipo
EMAILS SIN LEER — 23 mensajes
TAREAS PENDIENTES — 5 items
# Buscar emails leidos con mas de 30 dias
$ gws gmail users messages list --params '{"userId":"me","q":"is:read older_than:30d"}' --page-all | python3 scripts/output_analyzer.py --count
Encontrados: 847 emails
# Verificar schema antes de archivar (buena practica)
$ gws schema gmail.users.messages.modify
# Archivar en batch (--dry-run primero!)
$ gws workflow +inbox-zero --dry-run
[DRY-RUN] Se archivarian 847 emails
[DRY-RUN] Se crearian 12 etiquetas
$ gws gmail users messages list --params '{"userId":"me","q":"is:read older_than:30d"}' --page-all | python3 scripts/output_analyzer.py --count
Encontrados: 847 emails
# Verificar schema antes de archivar (buena practica)
$ gws schema gmail.users.messages.modify
# Archivar en batch (--dry-run primero!)
$ gws workflow +inbox-zero --dry-run
[DRY-RUN] Se archivarian 847 emails
[DRY-RUN] Se crearian 12 etiquetas
# Resumen semanal cada viernes 17:00
$ gws workflow +weekly-summary --json
emails_enviados: 142
reuniones: 18 (12.5h totales)
tareas_completadas: 37/42
# Agregar fila de KPIs en Google Sheets
$ gws sheets +append --spreadsheet-id "1xKz9BNp..." --range "KPIs!A:F" --values '[["2026-06-13","142","18","37","42","88%"]]'
✓ Fila agregada en KPIs Semanales
# Compartir informe con cliente
$ gws drive permissions create --params '{"fileId":"1xKz9BNp..."}' --json '{"type":"user","role":"reader","emailAddress":"cliente@empresa.com"}'
✓ Acceso concedido a cliente@empresa.com
$ gws workflow +weekly-summary --json
emails_enviados: 142
reuniones: 18 (12.5h totales)
tareas_completadas: 37/42
# Agregar fila de KPIs en Google Sheets
$ gws sheets +append --spreadsheet-id "1xKz9BNp..." --range "KPIs!A:F" --values '[["2026-06-13","142","18","37","42","88%"]]'
✓ Fila agregada en KPIs Semanales
# Compartir informe con cliente
$ gws drive permissions create --params '{"fileId":"1xKz9BNp..."}' --json '{"type":"user","role":"reader","emailAddress":"cliente@empresa.com"}'
✓ Acceso concedido a cliente@empresa.com
# Auditoria completa del workspace
$ python3 scripts/workspace_audit.py --json | python3 scripts/output_analyzer.py --filter "status=FAIL" --select "area,check,remediation"
[FAIL] drive / Link sharing: Restringir defaults
[FAIL] oauth / Third-party apps: Revisar 12 apps
# Solo servicios criticos
$ python3 scripts/workspace_audit.py --services gmail,drive,oauth --json
Score: 67/100 — Grado C
5 avisos, 2 fallos criticos
7 checks OK
$ python3 scripts/workspace_audit.py --json | python3 scripts/output_analyzer.py --filter "status=FAIL" --select "area,check,remediation"
[FAIL] drive / Link sharing: Restringir defaults
[FAIL] oauth / Third-party apps: Revisar 12 apps
# Solo servicios criticos
$ python3 scripts/workspace_audit.py --services gmail,drive,oauth --json
Score: 67/100 — Grado C
5 avisos, 2 fallos criticos
7 checks OK
Planificacion de Automatizaciones — Cron CULTIVA IA
Tareas Programadas Recomendadas
Lun-Vie 08:30
Morning Briefing
gws workflow +morning-briefing | output_analyzer.py --format table
ACTIVO
Lun-Vie 09:00
Standup Report
gws workflow +standup-report | output_analyzer.py --format table
ACTIVO
Lun-Vie 10:00
Inbox Zero — Clasificar Leads
gws workflow +inbox-zero → etiquetas: Clientes, Facturas, Urgente
ACTIVO
Viernes 17:00
Resumen Semanal + KPIs a Sheets
gws workflow +weekly-summary → gws sheets +append KPIs
ACTIVO
Lunes 07:00
Limpieza Bandeja — Archivar +30 dias
gws gmail messages list q:"is:read older_than:30d" → modify archive
PENDIENTE
Domingos 06:00
Auditoria de Seguridad Semanal
python3 workspace_audit.py --json → informe a admin@cultivaia.com
PENDIENTE
Impacto Estimado — Ahorro Semanal
Horas Ahorradas / Semana
Total ahorro estimado
8.5 h / semana
Resumen de Implementacion
43
Recetas disponibles
6
Flujos activos
5
Scripts Python
2
Fallos criticos
Proximos pasos recomendados:
1. Corregir 2 fallos criticos de Drive y OAuth
2. Activar crons de morning-briefing y standup
3. Configurar cron semanal de auditoria
4. Revisar y reducir admins de 4 a 2
5. Actualizar DMARC a p=quarantine
2. Activar crons de morning-briefing y standup
3. Configurar cron semanal de auditoria
4. Revisar y reducir admins de 4 a 2
5. Actualizar DMARC a p=quarantine