跳转到内容

ak.profile.push_gateway.matrix_passthrough.v1

← Profiles

ak.profile.push_gateway.matrix_passthrough.v1

role

"interop"

description

"Interop compatibility profile for Matrix push gateway passthrough. Implementations claiming this profile MAY accept Matrix-shaped push gateway payloads as an external interop bridge to Matrix push gateways but MUST NOT mix this profile with ak.profile.push_gateway.blind_wakeup.v1 on the same notify path: the Matrix push gateway shape carries identifying fields incompatible with the default Arkret privacy baseline. Bridges MUST partition traffic so that any peer or device negotiated under ak.profile.push_gateway.blind_wakeup.v1 (i.e. the default v1 baseline) NEVER receives a matrix_passthrough payload. See zh/discovery/push-notifications.md §5.1 and zh/conformance/conformance-profiles.md §11."

enforcement_phases

[
  "conformance",
  "peer_eligibility"
]

operation_requirements

[
  {
    "direction": "provide",
    "operation_id": "ak.edge.push.command.notify.v1",
    "binding_kind": "http_json"
  }
]

inherits

[]

required_event_kinds

[]

rejected_event_kinds

[]

required_schemas

[
  "ak.schema.notification.v1"
]

required_fixtures

[
  "privacy-security-fixture.json"
]

optional_extensions

[
  "matrix_push_gateway_passthrough"
]

incompatible_with

[
  "ak.profile.push_gateway.blind_wakeup.v1"
]

feature_discovery

{
  "required": [
    "matrix_passthrough_partition_policy",
    "matrix_provider_directory"
  ],
  "unsupported_optional": "omit profile claim; bridges that cannot partition traffic MUST NOT claim this profile"
}

additional_requirements

{
  "partition_must": "Bridges MUST partition push traffic so that Arkret v1 default-baseline peers (ak.profile.push_gateway.blind_wakeup.v1) NEVER receive matrix_passthrough-shaped payloads.",
  "no_default_mixing_must": "Implementations MUST NOT advertise both ak.profile.push_gateway.blind_wakeup.v1 and ak.profile.push_gateway.matrix_passthrough.v1 as applying to the same (recipient_id, device) tuple.",
  "interop_only_must": "This profile is interop-only; it MUST NOT be used as a substitute for ak.profile.push_gateway.blind_wakeup.v1 in default Arkret deployments."
}

Source