Skip to content

fix: Redact anonymous context attributes in server-side custom events#583

Merged
keelerm84 merged 1 commit into
mainfrom
mk/SDK-2747/fix-custom-events
Jul 23, 2026
Merged

fix: Redact anonymous context attributes in server-side custom events#583
keelerm84 merged 1 commit into
mainfrom
mk/SDK-2747/fix-custom-events

Conversation

@keelerm84

@keelerm84 keelerm84 commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary

The C++ event processor emitted custom (track) events using the non-redacting context filter, so anonymous contexts were sent with all attributes intact. Server-side SDKs now redact all attributes of anonymous contexts in custom events (matching feature-event behavior); client-side SDKs continue to send them unredacted (they redact anonymous attributes only in feature events).

  • Gated the custom-event context filter on the SDK template type in AsioEventProcessor<SDK>::Process: FilterWithAnonymousRedaction for the server SDK, Filter for the client SDK.
  • Mirrors the redactAnonymousAllEvents split in java-core / dotnet-core.
  • Verified against the sdk-test-harness v3 custom-event tests: server redacts, client does not.

Note

Medium Risk
Changes what PII/context data leaves server-side custom events (privacy fix), but scope is limited to one code path and mirrors existing feature-event filtering.

Overview
Server-side custom (track) events now run context through FilterWithAnonymousRedaction before emission, so anonymous contexts no longer ship with full attributes in those payloads. Client SDK track events still use the standard Filter path, unchanged.

The branch is chosen in AsioEventProcessor<SDK>::Process from the SDK template type, aligning track events with how full feature events already redact anonymous context on the server and with redactAnonymousAllEvents behavior in other SDKs.

Reviewed by Cursor Bugbot for commit da0f065. Bugbot is set up for automated code reviews on this repo. Configure here.

@keelerm84
keelerm84 requested a review from a team as a code owner July 23, 2026 14:45
@keelerm84 keelerm84 changed the title Redact anonymous context attributes in server-side custom events fix: Redact anonymous context attributes in server-side custom events Jul 23, 2026
@keelerm84
keelerm84 merged commit 55f7eaf into main Jul 23, 2026
49 of 52 checks passed
@keelerm84
keelerm84 deleted the mk/SDK-2747/fix-custom-events branch July 23, 2026 17:29
@github-actions github-actions Bot mentioned this pull request Jul 23, 2026
beekld pushed a commit that referenced this pull request Jul 24, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-cpp-client: 3.11.3</summary>

##
[3.11.3](launchdarkly-cpp-client-v3.11.2...launchdarkly-cpp-client-v3.11.3)
(2026-07-24)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/cpp-internal bumped from 0.14.0 to 0.14.1
</details>

<details><summary>launchdarkly-cpp-internal: 0.14.1</summary>

##
[0.14.1](launchdarkly-cpp-internal-v0.14.0...launchdarkly-cpp-internal-v0.14.1)
(2026-07-24)


### Bug Fixes

* Redact anonymous context attributes in server-side custom events
([#583](#583))
([55f7eaf](55f7eaf))
</details>

<details><summary>launchdarkly-cpp-server: 3.13.0</summary>

##
[3.13.0](launchdarkly-cpp-server-v3.12.0...launchdarkly-cpp-server-v3.13.0)
(2026-07-24)


### Features

* Add C bindings for Big Segments
([#573](#573))
([948878e](948878e))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/cpp-internal bumped from 0.14.0 to 0.14.1
</details>

<details><summary>launchdarkly-cpp-server-dynamodb-source:
0.3.0</summary>

##
[0.3.0](launchdarkly-cpp-server-dynamodb-source-v0.2.1...launchdarkly-cpp-server-dynamodb-source-v0.3.0)
(2026-07-24)


### Features

* Add C bindings for DynamoDB Big Segments store
([#579](#579))
([fc6c075](fc6c075))
* Add C bindings for DynamoDB LazyLoad source
([#576](#576))
([65efc69](65efc69))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/cpp-server bumped from 3.12.0 to 3.13.0
</details>

<details><summary>launchdarkly-cpp-server-otel: 0.1.4</summary>

##
[0.1.4](launchdarkly-cpp-server-otel-v0.1.3...launchdarkly-cpp-server-otel-v0.1.4)
(2026-07-24)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/cpp-server bumped from 3.12.0 to 3.13.0
</details>

<details><summary>launchdarkly-cpp-server-redis-source: 2.4.0</summary>

##
[2.4.0](launchdarkly-cpp-server-redis-source-v2.3.1...launchdarkly-cpp-server-redis-source-v2.4.0)
(2026-07-24)


### Features

* Add C bindings for DynamoDB Big Segments store
([#579](#579))
([fc6c075](fc6c075))
* Add C bindings for DynamoDB LazyLoad source
([#576](#576))
([65efc69](65efc69))
* Add C bindings for Redis Big Segments store
([#574](#574))
([52a1898](52a1898))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/cpp-server bumped from 3.12.0 to 3.13.0
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Mechanical release-only edits; the notable behavioral change
(custom-event redaction) ships via internal 0.14.1 but is not modified
in this PR’s diff.
> 
> **Overview**
> Release Please **version bump** across the C++ monorepo: updates
`.release-please-manifest.json`, `package.json` workspace deps, CMake
`VERSION`, embedded `kVersion` strings, version tests, and **CHANGELOG**
entries for the packages being published.
> 
> **Server SDK 3.13.0** documents **C bindings for Big Segments**
([#573]). **Internal 0.14.1** documents a **privacy fix** that **redacts
anonymous context attributes in server-side custom events** ([#583]).
**DynamoDB source 0.3.0** and **Redis source 2.4.0** document new **C
bindings** for Big Segments stores and DynamoDB LazyLoad; **client
3.11.3** and **otel 0.1.4** are dependency-aligned releases on
**internal 0.14.1** / **server 3.13.0**.
> 
> There is **no application logic in this diff**—only release metadata
reflecting changes already on `main`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
05b4327. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants