24.08.2026 18:30

Plik, który wie, czyj jest

⏱️ 6 min read
Share:

Obraz krąży po internecie bez metryczki. Ktoś go zapisze, ktoś prześle dalej, ktoś przepuści przez konwerter — i po trzech przystankach nie wiadomo już, kto go narysował. Rejestr certyfikatów autorstwa na Moonlightcie odpowiada na to pytanie od dawna, ale trzeba było w tym celu pójść na stronę i poszukać. Od dziś odpowiada na nie sam program, w którym otwierasz plik.

Numer na dole okna

Otwierasz obraz w Moonlight Animate i po prawej stronie dolnego paska pojawia się numer certyfikatu. Dla plików bez certyfikatu nic się nie pojawia — większość plików go nie ma i pusta rubryka byłaby tylko szumem.

Sam numer to jednak za mało, bo „jest numer" i „numer się zgadza" to dwie różne rzeczy. Dlatego etykieta mówi też, jak pewne jest rozpoznanie: potwierdzenie najmocniejsze dostaje znaczek, a plik, który tylko podaje numer, ale niczym go nie potwierdza, dostaje dopisek „niepotwierdzony" i ostrzegawczy ton. Certyfikat wycofany widać jako „unieważniony" i nigdy nie udaje ważnego.

Okno, które mówi także „skąd to wiem"

Kliknięcie w numer (albo Ctrl+Alt+I) otwiera Informacje o pliku. Poza zwykłymi danymi — nazwa, rozmiar, wymiary, rozdzielczość — jest tam sekcja o autorstwie:

  • autor, czyli kto to narysował, z odsyłaczem do profilu;
  • właściciel praw, ale tylko wtedy, gdy prawa zostały komuś przekazane, razem z datą. Gdy prawa nadal ma autor, ten wiersz się nie pojawia: powtórzenie tego samego nazwiska w dwóch rubrykach zacierałoby różnicę między „stworzył" a „posiada";
  • poziom potwierdzenia, wyjaśniony zdaniem po polsku, nie skrótem;
  • lista sygnałów, na których stoi werdykt.

Ta ostatnia pozycja jest tam z premedytacją. Chcieliśmy, żeby było widać, że wpis w metadanych jest jednym z sygnałów, a nie wyrocznią. Napis w pliku może wpisać każdy — i to jest dokładnie powód, dla którego program nie traktuje go jako dowodu.

Metadane, które można wpisać z powrotem

Najczęstszy przypadek nie jest złośliwy: plik po prostu zgubił metryczkę po drodze. Przeszedł przez narzędzie, które jej nie przepisało, albo ktoś ją wyciął, żeby zaoszczędzić kilobajt. Treść została ta sama, informacja o autorze — nie.

Na to jest przycisk Przywróć metadane do pliku. I tutaj zaczyna się część, którą uważamy za najważniejszą w całej tej funkcji.

Zapis nie przepuszcza obrazu przez żaden koder. Program nie otwiera pikseli, nie zapisuje ich na nowo, nie „eksportuje z metadanymi" — wchodzi w strukturę pliku i wstawia jeden blok obok danych obrazu. Poza tym blokiem plik zostaje bajt w bajt taki sam. Gdyby obraz przeszedł przez kodowanie, straciłby odrobinę jakości, a co ważniejsze — przestałby być tym samym plikiem w rozumieniu każdego sprawdzenia, które porównuje treść. Naprawa metryczki nie może psuć tego, co naprawia.

Druga zasada dotyczy uczciwości. Jeśli plik jest bajtowo tym samym, co zarejestrowano, wraca do niego komplet danych. Jeśli treść została po drodze przerobiona — przeskalowana, przekadrowana, przekonwertowana — wraca sama atrybucja: numer, adres, data, autor i prawa, ze znacznikiem, że została przywrócona. Dowód potwierdzający konkretną treść nie jest przenoszony na inną treść. Byłby wtedy dowodem sfabrykowanym, a przy następnym sprawdzeniu i tak wyszedłby jako nieważny. Wolimy powiedzieć wprost „to jest atrybucja, nie dowód" niż wpisać coś, co ładnie wygląda i nic nie znaczy.

Co się dzieje z Twoim plikiem

Sprawdzanie rusza w tle po otwarciu obrazu i nigdy nie każe na siebie czekać. Warto wiedzieć, co przy tym opuszcza komputer, a co nie:

  • na serwer trafia pomniejszony podgląd, nie oryginał;
  • dokumenty wielowarstwowe i świeżo utworzone nie są wysyłane w ogóle — sprawdzane są wyłącznie obrazy wczytane z dysku;
  • rozstrzyganie, czy dokument jest prawdziwy, należy do serwera — program o to pyta, zamiast trzymać u siebie drugą kopię tej samej maszynerii. Sam sprawdza jedną rzecz: czy chodzi o TEN plik, porównując jego sumę kontrolną z tą, którą podał serwer;
  • ostatni wynik jest pamiętany, więc bez sieci okno pokazuje go z adnotacją, kiedy powstał;
  • autor i właściciel praw są pokazywani zgodnie z ich własnymi ustawieniami prywatności. Kto wyłączył publiczny profil, widnieje jako „profil niepubliczny" — także wtedy, gdy druga osoba ma go włączony.

Rzecz, którą znaleźliśmy po drodze

Kiedy pierwsza wersja była gotowa, sprawdziliśmy najbardziej podstawową rzecz: czy pobrany z Moonlighta certyfikowany plik w ogóle ma w środku metryczkę do odczytania.

Nie miał. Żaden.

Zapisywanie metadanych do certyfikowanych plików nie działało — i nie działało cicho, bo ta operacja jest z założenia nieblokująca. Certyfikat ma powstać nawet wtedy, gdy metryczki nie da się wpisać, więc brak wpisu nigdy nie zgłaszał się jako błąd. Przez cały czas działania rejestru pliki wychodziły puste i nikt tego nie zauważył, bo nikt do tej pory nie próbował ich odczytać.

Naprawione u źródła, a nie obejściem. Certyfikaty wystawione wcześniej dostały swoje metryczki uzupełnione. Doszedł też test, który pilnuje, żeby ta konkretna cisza nie wróciła — awaria, która nie krzyczy, potrzebuje strażnika bardziej niż taka, która się wywala.

Metryczka jedzie też z eksportem

Skoro plik potrafi już nieść informację o autorze, głupio byłoby gubić ją przy pierwszym zapisie. Praca wyeksportowana z Moonlight Animate, oparta na certyfikowanym obrazie, wychodzi więc od razu z numerem certyfikatu i danymi autora — bez klikania czegokolwiek.

Obowiązuje przy tym ta sama zasada, co przy przywracaniu: eksport zapisuje obraz na nowo, więc plik wychodzący z programu nie jest już bajtowo tym samym, co zarejestrowano. Dlatego jedzie sama atrybucja, oznaczona jako dopisana przy eksporcie. Bez udawania, że to coś więcej.

Odczyt i zapis działają dla plików PNG i JPEG.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.