Oznaczanie treści generowanych przez AI
Specyfikacja formatu HAI · art. 50 ust. 2 rozporządzenia (UE) 2024/1689
Część analiz w panelu Hodafy powstaje przy udziale modelu językowego. Każda taka treść jest oznaczona — w samej treści, nie tylko w interfejsie — żeby dało się ją rozpoznać także po skopiowaniu i wklejeniu gdzie indziej.
Ta strona opisuje, jak wygląda oznaczenie, co dokładnie znaczy i jak sprawdzić, czy dana treść rzeczywiście pochodzi z naszego systemu i nie została po drodze zmieniona.
Strona jest jawną specyfikacją: opisujemy format na tyle dokładnie, żeby dowolna osoba lub instytucja mogła zbudować własne narzędzie do rozpoznawania naszych oznaczeń, bez pytania nas o zgodę i bez kontaktu z nami.
Jak wygląda oznaczenie
Pod każdą analizą wygenerowaną przez AI znajduje się blok oddzielony poziomą linią:
---
Analiza wygenerowana przez AI - HodafAI - model grok-4.3 - 2026-08-29
Identyfikator: HAI-451-a3f9c2d7 - Weryfikacja: https://hodafy.com/ai-transparency
Numer, skrót i data w powyższym przykładzie są przykładowe — pod Twoją analizą znajdziesz własne wartości.
Blok zawiera pięć informacji:
| Element | Znaczenie |
|---|---|
| Analiza wygenerowana przez AI | treść powstała przy udziale modelu językowego, nie napisał jej człowiek |
| HodafAI | nazwa naszego systemu, który tę treść wytworzył |
| model grok-4.3 | model językowy użyty do wygenerowania |
| data | dzień wygenerowania treści (format RRRR-MM-DD) |
| HAI-451-a3f9c2d7 | identyfikator treści, opisany w sekcji poniżej |
Oznaczenie jest częścią tekstu, więc przenosi się razem z nim przy kopiowaniu.
Format identyfikatora
Identyfikator ma postać:
HAI-<numer>-<skrót>
Rozpoznaje go wyrażenie regularne:
HAI-[0-9]+-[0-9a-f]{8}
Gdzie:
HAI— stały prefiks, od „Hodafy AI". Pozwala odróżnić nasze oznaczenia od cudzych.<numer>— liczba całkowita, wewnętrzny numer analizy w naszym rejestrze. Służy wyłącznie do jej odnalezienia na potrzeby weryfikacji. Nie zawiera informacji o kliencie, koncie ani treści.<skrót>— pierwsze 8 znaków szesnastkowych skrótu SHA-256 policzonego z treści analizy. To on pozwala sprawdzić, czy treść nie została zmieniona.
W przykładzie HAI-451-a3f9c2d7 numerem jest 451, a skrótem a3f9c2d7.
Jak zweryfikować treść samodzielnie
Skrót w identyfikatorze można sprawdzić bez kontaktu z nami. Wystarczy policzyć SHA-256 z treści analizy i porównać początek wyniku z tym, co widnieje w identyfikatorze.
Co dokładnie się hashuje
Skrót liczymy z treści analizy bez bloku oznaczenia. Żeby weryfikacja się powiodła:
- Weź całą treść analizy.
- Usuń blok oznaczenia — czyli wszystko od ostatniego wystąpienia separatora
\n\n---\ndo końca, razem z tym separatorem. Jeśli taki układ znaków pojawia się też w samej analizie, liczy się ten ostatni. - To, co zostało, to treść podlegająca hashowaniu. Nie dopisuj ani nie usuwaj niczego więcej, w szczególności nie dodawaj znaku końca linii na końcu.
- Zakoduj tekst w UTF-8.
- Policz SHA-256 i zapisz wynik szesnastkowo, małymi literami.
- Porównaj pierwsze 8 znaków z częścią
<skrót>identyfikatora.
Jeśli się zgadzają, treść jest dokładnie tą, którą wygenerował nasz system. Jeśli nie — treść została zmieniona, obcięta albo pochodzi skądinąd.
Przykład — wiersz poleceń
# tresc.txt zawiera analizę BEZ bloku oznaczenia
sha256sum tresc.txt | cut -c1-8
Przykład — Python
import hashlib
def skrot_z_tresci(tekst_analizy: str) -> str:
"""Zwraca 8-znakowy skrót do porównania z identyfikatorem HAI."""
# rsplit, nie split: odcinamy OSTATNI separator, czyli sam blok oznaczenia
tresc = tekst_analizy.rsplit("\n\n---\n", 1)[0]
return hashlib.sha256(tresc.encode("utf-8")).hexdigest()[:8]
# Przykład syntetyczny
analiza = "Marża na kategorii X wyniosła 12% w ostatnim miesiącu.\n\n---\nAnaliza wygenerowana przez AI..."
print(skrot_z_tresci(analiza))
Czego ta weryfikacja nie rozstrzyga
Sprawdzenie skrótu potwierdza, że treść jest nienaruszona. Nie potwierdza samo z siebie, że wyszła z naszego systemu — ktoś mógłby policzyć SHA-256 z dowolnego tekstu i dopisać pod nim własny identyfikator.
Dlatego przy każdej analizie zapisujemy dodatkowo podpis kryptograficzny HMAC-SHA256, którego nie da się wytworzyć bez klucza znanego wyłącznie nam. Klucza nie publikujemy — jego ujawnienie pozwoliłoby podrabiać oznaczenia i uczyniłoby cały mechanizm bezużytecznym.
Weryfikację podpisu wykonujemy na żądanie. Sposób opisuje sekcja poniżej.
Weryfikacja pełna — na żądanie
Jeśli potrzebujesz potwierdzenia, że konkretna treść pochodzi z systemu Hodafy i nie została zmieniona, napisz na:
W temacie: „Weryfikacja treści AI"
W wiadomości podaj:
- identyfikator z oznaczenia, w całości (np.
HAI-451-a3f9c2d7), - treść, którą chcesz zweryfikować, albo jej skrót SHA-256 policzony według sekcji powyżej.
W odpowiedzi potwierdzamy albo zaprzeczamy, że treść o tym identyfikatorze pochodzi z naszego systemu, oraz czy przedstawiona treść zgadza się z zapisaną u nas.
Weryfikacja jest bezpłatna i dostępna dla każdego, w tym dla organów nadzoru rynku, badaczy, dziennikarzy i osób sprawdzających treści. Nie wymaga posiadania konta w Hodafy.
Odpowiadamy wyłącznie na pytanie o autentyczność i integralność treści. Nie ujawniamy, którego klienta dotyczy analiza, ani żadnych danych z niej wynikających — takie informacje są objęte tajemnicą i chronione niezależnie od tego, kto pyta.
Podstawa prawna i zakres
Oznaczanie treści realizuje obowiązek z art. 50 ust. 2 rozporządzenia (UE) 2024/1689 (AI Act), który nakłada na dostawcę systemu generującego syntetyczne treści wymóg oznaczenia ich w formacie nadającym się do odczytu maszynowego oraz zapewnienia ich wykrywalności.
Hodafy występuje w roli dostawcy (provider) tego systemu AI: integrujemy zewnętrzny model językowy we własny produkt, pod własną marką.
Zakres oznaczania
Oznaczamy analizy generowane przez AI w panelu Hodafy. Oznaczenie nie dotyczy pozostałych elementów aplikacji — tabel, wykresów, wyliczeń kosztów i marż, raportów i eksportów — które powstają z Twoich danych metodami deterministycznymi, bez udziału modelu językowego.
Nie usuwaj oznaczeń przy dalszym udostępnianiu
Jeżeli publikujesz albo przekazujesz dalej treść wygenerowaną przez nasz system, oznaczenie powinno pozostać. Usunięcie go pozbawia odbiorcę informacji, że ma do czynienia z treścią AI, i może przenieść na Ciebie obowiązki wynikające z art. 50 ust. 4 AI Act.
Zmiany specyfikacji
Oznaczenia wprowadzamy etapami. Analizy wygenerowane przed uruchomieniem oznaczania mogą nie zawierać bloku opisanego na tej stronie. Datę uruchomienia podamy w tym miejscu.
Zmiany formatu będą tu ogłaszane wraz z datą wejścia w życie, a wcześniejsze wersje pozostaną opisane, żeby dało się zweryfikować także treści wygenerowane wcześniej.
Ostatnia aktualizacja strony: 29 sierpnia 2026