Vous uploadez un fichier. Vous partagez le lien. Des jours ou des semaines passent. Et puis — pouf — le lien cesse de fonctionner. Que s'est-il réellement passé ? Voici le cycle de vie complet d'un fichier sur fff files.
Phase 1 : Upload (0 seconde)
Vous glissez un fichier sur la zone d'upload. En coulisses :
- Votre navigateur envoie une requête « init » — nom, taille, type de contenu
- Le serveur génère un ID de fichier aléatoire, un jeton d'upload et une URL pré-signée
- Votre navigateur uploade le fichier directement vers le stockage Cloudflare R2 — zéro octet ne passe par nos serveurs Worker
- Votre navigateur envoie une requête « confirm » avec le jeton d'upload
- Les métadonnées (nom, taille, date d'expiration) sont stockées dans D1 (SQLite)
Temps total : généralement 1 à 5 secondes selon la taille du fichier et la vitesse de connexion.
Phase 2 : Actif (7 à 90 jours)
Le fichier est actif. Toute personne ayant le lien peut le télécharger. Détails clés :
- Fichier stocké sur Cloudflare R2 dans l'UE (région EEUR — Vienne)
- Chiffré au repos (AES-256)
- Compteur de téléchargements suivi dans les métadonnées D1
- Jeton de suppression actif — vous pouvez supprimer le fichier à tout moment
- Signalements d'abus acceptés — les fichiers violant les conditions sont supprimés immédiatement
Phase 3 : Expiration douce (horodatage expires_at)
Lorsque le fichier atteint sa date d'expiration :
- Le lien de téléchargement cesse de fonctionner — les visiteurs voient la page « Fichier expiré »
- Les métadonnées du fichier sont marquées comme « expirées » dans D1
- Le fichier réel existe toujours dans R2 (suppression douce) — récupérable dans les 30 jours si nécessaire pour enquête sur les abus
Phase 4 : Suppression définitive (expiration + 30 jours)
30 jours après l'expiration :
- Le fichier est définitivement supprimé de R2 — aucune récupération possible
- Les métadonnées sont conservées dans D1 pour le suivi des abus (nom, taille, horodatage d'upload — aucune donnée personnelle)
- Les compteurs de limitation de débit de la session d'upload expirent naturellement
Phase 5 : Conservation des métadonnées
Même après la suppression définitive, des métadonnées minimales persistent :
- Enregistrement anonymisé : taille du fichier, type de contenu, date d'upload, date d'expiration
- Pas de nom de fichier, pas de hash IP, aucune information identifiable
- Utilisé uniquement pour les statistiques agrégées et la détection de modèles d'abus
- Éventuellement supprimé à mesure que la base de données grandit
Suppression anticipée (manuelle)
Si vous utilisez le jeton de suppression avant la date d'expiration :
- Le fichier est immédiatement supprimé en douceur (le lien de téléchargement cesse de fonctionner)
- La suppression définitive suit après 30 jours (comme l'expiration naturelle)
- Aucune récupération possible après utilisation du jeton de suppression
Calendrier de nettoyage Cron
Notre processus de nettoyage s'exécute toutes les 15 minutes et gère :
- Marquage des fichiers nouvellement expirés comme « expirés »
- Suppression définitive des fichiers ayant atteint leur fenêtre de 30 jours post-expiration
- Nettoyage des uploads abandonnés (initiés mais jamais confirmés)
Uploadez un fichier et voyez par vous-même →