PostHog / PostHog/posthog-flutter

Session replay: apply remote (server-side) masking config

Open
#492 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Session Replay
Dominant language
Dart
Stars
97
Forks
85
Avg merge
1d 8h
Merged PRs (30d)
31

Description

Part of the replay parity tracker PostHog/posthog#30889.

Problem

Flutter replay masking is computed entirely from local Dart config. PostHogSessionReplayConfig.toMap() forwards only sampleRate to native (posthog_config.dart:597), and masking is applied Dart-side from local config in the screenshot pipeline, so a server-delivered masking payload has no path into Flutter's masking. Only sampleRate is remote-aware today.

Scope

  • Plumb remote-config masking into the Dart screenshot masking pipeline.

Reference: posthog-js applies server-side masking in packages/browser/src/extensions/replay/external/lazy-loaded-session-recorder.ts (this._remoteConfig?.masking).

Parity across SDKs

  • Android: PostHog/posthog-android#639
  • iOS: PostHog/posthog-ios#725
  • React Native: PostHog/posthog-js#4184
  • Flutter: PostHog/posthog-flutter#492 (this issue)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with posthog_config.dart:597 to trace how session replay configuration reaches native, then follow the Dart screenshot masking pipeline. Compare the intended remote masking behavior with packages/browser/src/extensions/replay/external/lazy-loaded-session-recorder.ts and verify that a server-delivered masking payload affects Flutter screenshots while sampleRate continues to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
mobile
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.