Sécurité

Sécurité chez Compress Images

Si votre fichier est envoyé, ce que contient le fichier que vous récupérez, et comment nous signaler un problème de sécurité.

Aucun envoi

Votre fichier est lu dans votre navigateur. Aucune page de ce site ne nous le transmet, ni à nous ni à personne d'autre, et charger la page ne change rien à cela : les fichiers propres de la page viennent de ce site.

Des connexions vers ce site uniquement

La politique de sécurité de contenu de chaque page n'autorise les scripts à se connecter qu'à l'adresse de ce site, si bien qu'une page ne peut pas appeler un serveur extérieur même en essayant.

Ni compte ni copie

Les pages sont des fichiers statiques. Il n'y a ni connexion, ni base de données, ni copie de votre fichier, parce que nous n'en recevons jamais.

Où va votre fichier

Quand vous déposez ou choisissez un fichier sur la page d’accueil, votre navigateur le lit et le convertit dans un Web Worker sur votre propre appareil. Rien n’est copié dans le stockage de ce site : l’outil n’écrit ni dans IndexedDB, ni dans Cache Storage, ni dans des cookies, et le fichier ne nous est pas transmis. La politique de confidentialité est le seul endroit où cela est dit en entier, y compris ce que voit l’hébergeur quand vous chargez une page.

Aucun envoi ne veut pas dire aucun réseau. Charger la page de l’outil fait demander à votre navigateur le HTML de cette page, sa feuille de style et les modules JavaScript qui pilotent l’outil. Démarrer une conversion ajoute le script du worker et les modules de codec dont cette conversion a besoin, chacun téléchargé une fois depuis ce site : le décodeur du format d’entrée, l’encodeur du format de sortie, et les modules de redimensionnement ou d’optimisation PNG quand la conversion les utilise. La première conversion dans un format donné est celle qui le télécharge. Une page qui n’est pas l’outil ne charge que son propre HTML, sa feuille de style et ses modules, et aucun codec. Tout cela est l’adresse de ce site et rien d’autre : chaque requête qu’une page fait, avant une conversion, pendant et après, est un GET ou un HEAD sans corps, et aucune requête ne transporte votre fichier.

Une fois un module téléchargé, la même conversion refait son chemin avec le réseau coupé : c’est la vérification derrière cette phrase. Rien de tout cela ne dépend de la confiance dans une promesse : vous pouvez compresser une image sans l’envoyer et regarder votre propre onglet réseau pendant que cela se passe.

La politique de sécurité de contenu

Chaque page est servie avec une politique de sécurité de contenu qui n’autorise les scripts à se charger que depuis ce site et à se connecter qu’à ce site : connect-src 'self' blob:. Le blob: n’est pas une autre origine. C’est le schéma des URL d’objet que cette page crée pour vos propres aperçus avant et après et pour vos liens de téléchargement, et un navigateur résout une telle URL dans l’origine qui l’a créée. C’est plus large que « seule cette page peut la lire » : l’URL est liée à l’origine qui l’a créée et au cloisonnement de stockage dans lequel le site se trouve, qui est le cloisonnement de stockage du navigateur lui-même, si bien que la restriction vient avec une règle de cloisonnement que ce site ne contrôle pas et n’a pas mesurée. Ce que la politique établit, en revanche, c’est qu’un script n’a aucune adresse à atteindre au-delà de ce site : s’il essayait de charger depuis une autre origine ou de lui envoyer des données, votre navigateur bloquerait la connexion avant qu’elle ne parte.

Ce que contient le fichier que vous récupérez

Par défaut, la sortie ne porte aucun EXIF : pas de segment EXIF dans un JPEG, pas de bloc EXIF dans un WebP, et pas d’élément de métadonnées dans un AVIF ou un PNG. Les données d’appareil photo, de position et d’horodatage n’accompagnent donc pas l’image que vous téléchargez, ce qui est généralement ce que vous voulez d’une copie réencodée.

Le contrôle de conservation change cela, avec une limite. Cochez “Conserver les métadonnées EXIF” et le bloc revient dans une sortie JPEG, PNG ou WebP, avec l’orientation écrite à 1 parce que les pixels ont déjà été remis à l’endroit. Une sortie AVIF ne peut pas porter de bloc EXIF ici : avec AVIF sélectionné, le contrôle n’a aucun effet et la ligne dit que les métadonnées n’ont pas été conservées.

Dans les deux cas, l’orientation enregistrée par votre appareil photo est appliquée aux pixels : une photo prise en portrait sort donc à l’endroit. Cela s’applique à une entrée JPEG, PNG ou WebP. Une entrée AVIF fait exception : son bloc EXIF n’est pas lu, si bien qu’un fichier AVIF qui stocke une rotation est utilisé tel qu’il est stocké. Des huit orientations EXIF, les quatre qui comportent un quart de tour, de 5 à 8, inversent aussi la largeur et la hauteur, si bien qu’une photo marquée 6 sort en 400 sur 600 depuis un fichier dont les chiffres affichent 600 sur 400. Le tour de 180 degrés n’est pas l’une de ces quatre : il fait pivoter l’image sans changer aucun des deux nombres.

Ce que l’outil ne peut pas rendre

La sortie est l’image que vous avez choisie, décodée, éventuellement redimensionnée, puis réencodée dans le format que vous avez sélectionné, à 8 bits par canal dans l’espace colorimétrique sRGB dans lequel travaillent les navigateurs. Le PNG, le WebP et l’AVIF conservent la transparence ; une sortie JPEG n’a pas de canal alpha, ce qui aplatit sur du blanc ce qui était transparent. Une sortie JPEG est aussi écrite en mode progressif, avec ses canaux de couleur sous-échantillonnés, ce qui est le réglage par défaut de MozJPEG et non un réglage que cet outil expose.

La compression avec perte jette du détail, et l’outil ne restaure rien qu’il n’a pas reçu. Un fichier plus petit n’est pas automatiquement meilleur, et c’est pourquoi chaque ligne terminée montre les deux tailles et les deux images côte à côte.

Signaler un problème de sécurité

Si vous trouvez un problème de sécurité, écrivez à security@compress-images.online. Le fichier security.txt du site indique la même adresse. Un problème dans l’outil lui-même mérite le même signalement, et les deux choses qui aident le plus sont le format que vous avez choisi et les réglages que vous avez utilisés.