Les mots de passe des comptes ne sont jamais stockés en texte. Ils sont enregistrés sous forme de hachages salés à sens unique, créés avec la fonction password_hash() de PHP et son algorithme par défaut, et vérifiés avec password_verify() à la connexion. La session est renouvelée avec un nouvel identifiant après la connexion.
Les clés API sont stockées sous forme de hachages SHA-256 à clé (HMAC) et ne servent qu'à vérifier les requêtes. Une clé peut être renouvelée depuis le tableau de bord, et les anciennes copies lisibles sont effacées. Gardez votre clé privée : toute personne qui la possède peut agir en votre nom via l'API.
Les actions qui modifient votre compte, comme la mise à jour des paramètres ou la suppression de vidéos, exigent un jeton CSRF lié à votre session, comparé en temps constant. Le cookie de session est marqué HttpOnly et SameSite=Lax : les scripts de la page ne peuvent pas le lire et il n'est pas envoyé avec la plupart des requêtes inter-sites.
Les vidéos envoyées et leurs fichiers de streaming traités sont enregistrés dans un dossier de stockage privé dont l'accès direct est bloqué par la configuration du serveur web. Ils sont servis par l'application, qui vérifie d'abord la requête. Les fichiers servis portent des en-têtes de cache les marquant comme privés : les caches partagés ne devraient pas les conserver.
Les lecteurs reçoivent des sessions de lecture de courte durée plutôt que des adresses de fichiers permanentes ; la durée par défaut est de 15 minutes. Les demandes de téléchargement sont enregistrées avec une version hachée de l'adresse IP du demandeur plutôt qu'avec l'adresse elle-même, et il en va de même pour le comptage des vues.
Chaque vidéo peut être publique ou privée, et vous pouvez passer des vidéos en privé depuis le tableau de bord. Les vidéos privées n'apparaissent pas sur les pages de dossiers publics. Les modérateurs du site peuvent toutefois ouvrir tout fichier lorsqu'ils traitent des signalements d'abus ou de droit d'auteur.
L'API HTTP applique des limites par compte sur les requêtes par heure, les requêtes par jour et les uploads par jour (par défaut 250, 5 000 et 25), et répond avec un statut 429 et un en-tête Retry-After lorsqu'une limite est atteinte. Les uploads invités depuis la page d'accueil sont limités à dix comptes temporaires par adresse réseau et par jour. Les formulaires publics, comme celui de signalement d'abus, ont leurs propres limites.
Vous pouvez supprimer des vidéos depuis le tableau de bord. Supprimer une vidéo efface ses fichiers stockés et ses enregistrements en base de données. La suppression d'un compte se fait sur demande via la page de contact, et la politique de confidentialité décrit la conservation pour les sauvegardes et les obligations légales.
Le site détecte quand il est servi en HTTPS et génère alors des liens sécurisés. Forcer chaque visite en HTTPS, ainsi que les politiques de navigateur associées, se configure au niveau du serveur web et non dans le code de l'application ; vérifiez donc toujours que la barre d'adresse indique une connexion sécurisée avant de vous connecter.
Si vous découvrez un problème de sécurité, signalez-le via la page de contact avec suffisamment de détails pour le reproduire. N'accédez pas aux données d'autrui et ne perturbez pas le service pendant vos tests. Pour signaler un contenu abusif, utilisez plutôt Signaler un abus.