Las contraseñas de las cuentas nunca se guardan como texto. Se almacenan como hashes unidireccionales con sal, creados con la función password_hash() de PHP con su algoritmo por defecto, y se comprueban con password_verify() cuando inicias sesión. La sesión se renueva con un identificador nuevo tras iniciar sesión.
Las claves API se guardan como hashes SHA-256 con clave (HMAC) y solo se usan para verificar solicitudes. Una clave puede rotarse desde el panel, y las copias legibles antiguas de las claves se borran. Mantén tu clave en privado, porque quien la tenga puede actuar como tú a través de la API.
Las acciones que cambian tu cuenta, como actualizar ajustes o eliminar videos, requieren un token CSRF vinculado a tu sesión, y el token se compara en tiempo constante. La cookie de sesión está marcada como HttpOnly y SameSite=Lax, por lo que los scripts de la página no pueden leerla y no se envía con la mayoría de las solicitudes entre sitios.
Los videos subidos y sus archivos de streaming procesados se guardan en una carpeta de almacenamiento privada que el servidor web bloquea para el acceso directo. Se entregan a través de la aplicación, que comprueba antes la solicitud. Los archivos entregados se envían con cabeceras de caché que los marcan como privados, así que las cachés compartidas no deberían conservarlos.
Los reproductores reciben sesiones de reproducción de corta duración en lugar de direcciones de archivo permanentes, y la duración por defecto es de 15 minutos. Las solicitudes de descarga se registran con una versión con hash de la dirección IP de quien las hace, en lugar de la dirección en sí, y lo mismo se aplica al recuento de vistas.
Cada video puede ser público o privado, y puedes pasar videos seleccionados a privado desde el panel. Los videos privados no aparecen en las páginas públicas de carpetas. Los moderadores del sitio aún pueden abrir cualquier archivo cuando gestionan denuncias de abuso o de copyright.
La API HTTP aplica límites por cuenta de solicitudes por hora, solicitudes por día y subidas por día (por defecto 250, 5,000 y 25), y responde con un estado 429 y una cabecera Retry-After cuando se alcanza un límite. Las subidas de invitados desde la página de inicio se limitan a diez cuentas temporales por dirección de red al día. Los formularios públicos, como el de denuncia de abuso, tienen sus propios límites.
Puedes eliminar videos desde el panel. Al eliminar un video se borran sus archivos almacenados y sus registros de la base de datos. La eliminación de la cuenta se tramita como solicitud a través de la página de contacto, y la política de privacidad describe la conservación para copias de seguridad y obligaciones legales.
El sitio detecta cuándo se sirve por HTTPS y, en ese caso, genera enlaces seguros. Forzar todas las visitas a HTTPS y las políticas de navegador correspondientes se configuran en el servidor web y no en el código de la aplicación, por lo que conviene comprobar siempre que la barra de direcciones muestre una conexión segura antes de iniciar sesión.
Si encuentras un problema de seguridad, avísanos a través de la página de contacto e incluye detalles suficientes para reproducirlo. No accedas a datos de otras personas ni interrumpas el servicio mientras pruebas. Para denunciar contenido abusivo, usa Denunciar abuso.