El Principio de Cero Retención de Conversaciones

En la era de la monitorización masiva y la extracción de datos, uno de los pilares arquitectónicos innegociables de MultiStream Chat es el respeto irrestricto por la privacidad comunitaria.

A diferencia de las plataformas tradicionales de streaming que registran, indexan y almacenan el historial completo de los chats en bases de datos relacionales para analítica publicitaria, MultiStream Chat opera bajo el principio de cero persistencia de mensajes:

* Sin Tablas de Mensajes: En la base de datos del proyecto (PostgreSQL sobre infraestructura Neon) no existe ninguna tabla destinada a almacenar mensajes de texto, nombres de espectadores o contenido de chat.

* Procesamiento Efímero en Memoria: Los mensajes recibidos fluyen exclusivamente por la memoria volátil del navegador del streamer y se descartan inmediatamente tras su renderizado o expiración en el buffer.

* Aislamiento por Token de Sesión: Cada usuario dispone de un identificador aleatorio de overlay de alta entropía (\overlayToken\), garantizando que ninguna fuente externa pueda acceder a la transmisión de datos sin autorización explícita.


Ciclo de Vida y Seguridad de Tokens OAuth

Para permitir funciones avanzadas como la moderación de canales o la lectura de transmisiones privadas de YouTube, MultiStream Chat implementa el estándar industrial OAuth 2.0 con PKCE y flujos seguros de concesión de código de autorización.

1. Alcance Mínimo de Permisos (Principio de Menor Privilegio)

La aplicación solicita única y exclusivamente los ámbitos estrictamente necesarios para su cometido:

* Twitch: \user:read:chat\, \chat:read\, y opcionalmente permisos de moderación si el streamer desea gestionar timeouts o baneos desde la interfaz unificada.

* YouTube: Alcance de solo lectura para la API de directos (\youtube.readonly\).

2. Cifrado y Almacenamiento Seguro

Los tokens de acceso y refresco (\twitchTokenData\, \youtubeTokenData\) se almacenan de forma segura en la base de datos asociada a la cuenta del usuario, protegidos mediante cifrado en reposo y conexiones obligatorias TLS 1.3.


Tubería de Sanitización de Logs de Conocimiento Cero

Para diagnosticar incidencias técnicas sin poner en riesgo la privacidad de los usuarios, el sistema integra una tubería de telemetría especializada (\src/lib/telemetry/logger.ts\):

\\\`typescript

// Mecanismo de ofuscación de datos sensibles antes de telemetría

function sanitizeForTelemetry(data: Record<string, unknown>): Record<string, unknown> {

const sanitized = { ...data };

const sensitiveKeys = ['token', 'password', 'key', 'secret', 'authorization', 'email'];

for (const key of Object.keys(sanitized)) {

if (sensitiveKeys.some(k => key.toLowerCase().includes(k))) {

sanitized[key] = '[REDACTED_ZERO_KNOWLEDGE]';

}

}

return sanitized;

}

\\\`

Cualquier identificador de sesión, token de autenticación o clave API personalizada es enmascarado antes de que un error se envíe a los servicios de diagnóstico.


Política Automatizada de Purga de Cuentas Inactivas

Para garantizar que los datos de configuración no permanezcan indefinidamente en los servidores cuando un usuario deja de utilizar la plataforma, MultiStream Chat cuenta con un cron job diario (\/api/cron/purge\):

  • Aviso Preventivo (Mes 23): Si una cuenta no registra actividad durante 23 meses, el sistema envía una notificación informativa al correo del usuario.
  • Purga Definitiva (Mes 24): Al alcanzar los 24 meses continuos de inactividad, el registro de la cuenta, sus preferencias visuales y sus tokens vinculados son eliminados físicamente de la base de datos mediante borrado en cascada, sin retención de copias residuales.