Проверка 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

AI-плагин RankBotAI автоматически находит и исправляет SEO-проблемы в товарах и записях WordPress — без ручного редактирования.

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