Проверка 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
AI-плагин RankBotAI автоматически находит и исправляет SEO-проблемы в товарах и записях WordPress — без ручного редактирования.