# MacLockdown — Next Phase Priorities

**Versión:** 1.0  
**Fecha:** 2026-03-17  
**Estado:** ✅ Prioridades de siguiente fase definidas después de completar `P1/P2/P3`

---

## 1. Objetivo

Definir la siguiente fase de evolución del producto después de haber completado:

- packaging comercial visible
- `continuous posture` básico
- delta reporting en `Compare` y export
- primera y segunda capa visible de CTI / MITRE
- mejoras concretas en privilegios y fixes

Este documento no reemplaza `EXECUTION_PRIORITIES_v01.md`.

Ese documento cubre la fase ya ejecutada.

Este documento define lo siguiente.

---

## 2. Resumen Ejecutivo

El producto ya dejó de parecer una utilidad aislada y ya funciona como sistema local de postura de seguridad con remediación y evidencia.

La siguiente fase debe cerrar tres gaps reales:

1. CTI todavía informa, pero no guía acción concreta
2. El modelo de postura todavía es comparativo entre dos puntos, no una tendencia real
3. La app todavía comunica hallazgos, pero no alerta ni empuja comportamiento activo

Orden recomendado:

- `P4` CTI-guided remediation
- `P5` multi-scan trend model
- `P6` posture alerting

---

## 3. P4 — CTI-Guided Remediation

### Problema

Hoy el producto ya puede mostrar:

- técnica expuesta
- prioridad de técnica
- vector de ataque afectado
- threat actors asociados

Pero todavía no puede cerrar el loop completo:

> `This technique is exposed` → `fix these controls to reduce that exposure`

### Objetivo

Conectar CTI con acción concreta dentro del producto.

### Resultado esperado

El usuario debe poder responder:

- qué técnica está expuesta
- qué controles la habilitan
- qué fix reduce esa exposición
- qué impacto esperado tendría esa remediación

No solo:

`what should I fix?`

También:

`what do I gain if I fix this now?`

### Implementación sugerida

#### Attack Surface

- añadir CTA o bloque:
  - `Reduce exposure`
  - `Fix controls linked to this technique`
- vincular cada técnica priorizada con los checks relevantes
- permitir navegación:
  - técnica → checks
  - check → fix

#### Impact preview

Agregar vista previa de impacto antes de ejecutar la remediación.

Ejemplos:

- `Fixing these controls may reduce exposure to 3 techniques`
- `Expected impact: +12 score`
- `Expected impact: 2 controls restored`

Esto convierte:

`acción` → `decisión informada`

Y hace que CTI no solo priorice, sino que también justifique la remediación.

#### Check row / detalle

- mostrar claramente cuando un check contribuye a la técnica priorizada actual

#### Messaging

- `Fix this to reduce exposure to technique X`
- `This configuration increases exposure to tactic Y`
- `Fixing this may reduce exposure to 3 techniques`
- `Expected impact: +12 score`

### Archivos probables

- `AttackSurface.swift`
- `ContentView.swift`
- opcionalmente `SecurityViewModel.swift`

### Impacto

- muy alto en diferenciación
- alto en usabilidad
- alto en valor percibido de `Professional`
- alto en conversión porque justifica mejor el click de remediación

---

## 4. P5 — Multi-Scan Trend Model

### Problema

Hoy el producto ya muestra:

- score delta
- improved / regressed
- last scan vs current scan

Eso es útil, pero todavía no permite hablar de tendencia real.

### Objetivo

Pasar de comparación puntual a lectura de comportamiento.

### Resultado esperado

El usuario debe poder ver:

- improving over last 5 scans
- unstable posture
- sustained degradation
- sustained recovery

### Implementación sugerida

#### Datos

- derivar tendencia desde `N` scans recientes del mismo perfil
- clasificar:
  - `stable`
  - `improving`
  - `degrading`
  - `unstable`

#### UI

- mostrar tendencia real en header o trend panel
- reforzar `Compliance` con narrativa de evolución sostenida

#### Export

- añadir:
  - `Trend over last N scans`
  - `Posture stability`

### Archivos probables

- `PersistenceEngine.swift`
- `SecurityViewModel.swift`
- `ContentView.swift`
- `ReportEngine.swift`

### Impacto

- muy alto en credibilidad de `continuous posture`
- muy alto en `Compliance`
- base correcta para alerting

---

## 5. P6 — Posture Alerting

### Problema

Hoy el producto informa, pero todavía no actúa.

Es un sistema pasivo.

### Objetivo

Introducir comportamiento activo cuando la postura empeora.

### Resultado esperado

Ejemplos:

- `Your security posture has degraded`
- `New risks detected`
- `Technique priority increased`

### Implementación sugerida

#### UI local

- banners de degradación
- señales más visibles cuando aparecen nuevos riesgos

#### Alerting local

- marcar eventos de regresión significativa
- opcionalmente preparar notificaciones locales futuras

#### Reglas mínimas

- alertar cuando aparece un nuevo fail
- alertar cuando una técnica priorizada sube de nivel
- alertar cuando el score cae más de un umbral definido

### Archivos probables

- `SecurityViewModel.swift`
- `ContentView.swift`
- opcionalmente persistencia de eventos

### Impacto

- alto en percepción de sistema activo
- alto en valor futuro de `Compliance`
- depende de `P5`

---

## 6. Orden Operativo Recomendado

### Bloque 1

- `P4` CTI-guided remediation

Razón:

- cierra el loop más potente del producto
- convierte CTI en valor operativo, no solo visual

### Bloque 2

- `P5` multi-scan trend model

Razón:

- madura `continuous posture`
- fortalece `Compliance`

### Bloque 3

- `P6` posture alerting

Razón:

- necesita mejor base semántica de tendencia antes de activarse

---

## 7. Quick Wins

Si se quiere capturar valor rápido sin hacer toda la siguiente fase:

- agregar CTA:
  - `Fix to reduce exposure`
- agregar impact preview:
  - `Expected impact: +X score`
  - `May reduce exposure to Y techniques`
- mostrar tendencia simple:
  - `improving over last 5 scans`
- marcar postura como:
  - `unstable`
- mostrar alerta local cuando aparece un fail nuevo

---

## 8. Backlog técnico paralelo

Existe un track técnico que no debe bloquear `P4/P5/P6`, pero sí debe prepararse en paralelo:

- helper privilegiado formal
- `Authorization Services`
- `LaunchDaemon` registrado desde bundle
- IPC estructurado por `XPC`

Referencia de diseño:

- `PRIVILEGED_HELPER_ARCHITECTURE_v01.md`

Este track existe para reemplazar progresivamente:

- `NSAppleScript`
- `do shell script ... with administrator privileges`
- ejecución root basada en shell genérico

sin romper la UX actual de fixes.

---

## 9. Riesgos si no se ejecuta

- CTI puede seguir viéndose como insight decorativo
- `continuous posture` queda limitado a comparación entre dos puntos
- el producto sigue siendo más pasivo que activo

---

## 10. Decisión recomendada

- arrancar con `P4`
- preparar `P5` inmediatamente después
- dejar `P6` como consecuencia natural de `P5`
- diseñar en paralelo la migración a helper privilegiado formal

---

## 11. Relación con la fase previa

Este documento continúa la secuencia de:

- `ARCHITECTURE_v10_BETA3.md`
- `EXECUTION_PRIORITIES_v01.md`

Siguiente referencia documental sugerida cuando esta fase avance:

- `ARCHITECTURE_v11_RC1.md`
