Перевірка C2PA / Content Credentials
Завантажте зображення чи відео — покажемо маніфест C2PA, якщо він є: який застосунок його записав, чий сертифікат стоїть у підписі, які дії заявлено (створено ШІ, відредаговано), а також XMP DigitalSourceType та EXIF Software.
Дивіться також
Перевірка C2PA і Content Credentials онлайн
C2PA (Content Credentials) — відкритий стандарт, за яким камери, редактори й генератори ШІ записують у файл підписаний маніфест: чим створено файл і що з ним робили. Інструмент знаходить маніфест у JPEG, PNG, WebP, AVIF/HEIC і MP4/MOV, розбирає його й показує підписанта за сертифікатом, застосунок, дії та тип джерела (наприклад, trainedAlgorithmicMedia — створено генеративним ШІ), а також XMP та EXIF. Підпис криптографічно не перевіряється — для цього є посилання на офіційний сервіс перевірки.
Як користуватися
- Завантажте вихідне зображення чи відео — натисніть на поле або перетягніть файл
- Натисніть «Перевірити C2PA» і дочекайтеся звіту
- Перегляньте підписанта, дії та тип джерела; підпис перевірте на contentcredentials.org/verify
FAQ
Як перевірити 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: повна перевірка підпису
Наш звіт відповідає на питання «що заявлено». Питання «чи можна цьому вірити» вирішує валідатор, який перевіряє три речі: криптографічний підпис маніфесту, збіг хешу з вмістом файлу (чи не змінювали пікселі після підпису) і те, чи входить сертифікат підписанта до списку довірених. Для цього:
- Відкрийте contentcredentials.org/verify і перетягніть файл. Сервіс покаже ланцюжок правок, підписанта й попередження, якщо підпис або хеш не збігаються.
- Для пакетної перевірки встановіть відкритий консольний інструмент
c2patoolіз проєкту Content Authenticity Initiative і запустітьc2patool image.jpg— він виведе сховище маніфестів у JSON разом зі статусами перевірки. - Якщо валідатор пише про розбіжність хешу, файл змінювали після підпису. Сам запис при цьому може виглядати правдоподібно — саме тому ми не називаємо наш розбір перевіркою автентичності.
C2PA на власному сайті
Якщо ви публікуєте зображення, створені ШІ, і хочете, щоб позначка про походження зберігалася, перевірте весь шлях файлу до сторінки: експорт із генератора, обробку в CMS, конвертацію у WebP чи AVIF, CDN. Після кожного кроку завантажте підсумковий файл у перевірку — так швидко видно, на якому етапі зникає маніфест. Якщо ж завдання зворотне і ви хочете прибрати зі світлин службові дані, наприклад геолокацію, скористайтеся видаленням EXIF і метаданих: воно стирає й C2PA, але не видаляє водяні знаки, вбудовані в пікселі. Докладніше про те, які ще сліди лишаються у файлах після генераторів, — у статті про приховані водяні знаки та в детекторі водяних знаків у зображеннях.
RankBotAI — ШІ-оптимізація SEO для WordPress
ШІ-плагін RankBotAI автоматично знаходить і виправляє SEO-проблеми в товарах і записах WordPress — без ручного редагування.