The OMI spec is under heavy development, and every piece of it is subject to change. We are documenting the core primitives for sovereign application lifecycles. Join us in defining the v1.0 draft.

Application Registration

Objective

Declaring a new app within the developer’s namespace and generating its globally unique identifier.

App Registry is “Zero-Knowledge”. It only knows Public Keys and Endpoints. It cannot see user’s or database content.

Prerequisites

The Protocol Workflow

  1. Manifest Creation: The developer creates an app manifest defining the project:

    provisional payload
    {
      "version": "1.0",
      "data": {
        "owner_namespace": "alice",
        "project_slug": "business_app",
        "display_name": "Business App",
        "description": "A decentralized business app",
        "timestamp": 1705412400,
      },
      "signature": "a28ce01ec0f851...",
      "public_key_hint": "key_id_8812"
    }
  2. Signing: The developer signs the manifest data with their Master Private Key. The signature is set as a part of the payload in the signature field.

  3. Submission: The payload is sent to the App Registry.

  4. Cryptographic Validation: The App Registry looks up the Master Public Key for alice (stored in Developer Identity & Namespace Registration) and verifies the signature. This proves the request came from the real namespace owner.

  5. RDAID Generation: If valid, the registry generates the Reverse Domain AppID (RDAID): org.omiappreg.alice.business_app.7f8a9d

    Reversed App Registry domainNamespaceProject SlugUnique Hash
    org.omiappregalicebusiness_app7f8a9d
  6. Outcome: The App Registry now acts as the “Source of Truth” for this ID, but has zero services attached to it yet.