Volver al Blog
Técnico

Los Videos de Tus Usuarios No Están Seguros. Así Diseñamos los Nuestros.

La mayoría de APIs de video almacenan grabaciones en buckets compartidos con URLs públicas. VIDTREO usa almacenamiento privado encriptado, URLs temporales prefirmadas, encriptación de grado militar para credenciales, y te permite conectar tu propio bucket S3 o R2 para soberanía total de datos.

Christian Segovia 21 de marzo de 2026 7 min min de lectura

TL;DR

  • La mayoría de APIs de grabación de video almacenan archivos en buckets compartidos con URLs públicas permanentes o de larga duración
  • VIDTREO almacena cada video en almacenamiento privado encriptado con cero acceso público — los archivos solo son accesibles mediante URLs prefirmadas que expiran en minutos
  • Las credenciales de almacenamiento de clientes se encriptan en reposo con encriptación autenticada estándar de la industria antes de tocar la base de datos
  • Trae tu propio bucket — conecta tu propio R2 o almacenamiento compatible con S3 para soberanía total de datos
  • Cada petición de API está limitada a un environment + API key específico — sin acceso cruzado entre tenants, nunca

El Problema del que Nadie Habla

Cuando agregas grabación de video a tu app, tus usuarios te confían algo personal: su cara, su voz, su identidad. Un candidato grabando una entrevista de trabajo. Un paciente describiendo síntomas. Un estudiante entregando una tarea.

¿Dónde terminan esos videos?

Con la mayoría de APIs de video, la respuesta es: un bucket compartido con una URL permanente. Cualquiera con el enlace puede acceder al archivo. Para siempre. Sin expiración. Sin control de acceso. La URL es el modelo de seguridad.

Eso no es seguridad. Es un riesgo legal.

Cómo VIDTREO Maneja el Almacenamiento

Diseñamos nuestra capa de almacenamiento asumiendo que cada video contiene datos sensibles. No porque el cumplimiento normativo lo exija (aunque sí lo hace), sino porque es el estándar correcto por defecto.

Capa 1: Sin Acceso Público

Los videos subidos a través del SDK de VIDTREO llegan a buckets de almacenamiento privado con acceso público deshabilitado. No hay URL de CDN. No hay endpoint público. El bucket es invisible para internet.

Para acceder a un video, tu aplicación solicita una URL prefirmada generada del lado del servidor. Esa URL funciona por unos pocos minutos. Después de eso, está muerta. Sin caché, sin compartir, sin exposición accidental.

Esto significa que incluso si una URL se filtra — en un log, en un mensaje de Slack, en el historial del navegador — ya expiró para cuando alguien pudiera usarla indebidamente.

Capa 2: Aislamiento por Environment

Cada cuenta de VIDTREO puede crear múltiples environments (producción, staging, testing). Cada environment es un límite de aislamiento completo:

  • Namespace de almacenamiento separado — los videos de un environment no pueden ser accedidos desde otro
  • API keys separadas — cada environment tiene sus propias claves con scope
  • Configuración separada — tipo de almacenamiento, presets de encoding, webhooks — todo por environment

Una petición con un API key de staging no puede acceder a videos de producción. El aislamiento es arquitectónico, no solo basado en permisos.

Capa 3: Encriptación de Credenciales

Cuando los clientes conectan su propio almacenamiento (más sobre esto abajo), proporcionan credenciales: access keys, secret keys, account IDs. Este es material sensible.

Encriptamos cada campo de credenciales usando encriptación autenticada antes de que llegue a la base de datos. La encriptación usa la Web Crypto API nativamente en Cloudflare Workers — sin librerías de terceros, sin llamadas externas a KMS. La derivación de claves está diseñada para hacer que ataques de fuerza bruta sean computacionalmente costosos incluso si la base de datos fuera comprometida.

Las credenciales se desencriptan solo en el momento de uso, en memoria, durante la operación de almacenamiento. Nunca se loguean, nunca se cachean en texto plano, nunca se devuelven en respuestas de API.

Capa 4: Scope de API Keys

Cada petición del SDK pasa por autenticación de API key. Pero las API keys de VIDTREO no son solo bearer tokens — están limitadas a un environment específico con permisos granulares.

El sistema valida:

  1. El API key existe y está activo
  2. La clave tiene permiso para la operación solicitada (subir, listar, leer, eliminar)
  3. El environment de la clave coincide con el recurso solicitado

Un API key válido para el Environment A no puede leer videos del Environment B. El backend de almacenamiento correcto y las credenciales se resuelven por environment en tiempo de ejecución.

Trae Tu Propio Bucket

El almacenamiento por defecto de VIDTREO funciona para la mayoría de equipos. Pero algunas organizaciones — salud, finanzas, gobierno, enterprise — necesitan que los videos se almacenen en infraestructura que ellos controlan.

VIDTREO soporta tres modos de almacenamiento por environment:

ModoDescripciónCaso de Uso
DefaultAlmacenamiento administrado por VIDTREOLa mayoría de equipos — cero configuración
Tu R2Tu propio bucket de Cloudflare R2Equipos ya en Cloudflare
Tu S3Cualquier almacenamiento compatible con S3 (AWS, MinIO, Backblaze)Enterprise, on-prem, multi-cloud

Cómo Funciona

En tu dashboard de VIDTREO, configura almacenamiento personalizado por environment. Proporciona las credenciales de tu bucket, y VIDTREO las valida antes de guardarlas. A partir de ese momento, cada video grabado en ese environment va directamente a tu bucket.

La estructura de rutas es configurable — usa nuestra organización por defecto o define tu propio prefijo para que coincida con tus convenciones de almacenamiento existentes.

Lo que Esto Significa en la Práctica

Con BYOB habilitado, tus videos nunca tocan almacenamiento de VIDTREO. La ruta de subida es:

VIDTREO Recorder → VIDTREO Edge API → Tu Bucket

VIDTREO actúa como la capa de procesamiento — manejando encoding, extracción de duración, facturación y metadata — pero el archivo de video aterriza en almacenamiento que tú controlas. Tú controlas las políticas de retención, ubicación geográfica, calendarios de backup y logs de acceso.

Si dejas de usar VIDTREO mañana, tus videos ya están en tu bucket. Sin migración, sin exportación, sin secuestro de datos.

Lo que Viene

Estamos evaluando activamente backends de almacenamiento adicionales según demanda de clientes:

  • Google Cloud Storage — para equipos en GCP
  • Azure Blob Storage — para environments enterprise de Microsoft
  • SFTP — para sistemas legacy y redes air-gapped

Estos seguirán el mismo patrón: credenciales encriptadas, configuración por environment, validación en el momento de configuración.

El Modelo de Seguridad, Resumido

Cada componente en nuestro pipeline de almacenamiento está diseñado con supuestos de zero-trust:

PrincipioCómo Lo Aplicamos
Sin URLs permanentesLas URLs prefirmadas expiran en minutos — sin tokens de acceso de larga duración
Sin buckets compartidosCada environment tiene su propio namespace de almacenamiento aislado
Sin credenciales en texto planoLos secretos de almacenamiento de clientes se encriptan en reposo con encriptación autenticada
Sin acceso cruzado entre tenantsLas API keys tienen scope por environment con permisos granulares
Sin vendor lock-inBYOB te permite ser dueño de tus datos desde el día uno

Empieza Ahora

Cada cuenta de VIDTREO obtiene almacenamiento seguro por defecto:

  • $1 de crédito gratis — suficiente para ~100 minutos HD con encriptación completa y entrega por URL prefirmada
  • $0.01/min para HD — grabación + transcodificación + almacenamiento encriptado + entrega prefirmada
  • BYOB disponible en todos los planes — conecta tu propio bucket R2 o S3 sin recargo

Tus usuarios te confían sus datos más personales. No los almacenes en un bucket con una URL pública permanente.

Empieza a Construir Gratis → Ver Documentación de Storage → Ver Arquitectura de Seguridad →

Compartir artículo