# Registro de riesgos, inventario de activos y evaluación de proveedores

**Veritas Digital LLC** · Versión 1.0 · 5 de agosto de 2026
**Método:** probabilidad × impacto, escala 1–5 · **Revisión:** semestral

---

## Parte I · Registro de riesgos

### Escala

| Nivel | Puntuación | Tratamiento |
|---|---|---|
| Crítico | 20–25 | Reducción inmediata |
| Alto | 12–19 | Plan con fecha |
| Medio | 6–11 | Control compensatorio |
| Bajo | 1–5 | Aceptación documentada |

### Riesgos identificados

| # | Riesgo | P | I | Puntuación | Tratamiento | Estado |
|---|---|---|---|---|---|---|
| R-01 | **Alteración de un certificado ya emitido** | 1 | 5 | 5 · Bajo | Registro de solo-anexado, árbol de Merkle, anclaje en Bitcoin fuera del control de Veritas | **Reducido** |
| R-02 | **Suplantación del dominio en correo** | 4 | 4 | **16 · Alto** | Sin SPF y DMARC en solo observación. Registros preparados, pendiente inventario de emisores | **ABIERTO** |
| R-03 | **Denegación de servicio por límite de tasa mal agrupado** | 4 | 4 | 16 · Alto | Limitador por identidad de visitante, no por IP. Verificado con ráfaga de 75 peticiones | **Reducido** |
| R-04 | **Copia de seguridad que falla en silencio** | 3 | 5 | 15 · Alto | Verificación por conteo que falla en voz alta; copia cifrada externa; restauración probada | **Reducido** |
| R-05 | **Malware subido que llega a la canalización** | 3 | 4 | 12 · Alto | ClamAV en modo fallo cerrado. Verificado con archivo EICAR | **Reducido** |
| R-06 | **Compromiso de una dependencia** | 3 | 5 | 15 · Alto | `ignore-scripts`, cuarentena de 7 días, `osv-scanner`, fichero de bloqueo fijado | **Reducido** |
| R-07 | **Falsificación de petición del lado del servidor en el capturador** | 3 | 4 | 12 · Alto | Validación de DNS antes de conectar; rechazo de direcciones privadas, de bucle local y de metadatos de nube; revalidación en cada redirección | **Reducido** |
| R-08 | **Pérdida de la clave de firma** | 2 | 5 | 10 · Medio | Clave respaldada cifrada fuera del servidor. **Riesgo residual:** los certificados ya emitidos siguen siendo verificables contra Bitcoin aunque la clave se pierda | **Aceptado** |
| R-09 | **Despliegue defectuoso sin preproducción** | 3 | 3 | 9 · Medio | Reversión ensayada. Caso real: la política con nonce se revirtió el mismo día | **ABIERTO** |
| R-10 | **Cese del operador único** | 2 | 5 | 10 · Medio | Plan de continuidad con volcado final. Los certificados sobreviven a la organización | **Aceptado** |
| R-11 | **Cierre de los calendarios de OpenTimestamps** | 2 | 3 | 6 · Medio | Varios calendarios independientes. Una prueba ya actualizada es autocontenida y no los necesita | **Reducido** |
| R-12 | **Caída de la autoridad de sellado RFC 3161** | 3 | 2 | 6 · Medio | El anclaje en Bitcoin es independiente. Se degrada, no se rompe | **Aceptado** |
| R-13 | **Escalada de privilegios desde un contenedor** | 2 | 5 | 10 · Medio | Sin root, sin capacidades, `no-new-privileges`, raíz en solo lectura, red segregada | **Reducido** |
| R-14 | **Ejecución de guion en el navegador por `unsafe-inline`** | 2 | 3 | 6 · Medio | Incompatible con el prerenderizado de 23 páginas. Compensado con `object-src none`, `base-uri self`, `frame-ancestors none`, escapado por defecto y bloques en línea que son datos, no código | **ABIERTO** |
| R-15 | **Raíz de transparencia que nunca confirma su anclaje** | 5 | 4 | **20 · Crítico** | El bucle de confirmación vivía tras una salida temprana y solo corría al publicar una raíz nueva, momento en el que el anclaje siempre está pendiente. Movido al paso 0, fuera de todo condicional. Verificado: raíz de 17 hojas confirmada en el bloque 960961 | **Reducido** |

### Los tres riesgos abiertos

| # | Por qué sigue abierto | Qué lo cerraría |
|---|---|---|
| **R-02** | Endurecer SPF a ciegas rompe entregas en silencio, y la zona DNS es compartida con otros negocios | Inventario completo de emisores legítimos, luego endurecer por fases. **Requiere decisión del propietario** |
| **R-09** | No hay entorno de preproducción | Un despliegue paralelo de validación. Es la mejora de mayor retorno pendiente |
| **R-14** | Eliminar `unsafe-inline` exige renunciar al prerenderizado de 23 páginas | Decisión de negocio sobre el coste en rendimiento |

**Ningún riesgo abierto afecta a la validez de un certificado ya emitido.** Los tres afectan a la
resiliencia de la organización o a la experiencia del usuario. La distinción es deliberada y se
declara.

---

## Parte II · Inventario de activos

### Activos de información

| Activo | Clasificación | Ubicación | Protección |
|---|---|---|---|
| Huellas SHA-256 de las obras | Material probatorio | Base de datos | Solo-anexado, respaldado, anclado |
| Pruebas de anclaje `.ots` | Material probatorio | Volumen de certificados | Nunca purgables — protegidas explícitamente por la barrera de rutas |
| Certificados PDF firmados | Material probatorio | Volumen de certificados | Respaldados con verificación por conteo |
| Hojas y raíces del árbol de transparencia | Material probatorio | Base de datos | Solo-anexado, raíces ancladas en Bitcoin |
| Registros de auditoría | Material probatorio | Base de datos | Sin ruta de borrado en el código |
| Correos de usuario | Confidencial | Base de datos | Nunca en los registros de aplicación |
| Claves de agente | Confidencial | Base de datos | Almacenadas hasheadas |
| Archivos originales subidos | Confidencial | Volumen de proceso | Purgados a los 3 días |
| Clave privada de firma | Confidencial | `/run/secrets` | Montada en solo lectura, fuera de la imagen |

### Activos técnicos

| Activo | Función | Endurecimiento |
|---|---|---|
| Contenedor de API | Interfaz HTTP | Sin root, sin capacidades, raíz en solo lectura |
| Contenedor de procesador | Canalización de certificación | Sin root, sin capacidades, raíz en solo lectura |
| Contenedor web | Interfaz de usuario | Sin root, sin capacidades, raíz en solo lectura |
| Contenedor de base de datos | Persistencia | Sin root **(corregido)**, sin capacidades |
| Contenedor de cola | Trabajos asíncronos | Sin puertos publicados |
| Contenedor de análisis | Antivirus | Fallo cerrado |

**Ningún contenedor de la plataforma publica puertos al exterior.** El único punto de entrada es
el proxy, que queda fuera del alcance de este sistema de gestión.

---

## Parte III · Proveedores

### Evaluación

| Proveedor | Servicio | Criticidad | Si desaparece |
|---|---|---|---|
| **Proveedor de servidores** | Cómputo y red | Alta | El servicio cae. **Los certificados emitidos siguen siendo verificables** |
| **Calendarios de OpenTimestamps** | Anclaje en Bitcoin | Media | No se pueden emitir anclajes nuevos. Los ya actualizados son autocontenidos |
| **Autoridad de sellado RFC 3161** | Sello de tiempo externo | Baja | Se degrada a solo anclaje en Bitcoin |
| **Autoridad de certificación TLS** | Certificado del sitio | Media | Sustituible por cualquier otra en horas |
| **Almacenamiento externo** | Copia fuera del servidor | Baja | La copia local sigue existiendo. **Solo recibe material cifrado** |
| **Registrador del dominio** | Nombre de dominio | Alta | Los certificados apuntan a huellas, no a URLs. Verificables igual |

### El principio que gobierna esta tabla

> **Ningún proveedor puede invalidar un certificado ya emitido.**

No es una casualidad favorable: es un requisito de diseño. Cada dependencia externa se eligió de
modo que su desaparición degrade el servicio pero no destruya la prueba. Por eso hay dos fuentes
de tiempo independientes, por eso la copia externa va cifrada, y por eso la verificación no
requiere contactar con Veritas.

### Huecos declarados

| Hueco | Alcance |
|---|---|
| Sin acuerdos negociados | Se opera bajo los términos estándar de cada proveedor |
| Sin revisión periódica formal | Se vigila el estado de calendarios y autoridad de sellado, sin ciclo documentado |
| Sin evaluación de subencargados | Los subencargados de los proveedores no se auditan |

---

*Veritas Digital LLC, 5 de agosto de 2026. Revisión semestral, y ante cualquier alta de proveedor
o cambio material en la arquitectura.*
