跳转到内容

ak.profile.push_gateway.blind_wakeup.v1

← Profiles

ak.profile.push_gateway.blind_wakeup.v1

role

"gateway"

description

"Default push gateway privacy baseline. Every implementation claiming ak.profile.push_gateway.v1 MUST also claim this profile. Provider-facing payloads MUST NOT carry stable identifying fields (principal DID, sender DID, Realm id / name / avatar, Strand id / name, Message id, event id, device verification-method DID URL, reaction value, or any cross-Realm stable correlation key). Payloads MUST be restricted to per-(recipient_id, principal, device, push_route) pairwise pseudonym push_target_id + closed-enum wakeup hint fields (wakeup_kind, badge_count, unread_increment, l10n_key). See zh/discovery/push-notifications.md §2.2 / §4.5 / §5.1 and zh/crypto-media/device-lifecycle.md §5.6."

enforcement_phases

[
  "conformance",
  "startup_claim_guard"
]

operation_requirements

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

required_event_kinds

[]

rejected_event_kinds

[]

required_schemas

[
  "ak.schema.notification.v1"
]

required_fixtures

[
  "privacy-security-fixture.json",
  "push-rule-core-fixture.json"
]

optional_extensions

[]

feature_discovery

{
  "required": [
    "blind_wakeup_payload_schema",
    "push_target_id_scope",
    "wakeup_kind_enum"
  ],
  "unsupported_optional": "MUST fail closed; gateways unable to enforce blind wakeup MUST NOT claim ak.profile.push_gateway.v1"
}

additional_requirements

{
  "stable_identifier_ban_must": "Provider payload MUST NOT contain principal DID, sender DID / handle, Realm id / name, Strand id / name, Message id, event id, device verification-method DID URL, reaction emoji, attachment filename, IP, geolocation, or any cross-Realm stable correlation key.",
  "pseudonym_scope_must": "push_target_id MUST be a pairwise pseudonym scoped to (recipient_id, principal, device, push_route); MUST NOT be reusable across Station contexts.",
  "default_claim_must": "Any implementation claiming ak.profile.push_gateway.v1 MUST also claim this profile and MUST NOT advertise downgrade switches that disable blind wakeup."
}

Source