{
  "version": 1,
  "construction": "lower_hex(first_16_bytes(HMAC-SHA256(salt, ascii('petra-opaque-v1\\0') || u16be(domain_utf8_len) || utf8(domain) || u32be(identifier_utf8_len) || utf8(identifier))))",
  "registry_rule": "registered_domains is unique and exhaustive; domain and identifier are byte-length framed",
  "registered_domains": [
    "ack-source",
    "audience-deployment",
    "auth-principal",
    "channel-id",
    "channel-member-principal",
    "chat-channel",
    "chat-message",
    "command-id",
    "command-target",
    "drawing-id",
    "heartbeat-principal",
    "invite-channel",
    "invite-invitee",
    "key-rotation-id",
    "operation-id",
    "position-principal",
    "record-orbat-unit",
    "record-plan-id",
    "record-plan-unit",
    "record-report-id",
    "record-report-unit",
    "record-requirement-id",
    "record-requirement-unit",
    "router-principal",
    "snapshot-audience",
    "snapshot-scope",
    "target-id",
    "voice-channel",
    "voice-principal",
    "voice-session"
  ],
  "salt_hex": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
  "derive": [
    {
      "name": "invitee under the clean 1.0 derivation",
      "domain": "invite-invitee",
      "identifier": "PRINCIPAL-00000000-1111-2222-3333-444444444444",
      "expected_segment": "678f159bf795fe3fc5e8b8f7b92c42b6"
    },
    {
      "name": "same principal is unlinkable on the position plane",
      "domain": "position-principal",
      "identifier": "PRINCIPAL-00000000-1111-2222-3333-444444444444",
      "expected_segment": "cce9c6b0460f9c0b8e6e7aef7870398c"
    },
    {
      "name": "chat channel",
      "domain": "chat-channel",
      "identifier": "CHANNEL-ALPHA",
      "expected_segment": "f51c989b4ebd9259e52dfc94257d9e1c"
    },
    {
      "name": "plan unit",
      "domain": "record-plan-unit",
      "identifier": "UNIT-1",
      "expected_segment": "cd4b861b6108983f93511044e4dc1753"
    },
    {
      "name": "command target",
      "domain": "command-target",
      "identifier": "NODE-7",
      "expected_segment": "f3781d619302ede78b058c02280f9af6"
    },
    {
      "name": "deployment audience identifier",
      "domain": "audience-deployment",
      "identifier": "550e8400-e29b-41d4-a716-446655440000",
      "expected_segment": "668bd5e0d8f785d1b2416426d15b055b"
    },
    {
      "name": "audience principal member",
      "domain": "auth-principal",
      "identifier": "PRINCIPAL-00000000-1111-2222-3333-444444444444",
      "expected_segment": "994f96d503d3847dc66cf4aeda19404d"
    },
    {
      "name": "audience unit member",
      "domain": "record-orbat-unit",
      "identifier": "UNIT-1",
      "expected_segment": "4822fab2cc461e53142f9f53a814fe72"
    },
    {
      "name": "audience channel member",
      "domain": "channel-id",
      "identifier": "CHANNEL-ALPHA",
      "expected_segment": "a6a13528873d7d356a54c785d6f07cf1"
    },
    {
      "name": "operation scope identifier",
      "domain": "operation-id",
      "identifier": "OP-ALPHA",
      "expected_segment": "ff2beeab88966202ec4e0b903cfd0992"
    },
    {
      "name": "snapshot scope",
      "domain": "snapshot-scope",
      "identifier": "operation:ff2beeab88966202ec4e0b903cfd0992",
      "expected_segment": "8d31e1d174b30d069598dae0c8ee242f"
    },
    {
      "name": "snapshot audience",
      "domain": "snapshot-audience",
      "identifier": "3afd014610e86673811e901c2eedad9997e4ce61adae0032913619c1681d2154",
      "expected_segment": "e73ef65f67762509143408282dd11a55"
    }
  ],
  "reject": [
    { "name": "empty identifier", "domain": "chat-channel", "identifier": "" },
    { "name": "unregistered domain", "domain": "channel", "identifier": "CHANNEL-ALPHA" },
    { "name": "short salt", "salt_hex": "000102030405060708090a0b0c0d0e0f", "domain": "chat-channel", "identifier": "CHANNEL-ALPHA" },
    { "name": "uppercase wire output", "segment": "F51C989B4EBD9259E52DFC94257D9E1C" },
    { "name": "wrong wire length", "segment": "f51c989b4ebd9259e52dfc94257d9e" },
    { "name": "legacy unframed invite output", "segment": "3e02ad773889ddf384dea85d226ac45e" }
  ]
}
