Skip to content

[sec-bus] egress: local-provider endpoint classification and data-class mapping for privacy checks #11

Closed

Description

@senamakel

Parent: tinyhumansai/openhuman#8369

Change

  • A "local provider endpoint" classification for LocalOnly (replaces host util/url.rs::host_is_local, which misses mapped/ULA/link-local addresses). Decide once whether RFC1918/LAN hosts count as on-device (epic note N7).
  • Map host EgressDescriptor (DataKind::Metadata, control-plane flag) onto PrivacyDataClass2 without loss.
  • Document the Sensitive behaviour change: upstream denies unassessed external user content; the host allows it today (epic note N5).

Rows (from the tinyhumansai/openhuman#8369 audit)

Paths are relative to crates/openhuman-core/src/ in tinyhumansai/openhuman at main ae18f8b769.

File Lines Verdict Target Reason
util/url.rs 127 KEEP — URL helpers stay; host_is_local -> tinysecurity-egress (PrivacyCheck2). (branch: migrated)
security/egress/enforce.rs 149 REIMPLEMENT tinysecurity-egress privacy_check.rs::privacy_verdict (PrivacyCheck2) local_only_blocks is a strict subset. Gaps E1 (upstream Sensitive denies unassessed external UserContent; host allows — behaviour change), E2 (Metadata/ControlPlane class mapping). (branch: migrated)

Blocked by

None.

Definition of done

  • The capability above is merged to the canonical repository's main with tests, and (for a release leaf) published with a checksum.toml.
  • The repository's own CI is green on Linux, macOS and Windows.
  • OpenHuman's matching host rows can be deleted against this release (tracked by the adoption leaf).

Agent brief

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions