Перевірка C2PA / Content Credentials

Завантажте зображення чи відео — покажемо маніфест C2PA, якщо він є: який застосунок його записав, чий сертифікат стоїть у підписі, які дії заявлено (створено ШІ, відредаговано), а також XMP DigitalSourceType та EXIF Software.

Файл розбирається в тимчасовій папці сервера й видаляється одразу після відповіді. Ми показуємо, що заявлено в маніфесті, але не перевіряємо підпис криптографічно.
Маніфест і підписант
Claim generator, організація та видавець із сертифіката X.509, алгоритм підпису, мітка часу TSA, історія маніфестів та інгредієнти.
Створено або змінено ШІ
Дії c2pa.created / c2pa.edited з digitalSourceType: trainedAlgorithmicMedia, compositeWithTrainedAlgorithmicMedia та інші коди IPTC.
Повна перевірка підпису
Цілісність файлу й довіру до сертифіката перевіряє офіційний сервіс contentcredentials.org/verify.

Перевірка C2PA і Content Credentials онлайн

C2PA (Content Credentials) — відкритий стандарт, за яким камери, редактори й генератори ШІ записують у файл підписаний маніфест: чим створено файл і що з ним робили. Інструмент знаходить маніфест у JPEG, PNG, WebP, AVIF/HEIC і MP4/MOV, розбирає його й показує підписанта за сертифікатом, застосунок, дії та тип джерела (наприклад, trainedAlgorithmicMedia — створено генеративним ШІ), а також XMP та EXIF. Підпис криптографічно не перевіряється — для цього є посилання на офіційний сервіс перевірки.

Пошук маніфесту C2PA (JUMBF) у JPEG, PNG, WebP, AVIF/HEIC, MP4/MOV та інших контейнерах
Підписант і видавець із сертифіката X.509, алгоритм підпису, мітка часу TSA
Дії c2pa.actions (created, edited, converted…) із програмою та digitalSourceType
Історія маніфестів та інгредієнти — з яких файлів зібрано результат
XMP (DigitalSourceType, CreatorTool, Credit), EXIF (Software, Make, Model), текст PNG, теги MP4
Безкоштовно, без реєстрації: зображення до 25 МБ, відео до 80 МБ; файл не зберігається

Як користуватися

  1. Завантажте вихідне зображення чи відео — натисніть на поле або перетягніть файл
  2. Натисніть «Перевірити C2PA» і дочекайтеся звіту
  3. Перегляньте підписанта, дії та тип джерела; підпис перевірте на contentcredentials.org/verify

FAQ

Це публічна назва стандарту C2PA: підписаний набір відомостей про походження, що зберігається всередині файлу. Його додають, наприклад, ChatGPT, Adobe Firefly і Photoshop, смартфони Google Pixel і деякі камери Leica та Sony. В інтерфейсах сервісів його часто позначають значком «CR».

Ні. Ми показуємо, що записано в маніфесті, і дані сертифіката, але не звіряємо криптографічний підпис, хеш вмісту та список довірених видавців. Для повної перевірки завантажте файл на contentcredentials.org/verify або скористайтеся c2patool.

Ні. Метадані втрачаються під час скриншота, пересохранення, завантаження в більшість соцмереж і месенджерів, а чимало генераторів їх узагалі не записують. Відсутність маніфесту означає відсутність інформації, а не доказ.

Ні. Файл розбирається в тимчасовій папці, яку PHP очищує одразу після відповіді; копії на сервері не лишається.

Як перевірити C2PA онлайн і прочитати звіт

Щоб перевірити C2PA, завантажте вихідний файл — той, що ви отримали з генератора, камери чи редактора, а не копію з месенджера. Інструмент шукає сховище маніфестів JUMBF у типових місцях контейнера й розбирає його. Звіт починається з чотирьох карток:

  • C2PA / Content Credentials — чи знайдено маніфест, скільки їх у ланцюжку і де він лежить (наприклад, «JPEG APP11» або «PNG caBX»). Статус «Є сліди, не розібраний» означає, що мітки C2PA у файлі є, але сховище обрізане чи пошкоджене — так буває після неакуратного пересохранення.
  • Заявлено ШІ — чи є в діях маніфесту або в XMP код джерела, що означає генеративний ШІ.
  • Підписант — організація із сертифіката, яким підписано активний маніфест, і застосунок, що записав маніфест.
  • Криптоперевірка підпису — завжди «не виконувалася»: ми показуємо заявлене, а не перевірене.

Claim generator і підписант — не одне й те саме

Claim generator — це програма, яка зібрала маніфест (наприклад, «ChatGPT» або «Adobe Photoshop»). Підписант — власник сертифіката X.509, яким маніфест підписано. Зазвичай це одна компанія, але не завжди: сервіс може підписувати сертифікатом, випущеним для нього партнером. Якщо поле підписанта порожнє, а маніфест розібрано, сертифікат у підписі не знайдено або записано нестандартно — це привід перевірити файл офіційним валідатором.

Активний маніфест та історія

Щоразу, коли файл проходить через сумісний застосунок, до сховища додається новий маніфест, а попередній стає інгредієнтом. Активним вважається останній — він описує поточну версію файлу. Старі маніфести ми показуємо в згорнутому блоці «Історія»: з них видно, наприклад, що картинку згенерували в одному сервісі, а потім обрізали в іншому.

Інгредієнти, дозволи на навчання ШІ та мітка часу

Інгредієнти — файли, з яких зібрано результат: оригінал для правки, вставлений фрагмент, фон. Кожен може мати назву, формат і тип зв’язку: parentOf — файл, який відкрили й змінили, componentOf — вставлена частина, inputTo — матеріал, поданий на вхід генератору. Блок «Дозволи на навчання ШІ» показує твердження c2pa.training-mining або cawg.training-mining: автор позначає, чи дозволяє використовувати файл для навчання моделей (allowed, notAllowed, constrained). Це заява, а не технічний захист. Мітка часу TSA — час, який сервер довіреного часу поставив під час підпису; ми показуємо її як записано, без перевірки. Без такої мітки дата підпису нічим не підтверджена.

Типові результати

Що видно у звітіЩо це зазвичай означає
Один маніфест, c2pa.created + trainedAlgorithmicMedia, підписант — сервіс ШІФайл вивантажено з генератора, і після цього його не перескладали
Кілька маніфестів, останні дії — opened, edited у редакторіЗгенероване зображення доопрацьовували; початок ланцюжка — в «Історії»
Лише XMP DigitalSourceType, без C2PAГенератор або редактор позначив файл, але не підписав
Нічого немаєМетадані видалено або їх ніколи не було

Коди digitalSourceType: що означає кожен

Поле digitalSourceType у дії c2pa.created або c2pa.edited бере значення зі словника IPTC. Найчастіші:

КодЩо означаєЯк трактувати
trainedAlgorithmicMediaСтворено навченою моделлюГенерація ШІ повністю (текст у картинку, відео з промпту)
compositeWithTrainedAlgorithmicMediaМонтаж з елементами ШІФото з генеративною заливкою, заміненим фоном
algorithmicMediaСтворено алгоритмом без навчанняПроцедурна графіка, фрактали
digitalCaptureЗнято камероюОригінал з фотоапарата чи смартфона
computationalCaptureОбчислювальна зйомкаЗнімок смартфона з HDR, нічним режимом тощо
digitalArtЦифрова графіка людиниІлюстрація, намальована в редакторі
screenCaptureЗнімок екранаСкриншот

Той самий код може стояти й поза C2PA — у XMP-полі Iptc4xmpExt:DigitalSourceType. Його пишуть генератори, які не підписують файли, і редактори під час експорту. Такий запис не підписаний, його можна змінити будь-яким редактором метаданих, тож важить він менше, ніж дія в підписаному маніфесті.

Як дізнатися, чи є C2PA у зображенні: де зберігається маніфест

Маніфест лежить усередині файлу, і кожен формат має своє місце. Це пояснює, чому та сама картинка «втрачає» Content Credentials після конвертації: новий файл збирається без цього блоку.

ФорматДе лежить C2PA
JPEGСегменти APP11 (JUMBF), великий маніфест ріжеться на кілька сегментів
PNGЧанк caBX
WebPЧанк RIFF C2PA
MP4, MOV, AVIF, HEICБокс uuid верхнього рівня з ідентифікатором C2PA

Крім того, маніфест може зберігатися окремо від файлу (у «хмарі» сервісу), а в самому файлі залишиться лише посилання або невидимий водяний знак, за яким маніфест відновлюють. Такий віддалений маніфест наш інструмент не завантажує — побачити його можна в офіційному сервісі перевірки.

Чому C2PA зникає

  • Скриншот створює новий файл без метаданих.
  • Більшість месенджерів і чимало соцмереж перестискають зображення й викидають службові блоки.
  • Оптимізатори картинок для сайту часто видаляють усе, крім пікселів, заради розміру.
  • Конвертація формату (PNG → JPEG, MOV → MP4) перескладає контейнер.

Тому «маніфест не знайдено» — нейтральний результат. Щоб перевірити, чи створено зображення ШІ, коли метаданих немає, дивіться на невидимі водяні знаки самих генераторів: для Google — SynthID, для решти — інструменти їхніх авторів.

Content Credentials verify: повна перевірка підпису

Наш звіт відповідає на питання «що заявлено». Питання «чи можна цьому вірити» вирішує валідатор, який перевіряє три речі: криптографічний підпис маніфесту, збіг хешу з вмістом файлу (чи не змінювали пікселі після підпису) і те, чи входить сертифікат підписанта до списку довірених. Для цього:

  1. Відкрийте contentcredentials.org/verify і перетягніть файл. Сервіс покаже ланцюжок правок, підписанта й попередження, якщо підпис або хеш не збігаються.
  2. Для пакетної перевірки встановіть відкритий консольний інструмент c2patool із проєкту Content Authenticity Initiative і запустіть c2patool image.jpg — він виведе сховище маніфестів у JSON разом зі статусами перевірки.
  3. Якщо валідатор пише про розбіжність хешу, файл змінювали після підпису. Сам запис при цьому може виглядати правдоподібно — саме тому ми не називаємо наш розбір перевіркою автентичності.

C2PA на власному сайті

Якщо ви публікуєте зображення, створені ШІ, і хочете, щоб позначка про походження зберігалася, перевірте весь шлях файлу до сторінки: експорт із генератора, обробку в CMS, конвертацію у WebP чи AVIF, CDN. Після кожного кроку завантажте підсумковий файл у перевірку — так швидко видно, на якому етапі зникає маніфест. Якщо ж завдання зворотне і ви хочете прибрати зі світлин службові дані, наприклад геолокацію, скористайтеся видаленням EXIF і метаданих: воно стирає й C2PA, але не видаляє водяні знаки, вбудовані в пікселі. Докладніше про те, які ще сліди лишаються у файлах після генераторів, — у статті про приховані водяні знаки та в детекторі водяних знаків у зображеннях.

RankBotAI — ШІ-оптимізація SEO для WordPress

ШІ-плагін RankBotAI автоматично знаходить і виправляє SEO-проблеми в товарах і записах WordPress — без ручного редагування.

Товари і записи Автоматична оптимізація Безкоштовний пробний період
Каскадне просування сайту посиланнями Бонус $30Беклінки 5→50→5000 на 100+ майданчиках. Старт від $30, бонус $30 новачкам.