keanu-weblite/src/models/proof.ts

59 lines
1.8 KiB
TypeScript
Raw Normal View History

export type AIInferenceResult = {
aiGenerated: boolean;
aiProbability: number;
humanProbability: number;
}
2025-07-11 14:36:58 +02:00
export const C2PASourceTypeScreenCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/screenCapture";
export const C2PASourceTypeDigitalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture";
export const C2PASourceTypeComputationalCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/computationalCapture";
export const C2PASourceTypeCompositeCapture = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeCapture";
export const C2PASourceTypeTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia";
export const C2PASourceTypeCompositeWithTrainedAlgorithmicMedia = "http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia";
export type C2PAActionsAssertion = {
actions: {
action: string;
softwareAgent?: string;
2025-07-11 14:36:58 +02:00
digitalSourceType?: string;
}[];
}
export type C2PAAssertion = {
label: string;
data: C2PAActionsAssertion | undefined;
}
export type C2PAManifest = {
assertions: C2PAAssertion[];
signature_info: {
time: string;
}
}
2025-07-11 14:36:58 +02:00
export type C2PAValidationResults = {
activeManifest?: {
failure: any[];
success: any[];
informational: any[];
}
}
export type C2PAManifestInfo = {
active_manifest: string;
manifests: {[key: string]: C2PAManifest};
2025-07-11 14:36:58 +02:00
validation_results?: C2PAValidationResults;
}
export type C2PAData = {
manifest_info: C2PAManifestInfo;
}
export type Proof = {
data?: any;
name?: string;
json?: string;
integrity?: { pgp?: any; c2pa?: any; exif?: {[key: string]: string | Object}; opentimestamps?: any };
ai?: { inferenceResult?: AIInferenceResult};
}