Skip to content

Jkt/auto/privacy configuration feature flags ca2a#4511

Draft
jonathanKingston wants to merge 10 commits intomainfrom
jkt/auto/privacy-configuration-feature-flags-ca2a
Draft

Jkt/auto/privacy configuration feature flags ca2a#4511
jonathanKingston wants to merge 10 commits intomainfrom
jkt/auto/privacy-configuration-feature-flags-ca2a

Conversation

@jonathanKingston
Copy link
Collaborator

@jonathanKingston jonathanKingston commented Feb 12, 2026

Asana Task/Github Issue: https://app.asana.com/1/137249556945/task/1213208231266845

Description

Feature change process:

  • I have added a schema to validate this feature change.
  • I have tested this change locally in all supported browsers.
  • This code for the config change is ready to merge.
  • This feature was covered by a tech design.

Site breakage mitigation process:

Brief explanation

  • Reported URL:
  • Problems experienced:
  • Platforms affected:
    • iOS
    • Android
    • Windows
    • MacOS
    • Extensions
  • Tracker(s) being unblocked:
  • Feature being disabled/modified:
  • This change is a speculative mitigation to fix reported breakage.

Note

Low Risk
Documentation-only changes with no impact on runtime behavior or configuration generation.

Overview
Adds a new docs/feature-flagging-guide.md explaining how privacy remote configuration feature states/sub-features map to client-side feature flags across Apple, Android, Windows, extensions, and content-scope scripts, including guidance on defaults and recommending sub-features for rollouts/targets/cohorts.

Updates docs/config-maintainer-documentation.md and docs/feature-implementer-documentation.md to link to this new guide in their reference sections.

Written by Cursor Bugbot for commit 79a3dde. This will update automatically on new commits. Configure here.

…clients

Covers:
- How remote config controls features (state, sub-features, rollouts, targets)
- Why defaulting to false is the recommended practice
- Per-client patterns: Apple (FeatureFlag enum), Android (@ContributesRemoteFeature),
  Windows (Feature/SubFeature enums), Extension, and C-S-S
- Links to client-specific file locations and existing documentation
- Cross-linked from existing config maintainer and feature implementer docs
- ST1: Split properties table into parent vs sub-feature; clarify that
  rollout/targets/cohorts are sub-feature-only; link to v6 config parity
  Asana task
- ST2: Rewrite default value section as neutral 'Choosing a Default Value'
  with equal treatment of opt-in (false) and failsafe (true) patterns;
  link to Apple 'Using failsafe feature flags' doc
- ST3: Expand Apple section with examples of all four properties
  (defaultValue, source, supportsLocalOverriding); remove 'matches the
  screenshot' note
- ST4: Add strong warning against .remoteReleasable(.feature(...)) with
  explanation of why sub-features should be preferred (rollout/target/
  cohort support, past incidents)
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
@github-actions
Copy link

👋 Don't forget to add an individual reviewer (in addition to those auto-added), as this will create a task for them in Asana.

👉 Please mark this as DRAFT unless there's an intention to merge this immediately.
👉 Click "Merge when ready" if you're happy for this to be automatically merged once reviewed. (If not available, ensure you've signed in to DuckDuckGo oauth.)
👉 Don't forget to add schema changes to validate if you're adding/changing a feature.

@github-actions
Copy link

github-actions bot commented Feb 12, 2026

Generated file outputs:

Time updated: Thu, 12 Feb 2026 12:58:30 GMT

legacy
29 files identical
  • trackers-unprotected-temporary.txt
  • v3/android-config.json
  • v3/extension-brave-config.json
  • v3/extension-bravemv3-config.json
  • v3/extension-chrome-config.json
  • v3/extension-chromemv3-config.json
  • v3/extension-config.json
  • v3/extension-edg-config.json
  • v3/extension-edge-config.json
  • v3/extension-edgmv3-config.json
  • v3/extension-firefox-config.json
  • v3/extension-safarimv3-config.json
  • v3/ios-config.json
  • v3/macos-config.json
  • v3/windows-config.json
  • v4/android-config.json
  • v4/extension-brave-config.json
  • v4/extension-bravemv3-config.json
  • v4/extension-chrome-config.json
  • v4/extension-chromemv3-config.json
  • v4/extension-config.json
  • v4/extension-edg-config.json
  • v4/extension-edge-config.json
  • v4/extension-edgmv3-config.json
  • v4/extension-firefox-config.json
  • v4/extension-safarimv3-config.json
  • v4/ios-config.json
  • v4/macos-config.json
  • v4/windows-config.json

⚠️ File is identical

latest
14 files identical
  • v5/android-config.json
  • v5/extension-brave-config.json
  • v5/extension-bravemv3-config.json
  • v5/extension-chrome-config.json
  • v5/extension-chromemv3-config.json
  • v5/extension-config.json
  • v5/extension-edg-config.json
  • v5/extension-edge-config.json
  • v5/extension-edgmv3-config.json
  • v5/extension-firefox-config.json
  • v5/extension-safarimv3-config.json
  • v5/ios-config.json
  • v5/macos-config.json
  • v5/windows-config.json

⚠️ File is identical

@github-actions
Copy link

github-actions bot commented Feb 12, 2026

JSON approval analysis:

Time updated: Thu, 12 Feb 2026 13:08:42 GMT

latest

🎯 OVERALL APPROVAL STATUS

✅ AUTO-APPROVED

Move detailed Swift code examples and warnings into a dedicated
feature-flag-guide.md in the apple-browsers repo. This doc now
links to it via GitHub URL so the repos remain independent.
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
Remove all client-side code examples and platform-specific terminology.
Replace with a clean link table pointing to each client's own feature
flag documentation. The guide now focuses purely on the remote config
side: feature/sub-feature properties, choosing defaults, and best
practices.
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
… table

- Extension doesn't have a local flag enum; reword overview accordingly
- Parent features do support minSupportedVersion; add to properties table
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
…verbosity

Add warning about changing defaults on shipped features without
minSupportedVersion. Remove text that restates config format (link to
Implementation Guidelines instead). Use relative paths to features/
and overrides/. Move footguns to dedicated section.
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
github-actions bot pushed a commit that referenced this pull request Feb 12, 2026
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