Dlaczego nasze własne zdjęcia publiczny weryfikator pokazuje jako „nierozpoznane"

Uruchomiliśmy publiczną stronę, która odczytuje oznaczenia dowolnego obrazu w Twojej przeglądarce. Wyjaśniamy, dlaczego odpowiada na dwa pytania zamiast jednego, dlaczego o naszych własnych plikach mówi rzecz niewygodną i co zrobić ze zdjęciem, któremu marketplace zdjął metadane.

Pod adresem /tools/verify-image działa strona, która bierze dowolny obraz i mówi, jak jest oznaczony. Nie wymaga konta. Plik jest odczytywany w Twojej przeglądarce i nie trafia nigdzie dalej.

Ten tekst nie jest o tym, że strona istnieje. Jest o trzech rzeczach, które trzeba wiedzieć, żeby jej wynik czytać poprawnie — łącznie z tą, która jest dla nas niewygodna.

Jedno pytanie to za mało

Kiedy sprawdzasz plik, chcesz usłyszeć „jest w porządku" albo „coś jest nie tak". Kłopot w tym, że w oznaczeniach treści to są dwa niezależne pytania, a nie jedno.

Czy wiązanie jest nienaruszone. Czy podpis kryptograficzny jest poprawny i czy treść pliku wciąż odpowiada tej, którą podpisano. To pytanie o to, czy ktoś po podpisaniu nie zmienił zawartości.

Czy wystawca jest rozpoznany. Czy certyfikat, którym złożono ten podpis, znajduje się na publicznej liście zaufania C2PA. To pytanie o to, kto podpisał — i czy świat zewnętrzny go zna.

Plik może mieć jedno bez drugiego. Może mieć nienaruszone wiązanie i wystawcę, którego nikt nie kojarzy. Może mieć rozpoznanego wystawcę i treść zmienioną po podpisaniu. Pojedynczy zielony znaczek musiałby zlać te dwie odpowiedzi w jedną, a to znaczy, że w części przypadków byłby po prostu fałszywy.

Dlatego wynik pokazuje dwa ustalenia dla każdego znalezionego manifestu i nigdy ich nie skleja.

Zaufanie jest cechą czytnika, nie pliku

To najmniej intuicyjna rzecz w całym temacie i warto się przy niej zatrzymać.

Ten sam plik, bajt w bajt niezmieniony, bywa „zaufany" w jednym narzędziu i „nierozpoznany" w drugim. Nie dlatego, że któreś się myli — tylko dlatego, że weryfikator porównuje certyfikat z listą, którą sam ma wczytaną. Dodanie kotwicy do tej listy zmienia werdykt bez dotykania pliku.

Konsekwencja jest prosta i nieprzyjemna: „sprawdziłem i wyszło OK" nic nie znaczy, jeśli nie wiadomo, czym sprawdzano. Dlatego nasz wynik podaje w stopce listę zaufania i wersję weryfikatora, których użył.

Rzecz niewygodna: nasze własne pliki

Qamera podpisuje swoje eksporty. Podpis jest poprawny, znacznik czasu się waliduje, treść zgadza się z podpisaną.

A mimo to publiczny weryfikator Content Credentials pokazuje poświadczenie naszych plików jako Unrecognized.

Powód nie jest techniczny, tylko formalny: nasz certyfikat nie znajduje się na publicznej liście zaufania C2PA. Żeby się tam znalazł, potrzebny jest numer w programie zgodności C2PA, którego jeszcze nie mamy.

Moglibyśmy tego nie mówić. Nasz weryfikator zna nasz certyfikat, więc mógłby pokazywać „zaufany" i nikt nie musiałby zadawać pytań — dopóki nie sprawdziłby tego samego pliku gdzie indziej i nie zobaczył czegoś innego.

Uznaliśmy, że narzędzie, które mówi „u nas OK", a u innych daje inny wynik, jest gorsze niż brak narzędzia. Więc strona mówi obie rzeczy naraz: podpis jest poprawny i certyfikat nie jest publicznie rozpoznany. Oba zdania są prawdziwe jednocześnie, a to zdanie o niezgodzie jest wyliczane z porównania dwóch przebiegów walidacji, nie wpisane w treść, którą ktoś kiedyś „posprząta".

Przy okazji: publiczny weryfikator zmienił w sierpniu słownictwo. Wcześniej pokazywał w tym przypadku również słowo Invalid; dziś zostawia je dla plików, których treść nie zgadza się z podpisem, i wtedy dodaje zdanie o możliwej ingerencji. To dobra zmiana — oznacza, że rozróżnia teraz te same dwie osie co my.

Brak oznaczenia nie jest dowodem

Najczęstszy wynik, jaki zobaczysz, to brak jakichkolwiek oznaczeń. I to jest najważniejsze zdanie w całym tekście:

Brak oznaczenia nie jest dowodem, że plik nie powstał z AI.

Oznaczenia znikają rutynowo. Marketplace'y, komunikatory i serwisy społecznościowe usuwają metadane przy przetwarzaniu obrazu — nie złośliwie, tylko dlatego, że przepuszczają plik przez własny enkoder. Sprawdziliśmy to na Allegro: nasz obraz wrócił stamtąd bez żadnych oznaczeń i z pikselami identycznymi co do bajtu. Nic się z obrazem nie stało. Zniknęła tylko cała warstwa, po której dało się cokolwiek zweryfikować.

Więc jeśli sprawdzasz zdjęcie ściągnięte z aukcji i wychodzi „brak oznaczeń" — dowiedziałeś się czegoś o kanale dystrybucji, a niekoniecznie o zdjęciu.

Co z tym zrobić praktycznie. Jeśli oznaczenie ma dla Ciebie znaczenie, poproś dostawcę o plik źródłowy, a nie o ten pobrany z marketplace'u. Plik prosto z narzędzia, które go wygenerowało, jeszcze oznaczenia nosi. Ten sam plik po przejściu przez trzy platformy — najczęściej już nie.

Czego ta strona nie robi

Nie wykrywa niewidocznych znaków wodnych, takich jak SynthID. Detektor Google stoi za logowaniem i nie ma darmowego API, więc nie udajemy, że sprawdzamy — mówimy tylko, gdzie to zrobić. Jeśli manifest z nienaruszonym wiązaniem wskazuje model Google, napiszemy, że manifest tak twierdzi, i że to wniosek z podpisanej deklaracji, a nie wynik detekcji.

Nie analizuje wideo. Wyjaśnia, co da się dziś ustalić, i odsyła do zewnętrznych narzędzi.

I nie rozstrzyga, czy obraz powstał z AI. Raportuje oznaczenia. Plik bez oznaczeń to plik bez oznaczeń — nie plik, o którym wiadomo, że nie jest z AI.

Dlaczego to publikujemy

Od sierpnia 2026 nasze eksporty niosą podpisany manifest C2PA. Robimy to, bo unijny AI Act tego wymaga, ale też dlatego, że oznaczanie treści ma sens niezależnie od przepisów: kupujący coraz częściej chce wiedzieć, na co patrzy.

Skoro oznaczamy, to potrzebny jest sposób, żeby to sprawdzić — również dla kogoś, kto nie ma u nas konta i nigdy nie będzie miał. Ta strona nie zostanie wyłączona.