{"version":"2.1.219","anchor":"telemetry-values-routed-through-explicit-sanitiser-wrappers","canonical_anchor":"telemetry-values-routed-through-explicit-sanitiser-wrappers","heading":"Telemetry values routed through explicit sanitiser wrappers","tier":"internal","area":"Telemetry","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219\/e\/telemetry-values-routed-through-explicit-sanitiser-wrappers","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219","markdown":"### Telemetry values routed through explicit sanitiser wrappers\n\nTelemetry values now pass through marker helpers that declare them safe; nothing sent actually changed.\n\n**What**\n\nSeveral telemetry values are now tagged at the call site with marker helpers that declare them safe to emit, with no change to what is actually sent.\n\n**Details**\n\n- Three new identity-function helpers: one for nullable values coerced to string, one for joining an array, and one that validates each array element against the ID pattern `^[A-Za-z0-9_-]{1,128}$` before joining.\n- The plugin telemetry id now passes through one of these wrappers. That id is still a sha256 of `plugin@version` salted with a fixed string and truncated to 16 hex characters.\n- The hashing is unchanged and the wrappers return their input unmodified, so there is no runtime behaviour change in this build.\n\n**Evidence**\n\n`claude-plugin-telemetry-v1`\n\n- Area: Telemetry\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 0\/5"}