Ce que ai-act-checker ne peut pas voir
Un outil de vérification qui cache ses angles morts ne vaut rien. Voici donc les limites, en clair, avant que vous ayez à les découvrir.
On ne détecte pas si une image a été générée par une IA
Aucun outil extérieur ne sait le faire de façon fiable. Ce qu'on peut lire, c'est le marquage que le logiciel générateur a inscrit dans le fichier. C'est à vous de savoir quelles images de votre site ont été produites par une IA.
Les filigranes propriétaires sont hors de portée
Le filigrane invisible de Google, SynthID, ne peut être lu qu'avec l'infrastructure de Google : le modèle de détection et la clé ne sont pas publics, et il n'existe aucune interface programmable ouverte. Les filigranes d'OpenAI, de Runway ou de Meta ne sont pas interopérables entre eux non plus. Un outil qui prétend les détecter sans passer par leur éditeur avance une affirmation qu'il ne peut pas soutenir.
L'absence de marquage ne prouve pas un manquement
Les hébergeurs, les réseaux de diffusion de contenu et les réseaux sociaux réencodent massivement les images, et cette opération efface les métadonnées. Un fichier correctement marqué à la production peut arriver nu chez le visiteur. Et quand bien même il ne l'aurait jamais été, marquer les sorties d'un système génératif incombe au fournisseur de ce système, en amont, pas au site qui publie l'image. C'est pourquoi un verdict « non vérifiable » existe et s'affiche aussi visiblement que les autres.
Un manifeste C2PA n'est pas un marquage « IA »
Un manifeste atteste une provenance : les appareils photo qui signent leurs clichés en produisent un, exactement comme un générateur d'images. Ce qui distingue les deux est le type de source déclaré à l'intérieur, dans un vocabulaire normalisé par l'IPTC. ai-act-checker lit ce champ et sépare les deux cas, parce que classer une photographie signée parmi les contenus de synthèse serait un faux positif indéfendable.
Deux obligations distinctes, jamais fusionnées
Le marquage lisible par machine et la mention lisible par un humain ne se remplacent pas l'une l'autre : la première pèse sur le fournisseur du générateur, la seconde sur celui qui publie, et les lignes directrices de la Commission précisent qu'un marquage correct n'exonère de rien. ai-act-checker les rapporte donc dans deux sections séparées. Le croisement des deux — un fichier qui déclare une origine IA, publié sans qu'aucune mention ne soit lue — est le constat le plus fort de l'outil, mais il reste rare : sur les 482 images de contenu relevées par l'observatoire, une seule portait un tel marquage. C'est un cas exemplaire, pas un taux.
Une mention gravée dans l'image, ou en pictogramme, n'est pas lue
Une étiquette incrustée dans les pixels ou un simple symbole sans texte alternatif restent invisibles pour ce scan : l'image sera comptée comme non accompagnée d'une mention. Un OCR aurait pu être embarqué, et le choix a été fait de ne pas le faire — ce qui compte ici est le résultat négatif, or un OCR échoue précisément sur les petits caractères translucides posés sur un fond chargé, c'est-à-dire dans les conditions réelles. Un test qui échoue en silence n'a pas sa place dans un outil qui se réclame de la preuve. Mieux vaut un angle mort déclaré.
La mention est cherchée sous l'image, à une largeur d'écran donnée
Le rattachement d'un texte à une image repose sur deux mécanismes seulement : la légende d'une balise figure, où l'auteur de la page déclare lui-même le lien, et le texte affiché juste sous l'image, aligné sur elle, à moins de 48 pixels. Une légende placée au-dessus de l'image ou dans une colonne latérale est manquée, et un site adaptatif ne place pas forcément sa légende au même endroit que dans la fenêtre de 1366 pixels utilisée ici. Le texte des blocs qui englobent l'image a été mesuré puis écarté : il ramasse des pans de page entiers, et rattache le chapô d'un article sur l'IA à toutes ses illustrations, captures d'écran comprises.
Le texte alternatif est un indice, jamais une preuve
L'attribut alt décrit ce qu'une image représente, pas ce qu'elle est. Sur un article correctement crédité, il décrivait la scène — un écran affichant une étiquette « contenu généré par IA » — sans rien divulguer de l'origine du visuel, dont la vraie mention était dans la légende. Quand une formulation n'apparaît que là, ai-act-checker la relève et s'arrête.
Certaines images ne sont jamais vues
Les images de fond CSS, les images vectorielles insérées directement dans le code de la page, les affiches de vidéo et les images situées dans un cadre servi par un autre domaine ne sont pas analysées. Une image masquée au moment du scan — repliée dans un carrousel, dans un onglet inactif — n'a pas d'entourage lisible : elle est classée à part plutôt que comptée comme dépourvue de mention.
Un chat tenu par des humains n'a aucune obligation de mention
L'obligation d'annoncer une IA ne concerne que les systèmes automatisés. Signaler un service client humain comme un manquement serait une erreur, donc quand rien n'indique une automatisation, ai-act-checker écrit « indéterminé » plutôt que d'inventer une conclusion.
La mention apparaît souvent après l'ouverture du widget
Beaucoup de widgets affichent leur mention IA seulement dans la fenêtre de conversation, presque toujours servie depuis le domaine du fournisseur. ai-act-checker lit ces cadres, y compris ceux venus d'un autre domaine, ce qui permet de distinguer « on a lu le widget, il n'annonce rien » de « on n'a rien pu lire ». Reste un angle mort assumé : quand la fenêtre n'est construite qu'au moment du clic, son texte n'existe pas encore au passage du scan, et le résultat est classé « impossible à vérifier » plutôt que conclu.
Les chats sur mesure n'ont pas de signature éditeur
Intercom, Crisp ou Zendesk se reconnaissent à leur domaine réseau et à leurs variables globales. Un bot développé en interne ne laisse rien de tout ça. ai-act-checker le cherche alors comme une bulle flottante dans un coin d'écran, avec un libellé du type « assistant », « chatbot » ou « Ask our AI ». Sans bulle, ou avec un simple pictogramme sans texte alternatif, le chat peut encore échapper au scan.
Le sitemap ne liste pas tout le site
Quand plusieurs pages sont proposées, elles viennent du sitemap déclaré dans le robots.txt (ou d'emplacements courants). Une SPA, un espace connecté ou des pages absentes du sitemap n'apparaissent pas. Ce n'est pas un crawl HTML, et ce n'est pas un audit exhaustif.
Multi-pages : plus long, une page après l'autre
Chaque adresse ouvre un vrai navigateur. La série est séquentielle, plafonnée à dix pages, et compte environ une trentaine de secondes chacune. Un bandeau de consentement peut encore empêcher le chargement du widget sur une page donnée.
Arrêter une série est un best-effort
Le bouton Arrêter coupe la requête en cours côté navigateur et n'enchaîne pas la page suivante. Les pages déjà lues restent affichées. Le processus Playwright côté serveur peut encore finir la page interrompue quelques secondes : il n'y a pas de kill forcé cross-requête.
Ce n'est pas un conseil juridique
ai-act-checker constate des signaux techniques et cite les articles concernés pour vous orienter. La qualification juridique d'une situation dépend de votre rôle exact, de votre usage et de votre contexte : elle appartient à vous et à votre conseil.
