Watson: Pipeline de Ingesta, Catalogación y Protección de Evidencia

El Rol de Watson en la Investigación Judicial

En una causa penal compleja con múltiples ramificaciones, la evidencia suele presentarse de manera desordenada, fragmentaria y distribuida en cientos de correos electrónicos, cédulas digitales, actas escaneadas y resoluciones judiciales en formato PDF. Watson es el componente de ingeniería de datos e infraestructura responsable de recibir, verificar, limpiar, estructurar y proteger todo el corpus probatorio antes de que sea sometido a análisis.
Su principio fundamental es la neutralidad y la preservación forense: convertir material administrativo disperso en un repositorio documental estandarizado, versionado bajo Git, con metadatos explícitos y libre de datos personales sensibles que impidan su divulgación pública.

Descarga, Registro y Clasificación de Mails Oficiales

Las comunicaciones oficiales con el Ministerio Público Fiscal, el Ministerio de Salud y los efectores médicos se gestionan a través de herramientas automatizadas que garantizan la integridad de la cadena de custodia:

Conversión a Markdown y Generación de Metadatos (Frontmatter)

Para que los modelos de lenguaje (LLMs) y los índices de búsqueda puedan procesar expedientes judiciales de cientos de fojas sin saturar ventanas de contexto ni malgastar tokens, Watson normaliza los documentos:
---
fecha: "2021-02-05"
expediente: "MPF00546803"
origen_email: "fuentes/emails/fiscalias.gob.ar/decreto_archivo.e0458.eml"
original_filename: "resolucion_archivo_firmada.pdf"
---
Este encabezado permite filtrar inmediatamente por fecha cierta, legajo judicial y fuente de procedencia sin necesidad de interpretar el cuerpo del documento.

Detección de Duplicados y Control de Repetidos

Los expedientes judiciales acumulan decenas de copias de los mismos documentos (resoluciones reenviadas en múltiples traslados o copias de cédulas anexadas a distintos legajos). Watson integra scripts de desduplicación (repetidos.py, detectar_duplicados.py y copias_similares.py):

Anonimización y "Redacted" de Datos Personales

La publicación de un caso judicial en plataformas públicas como GitHub exige proteger estrictamente la privacidad de personas particulares, familiares, testigos y denunciantes, sin alterar la fuerza probatoria de los documentos oficiales:

Control de Publicación y Hook Pre-commit en Git

Para asegurar que ningún dato sensible pueda ser publicado accidentalmente en un repositorio público, Watson implementa un control automatizado en el ciclo de vida de Git a través de publicables.py:
# Verificación ejecutada por el hook pre-commit:
python3 /ruta/a/watson/scripts/publicables.py causa --staged
Si el hook detecta en el área de preparación un archivo con DNI, número de teléfono, correo personal o alguna cadena definida en anonimizar.yaml, el commit se rechaza de inmediato con código de salida 1, haciendo técnicamente imposible subir datos sensibles al repositorio.