Numbers Protocol
  • 📓Introduction
    • Numbers Protocol
      • Defining Web3 Assets
        • Assetization Process
        • Numbers ID (Nid)
        • Non-Fungible Tokens
        • Commit
        • AssetTree
          • integrityCid
          • digitalSourceType
          • miningPreference
          • nftRecord
        • Commit and AssetTree example
      • Glossary
      • Solution Stack
      • Use Cases
      • Roadmap & Milestones
      • Principles & Standards
    • Whitepaper
    • NUM Token
      • Get NUM
      • Bridge to Multiple Chains
      • Stake NUM
      • Liquidity Providers
      • NUM Utility
      • Token Allocation
      • Deflationary Token Economy
      • Audit Report
      • Distribution and Other Activities
      • Manage your NUM in Cold Wallet
      • 🛠️Developer Tools
    • NumbersDAO
      • Roles & Responsibilities
      • Become A DAO Member
      • Governance & Voting Rules - v2.0
      • [Deprecated] Governance Rules v1.0
    • Weekly Summary
      • 2023
        • 13 Jan 2023
        • 20 Jan 2023
        • 27 Jan 2023
        • 3 Feb 2023
        • 10 Feb 2023
        • 17 Feb 2023
        • 24 Feb 2023
        • 3 Mar 2023
        • 10 March 2023
        • 17 Mar 2023
        • 24 Mar 2023
        • 31 Mar 2023
        • 7 Apr 2023
        • 14 Apr 2023
        • 21 Apr 2023
        • 28 Apr 2023
        • 5 May 2023
        • 12 May 2023
        • 19 May 2023
        • 26 May 2023
        • 2 June 2023
        • 9 June 2023
        • 16 June 2023
        • 23 June 2023
        • 30 June 2023
        • 7 July 2023
        • 14 July 2023
        • 21 July 2023
        • 28 July 2023
        • 4 Aug 2023
        • 11 Aug 2023
        • 18 Aug 2023
        • 25 Aug 2023
        • 01 Sep 2023
        • 08 Sep 2023
        • 15 Sep 2023
        • 22 Sep 2023
        • 29 Sep 2023
        • 6 Oct 2023
        • 13 Oct 2023
        • 20 Oct 2023
        • 27 Oct 2023
        • 3 Nov 2023
        • 10 Nov 2023
        • 17 Nov 2023
        • 24 Nov 2023
        • 1 Dec 2023
        • 8 Dec 2023
        • 15 Dec 2023
        • 22 Dec 2023
        • 29 Dec 2023
      • 2024
        • 5 Jan 2024
        • 12 Jan 2024
        • 19 Jan 2024
        • 26 Jan 2024
        • 2 Feb 2024
        • 9 Feb 2024
        • 16 Feb 2024
        • 23 Feb 2024
        • 1 Mar 2024
        • 8 Mar 2024
        • 15 Mar 2024
        • 22 Mar 2024
        • 29 Mar 2024
        • 5 Apr 2024
        • 12 Apr 2024
        • 19 Apr 2024
        • 26 Apr 2024
        • 3 May 2024
        • 10 May 2024
        • 17 May 2024
        • 24 May 2024
        • 31 May 2024
        • 7 June 2024
        • 14 June 2024
        • 21 June 2024
        • 28 June 2024
        • 5 July 2024
        • 12 July 2024
        • 19 July 2024
        • 26 July 2024
        • 2 Aug 2024
        • 9 Aug 2024
        • 16 Aug 2024
        • 23 Aug 2024
        • 30 Aug 2024
        • 6 Sep 2024
        • 13 Sep 2024
        • 20 Sep 2024
        • 27 Sep 2024
        • 4 Oct 2024
        • 11 Oct 2024
        • 18 Oct 2024
        • 25 Oct 2024
        • 1 Nov 2024
        • 8 Nov 2024
        • 15 Nov 2024
        • 22 Nov 2024
        • 29 Nov 2024
        • 6 Dec 2024
        • 13 Dec 2024
        • 20 Dec 2024
        • 27 Dec 2024
      • 2025
        • 3 Jan 2025
        • 10 Jan 2025
        • 17 Jan 2025
        • 24 Jan 2025
        • 31 Jan 2025
        • 7 Feb 2025
        • 14 Feb 2025
        • 21 Feb 2025
        • 28 Feb 2025
        • 7 Mar 2025
        • 14 Mar 2025
        • 21 Mar 2025
        • 28 Mar 2025
        • 4 Apr 2025
        • 11 Apr 2025
    • Community Wiki
    • FAQ
      • What is provenance and how does it work?
      • What is C2PA and why do we need it?
      • What's the role of Numbers in AI?
      • What's the difference between Numbers and NFT
      • What's the difference between Numbers and C2PA
      • How can Numbers assist songwriters and artists?
      • Why Numbers needs its own blockchain?
      • Why Numbers Mainnet is permissioned?
      • Does Numbers support other blockchain?
      • How is the Nid generated?
      • Should I mint NFT or commit with "license-to" action?
      • Environmental impact of Numbers Mainnet
      • How do I get or bridge Mainnet/BEP-20/ERC-20 NUM?
      • What is Numbers Protocol's role in the AI space?
    • Partnership Programs
      • Creative Origins
      • Creative Innovators
      • Provenance Pioneers
  • 🌐Applications
    • User Tutorials
    • Verify Engine
      • Support Status
      • Search UI Interface
      • Asset Profile
      • Advanced Search & URL Parameters
    • Capture
  • 🛠️Developers
    • Numbers Blockchain
      • Testnet (Snow)
        • Testnet Launch PR
      • Mainnet (Jade)
      • Contract Overview
      • Commit Contract
        • How Commit Contract Works
        • assetTree File
        • On-chain Commit Logs
        • When Should You Use Commit Contract?
      • NFT Contract
    • Initial Asset Registration
    • Verify Engine API
      • Asset Search
      • NFT Search
      • Theft Detection
      • Support Status
    • Nit - Git for Media Files
      • Getting Started
      • Nit Bubble Plugin
    • Read Asset History
      • Read commits with Asset Profile
        • Embed social media into asset profile
      • Read commits via API
      • Read commits via nit module
      • Read commits via Bubble plugin
      • Get the merged AssetTree
    • Commit Asset History
      • Support Status
      • Commit via API
      • Commit via Nit module
      • Commit via Bubble plugin
    • More Tools
      • [NUM] Fetch NUM balance
      • [NUM] Transfer NUM from Custodial Wallet
      • [NUM] Check Staked Amount
      • [IPFS] Cat metadata from Nid/Cid
      • [IPFS] Create Metadata on IPFS
      • [IPFS] Check Nid/Cid on IPFS
      • [IPFS] Unpin Nid/Cid from IPFS
      • XMP parser
    • Working With Us
      • Job Opportunity
      • Reporting Security Vulnerability
Powered by GitBook
On this page
  1. Introduction
  2. Numbers Protocol
  3. Defining Web3 Assets
  4. AssetTree

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:

{
    "asset_mime_type": "image/png",
    "caption": "Beautiful sunset",
    "created_at": 1693309348713,
    "device_name": "iPhone13,3",
    "information": {
        "device.app_build": "850",
        "device.app_id": "io.numbersprotocol.capturepro",
        "device.app_name": "CapturePro",
        "device.app_version": "1.25.3",
        "device.battery_level": 0.599999993827392,
        "device.device_name": "iPhone13,3",
        "device.disk_free": 219000034311,
        "device.disk_total": 511762931712,
        "device.is_charging": true,
        "device.is_virtual": false,
        "device.manufacturer": "Apple",
        "device.mem_used": 58761233,
        "device.operating_system": "iOS",
        "device.os_version": "16.1",
        "device.platform": "iOS",
        "device.user_device_name": "iPhone",
        "device.uuid": "1A2B3C4D-56EF-78AB-90CD-1234E5F6A7B8",
        "geolocation.geolocation_latitude": 34.052235,
        "geolocation.geolocation_longitude": -118.243683
    },
    "location_latitude": 34.052235,
    "location_longitude": -118.243683,
    "proof_hash": "5c1234ef67g8h901i2j3k4l56m7890nop1q2r3s4t5u6v7w8x9y0zab1c2d3e4f5",
    "recorder": "CapturePro",
    "spec_version": "2.1.0"
}
PreviousAssetTreeNextdigitalSourceType

Last updated 1 year ago

📓