blob: 737a456f6a75778b45509c1fea802eda69f1eb91 [file]
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
edition = "2024";
package credentio;
import "proto/actions_assertion.proto";
import "proto/ai_disclosure_assertion.proto";
import "proto/bmff_based_hash_assertion.proto";
import "proto/boxes_hash_assertion.proto";
import "proto/collection_data_hash_assertion.proto";
import "proto/data_hash_assertion.proto";
import "proto/environmental_sustainability_assertion.proto";
import "proto/ingredient_assertion.proto";
import "proto/metadata_assertion.proto";
import "proto/multi_asset_hash_assertion.proto";
import "proto/redacted_assertion.proto";
import "proto/repository_receipt_assertion.proto";
import "proto/soft_binding_assertion.proto";
import "proto/thumbnail_assertion.proto";
// A standard assertion used by C2PA implementations about when, where and how
// an asset or an ingredient of a composed asset was originated or transformed.
//
// See
// https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_c2pa_standard_assertions
// for more details.
message Assertion {
// A label defined by the C2PA specification. The list of publicly known
// labels can be found at
// https://spec.c2pa.org/specifications/specifications/2.4/specs/C2PA_Specification.html#_c2pa_standard_assertions.
string label = 1;
reserved 2, 3, 8;
oneof assertion {
ActionsAssertion actions = 4;
ActionsAssertionV1 actions_v1 = 13;
// No longer produced by the assertion parser.
IngredientAssertionV1 ingredient_v1 = 12 [deprecated = true];
// No longer produced by the assertion parser.
IngredientAssertionV2 ingredient_v2 = 5 [deprecated = true];
IngredientAssertionV3 ingredient_v3 = 14;
BmffBasedHashAssertion bmff_based_hash = 6;
DataHashAssertion data_hash = 7;
BoxesHashAssertion boxes_hash = 9;
ThumbnailAssertion claim_thumbnail = 10;
ThumbnailAssertion ingredient_thumbnail = 11;
MetadataAssertion metadata = 15;
RedactedCustomAssertion redacted_custom = 16;
RedactedGatheredAssertion redacted_gathered = 17;
RedactedDeprecatedAssertion redacted_deprecated = 18;
RedactedByGeneratorAssertion redacted_by_generator = 20;
MultiAssetHashAssertion multi_asset_hash = 19;
CollectionDataHashAssertion collection_data_hash = 21;
AiDisclosureAssertion ai_disclosure = 22;
EnvironmentalSustainabilityAssertion environmental_sustainability = 23;
RepositoryReceiptAssertion repository_receipt = 24;
SoftBindingAssertion soft_binding = 25;
}
}