integrityCid
The integrityCid
is a unique identifier representing the IPFS address of a file containing the integrity proof
of the content collected and signed by a device.
The integrity proof
serves as a digital fingerprint that verifies the authenticity and integrity of the content file, ensuring that it has not been tampered with or altered in any way since its creation. The integrity proof should include metadata about the content file, such as its MIME type, timestamp, device information, geolocation data, and a proof hash. This metadata provides crucial context and attests to the content's provenance. The integrityCid
provides a secure and reliable method to store and retrieve the content's integrity proof, guaranteeing its trustworthiness and facilitating validation of the content's origin throughout its lifecycle.
Integrity Proof Specification
Here's the spec for the integrity proof in plain text with bullet points:
asset_mime_type: (string) The content's type expressed using a MIME format
caption: (string) A caption or description of the content file
created_at: (timestamp) Creation time of the content file
device_name: (string) The name of the device used to create the content file
information: (JSON) Available fields see the table below
location_latitude: (number) The latitude of the content's location
location_longitude: (number) The longitude of the content's location
proof_hash: (string) The proof hash for the content
recorder: (string) The name of the recorder used to create the content
spec_version: (string) The version of the specification
Information
The "information" section in the integrity proof contains details about the device and its environment at the time of content creation. This includes data about the app used to capture or create the content, such as the app's name, identifier, version, and build number. Additionally, it provides information about the device itself, including the device name, manufacturer, platform, operating system, and unique identifier.
The section also covers the device's battery level, charging status, memory usage, and available disk space depending on the permission granted by the register. Finally, geolocation information, such as latitude and longitude, is included to specify the location of the content when it was created. This comprehensive set of data helps to ensure the integrity of the content and provides a detailed context for its origin.
Field | Type | Description |
---|---|---|
device.app_build | string | The app build number |
device.app_id | string | The app identifier |
device.app_name | string | The name of the app |
device.app_version | string | The app version |
device.battery_level | number | The device's battery level at the time of content creation |
device.device_name | string | The name of the device |
device.disk_free | number | The available disk space on the device |
device.disk_total | number | The total disk space on the device |
device.is_charging | boolean | Whether the device is charging or not |
device.is_virtual | boolean | Whether the device is virtual or physical |
device.manufacturer | string | The device manufacturer |
device.mem_used | number | The memory used on the device |
device.operating_system | string | The operating system of the device |
device.os_version | string | The operating system version |
device.platform | string | The platform of the device |
device.user_device_name | string | The user-defined device name |
device.uuid | string | The unique device identifier |
geolocation.geolocation_latitude | number | The latitude of the content's location |
geolocation.geolocation_longitude | number | The longitude of the content's location |
Example of Proof Metadata
The following is an example of the proof metadata you may find following the integrityCid
:
Last updated