Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 2.27 KB

README.md

File metadata and controls

32 lines (22 loc) · 2.27 KB

Sentinel Observer

Sistema Global de Monitorización de Baneos en Redes Sociales Mediante Inteligencia de Fuentes Abiertas (OSINT).

Arquitectura

El sistema está compuesto por los siguientes microservicios:

  • Orquestador (Temporal): Programa las revisiones periódicas basadas en un sistema de prioridades.
  • Workers (Extracción y Evidencia): Utilizan curl_cffi para suplantación de huella TLS y proxys rotativos para extraer perfiles. Playwright renderiza la tarjeta de evidencia final en 16:9.
  • Inferencia: Deduce basándose en códigos 404 HTTP combinados con pruebas de registro de nombre de usuario si una cuenta ha sido eliminada por el usuario o suspendida por la plataforma.
  • Distribuidor de alertas: Un bot de Telegram implementado con aiogram que despacha las alertas incluyendo las evidencias visuales.
  • Almacenamiento: PostgreSQL con TimescaleDB para la persistencia a largo plazo, Redis en clúster para la caché transaccional y S3 para objetos multimedia.
  • Telemetría: Prometheus registra el uso y posibles fallos estructurales para auto-recuperación y mitigación de baneos.

Requisitos

  • Docker y Docker Compose
  • Proxies residenciales
  • Tokens de la API de Telegram y Amazon S3 (para evidencias)

Ejecución

  1. Copiar .env.example a .env y configurar las credenciales y URLs base (proxies, telegram, DBs, etc.).
  2. Ejecutar docker-compose up -d --build.

Consideraciones Éticas y Legales

AVISO IMPORTANTE: Este sistema debe usarse bajo estricto cumplimiento del GDPR (Reglamento General de Protección de Datos) y demás normativas aplicables de privacidad.

  • Se debe aplicar una política estricta de minimización de datos.
  • El código incorpora una tarea periódica que purga snapshots y datos de perfiles que no hayan tenido actividad en los últimos 30 días, excepto aquellos que hayan sido confirmados como baneados (donde la evidencia puede conservarse por motivos analíticos configurables).
  • No se almacenan datos personales innecesarios. La caché temporal (Redis) únicamente conserva seguidores, biografía pública y avatar público hasta que se confirme una suspensión, y la imagen generada servirá como única evidencia persistente de la plataforma (alojada temporalmente en S3 bajo políticas de retención).